Skip to content
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

Disabled build-test workflow #2208

Open
richardlau opened this issue Mar 16, 2025 · 4 comments
Open

Disabled build-test workflow #2208

richardlau opened this issue Mar 16, 2025 · 4 comments

Comments

@richardlau
Copy link
Member

FYI @nodejs/docker Out of caution, I've disabled the build-test workflow.

Late Friday night/early Saturday morning, we were informed that this repository had been identified as using actions that had been compromised: https://www.stepsecurity.io/blog/harden-runner-detection-tj-actions-changed-files-action-is-compromised:

uses: tj-actions/changed-files@v45

AFAICT the last time the workflow ran was before the action was compromised, so we've been lucky not to leak any secrets.

@nschonni
Copy link
Member

Thanks! Our actions are unpinned to reduced noise, but is your recommendation to go back and use the hashes for all/some of the actions going forward?

This was referenced Mar 17, 2025
@richardlau
Copy link
Member Author

My understanding is that OSSF and the @nodejs/security-wg recommend pinning hashes.

My own view is that I'm not entirely sure that would have avoided the compromise as usually sha pinning is done in conjunction with automation for update (e.g. dependabot, Rennovate, etc) and there were reports that some repositories took an update to the compromised hash (i.e. in theory each version update should be checked, but does anyone actually scour through the changes of each dependency from a dependabot PR?).

@richardlau
Copy link
Member Author

Although having thought about it more, I guess the argument is that pinning at least means another step (i.e. PR merge) before the behaviour is changed, and an easier roll-back if a compromise is discovered.

@nschonni
Copy link
Member

Yeah, I went ahead and opened PRs to pin them, and add the OSSF workflow to this repo. I think we had mostly hardened the workflows, and the workflow that uses that action doesn't actually load any secrets, it's good that you disabled it. I'll what till the other PRs land and the permissions stuff is also reviewed till re-enabling the job. Right now that workflow is just a smoke test for PRs anyway

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants