Lack of "lock file" for Github actions is making the ecosystem vulnerable to supply chain attacks #154112
Replies: 3 comments 5 replies
-
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
Beta Was this translation helpful? Give feedback.
-
|
Please provide lock file for actions. Also consider introducing mechanism that would automatically reject running workflow that contains unknown/unpinned action |
Beta Was this translation helpful? Give feedback.
-
|
Note that you actually can do full dependency constraints for Apache has a specific list of allowed shas, their basic docs are https://infra.apache.org/github-actions-policy.html + https://cwiki.apache.org/confluence/display/BUILDS/GitHub+Actions+Security (I don't have the time to search for the thing, but they basically have a way to add specific sha entries to the org-wide allow list and automatically remove older versions). |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Select Topic Area
Product Feedback
Body
It is terrible that Github actions do not support "lock file" mechanism for locking the chain of action dependencies. Any decent dependency managers support "lock file" mechanisms which eg avoids pulling new versions of dependencies which may contain malicious code (1 2 3). Github actions usually refer to other actions via version tags. This is fundamentally broken as git tags are mutable. Neither does the SHA pinnig really work because you have no guarantees that the dependency you are using is also using SHA pinning in its own dependencies! This means that using any external action opens a door to attacks. You have absolutely no guarantees that you are not pulling some newly introduced malicious code into your systems.
You are probably aware of the recent huge issue where every single version tag was changed to contain malware in the widely used tj-actions/changed-files. (ref1 / ref2) Neither does SHA pinning this action in your own dependencies work because it is most probably used already as a non pinned transient dependency (1)!
You really need to reconsider reopenning the issue: actions/runner#2195
Github really needs to step up with their security game on ensuring such supply chain attacks are no longer possible!
Beta Was this translation helpful? Give feedback.
All reactions