Proposals for being able to pin setup-ruby action? #891
chadlwilson
started this conversation in
Ideas
Replies: 1 comment 4 replies
-
|
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
The current recommendation for setup-ruby is to use a mutable tag, since new ruby versions (even patch releases) are only available via a code change.
Two GitHub actions breaches in the space of a month have brought renewed attention to the additional risks of (some) unpinned actions. https://socket.dev/blog/trivy-under-attack-again-github-actions-compromise (TL:DR trivy itself was compromised allowing a writeable GITHUB_TOKEN to be stolen, later breach allowed malicious corrupt trivy-action mutable tags to be published that stole secrets from every actions run of users pointing to a mutable tag - investigations still under way though)
The challenge (and risk associated with) this setup-ruby action appears to stem from conflating data (available binaries for install) with code (how to setup a given ruby).
Have maintainers given any thought to ways to decouple this which would still be maintainable, sufficiently automated to reduce maintenance burden - but mitigate some of these challenges in a way that'd allow pinning the action while still having new rubies become available?
If not, would you be open to proposals to do so, if something is possible without being security theatre? (I am not familiar with the source, but interested to explore if maintainers are open to ideas to address, even if it results in no change and perhaps just some documentation of ways for users to mitigate risk or even why this action may be less vulnerable than others).
Beta Was this translation helpful? Give feedback.
All reactions