-
-
Notifications
You must be signed in to change notification settings - Fork 6
feat: Add helper to pin GitHub Action digests #39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR enhances security for GitHub Actions by adding the helpers:pinGitHubActionDigests preset to the Renovate base configuration. This change will ensure that GitHub Actions are referenced by their specific commit digests in addition to version tags, providing protection against tag manipulation and supply chain attacks.
- Adds
helpers:pinGitHubActionDigestspreset to the Renovate extends array
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
🎗️ A generated PR: aladdin-add/eslint-css#8 |
lumirlumir
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Following the discussion in eslint/eslint#20310, it seems the preferred approach is to apply pinning actions only to third-party libraries:
Could we consider a balanced approach? Maybe we only enforce commit pins for third-party or less-trusted actions, while allowing tags for well-maintained official actions (like setup-node). This would reduce maintenance burden without compromising security where it matters most.
I'm also of the mind that this is excellent advice for third-party actions, but not necessary for GitHub-owned actions, where I'd prefer to know what version we're using.
But looking at the Renovate issue for the forked repository, it seems that all workflows under actions/ are being pinned to specific versions:
Could we limit updates to third-party libraries only? Personally, pinning all actions with the actions/ prefix feels overwhelming — what do you think?
I could update it if there were a simple way. But since Renovate supports it well without requiring manual hash updates, it doesn't seem that important anymore. 😄 |
If there's no easier way to exclude Actions with the However, I'm not entirely sure this is the approach the team wants to take, so another opinion would be helpful. @eslint/eslint-team |
|
FYI, I've found a simple way to exclude Actions with the The third approach suggested in this comment will work — I tested it in my forked repository: https://github.com/lumirlumir/fork-css/issues/7 1. Before using
|
|
Yeah, let's keep the first-party GitHub actions with version numbers and pin to commits for others. |
it's working great, thanks! @lumirlumir |
lumirlumir
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
Would like @nzakas to verify before merging.
|
I'm merging it now - nicholas may be on vacation and unavailable to review. |




Prerequisites checklist
What is the purpose of this pull request?
This pull request makes a minor update to the Renovate configuration by adding a helper to pin GitHub Action digests, which improves security and reliability for automated dependency updates.
helpers:pinGitHubActionDigestspreset to ensure that GitHub Actions are referenced by their specific digest, reducing the risk of supply chain attacks. (.github/renovate/base.json5)What changes did you make? (Give an overview)
refs: https://docs.renovatebot.com/presets-helpers/#helperspingithubactiondigeststosemver
Related Issues
eslint/eslint#20310
Is there anything you'd like reviewers to focus on?