Harden actions fork guard#271
Conversation
9ae965e to
e7ee6db
Compare
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
e7ee6db to
2de91ae
Compare
|
Scope heads-up: after the rebase this PR is 8 files, but 6 of them (+539 of 580 added lines, ~93%) come from commit The actual hardening change is just |
Signed-off-by: Mona LatifAghili <mlatifaghili@arsys.es>
2de91ae to
b755528
Compare
Close #266
Summary
e2erunner inbuild.yml, instead ofrelying on an incidental clone-token failure as the only backstop
action-gh-release,docker/login-action,actions/setup-node,actions/upload-artifact) to exact commit SHAs so a compromised upstream tag can't silently changewhat code runs in this pipeline
persist-credentials: falseon thee2ejob's checkout — no step in that job needs to pushback to the repo, so there's no reason to leave the token on disk
zizmoras a dedicated GitHub Actions security linter, running on any push/PR that touches.github/workflows/**and uploading results to the repo's Security tabWhy
Reviewing this repo's CI/CD setup surfaced a few gaps worth closing regardless of any specific
incident: the self-hosted e2e job was only incidentally unreachable from fork PRs, four actions were
pinned to mutable tags rather than fixed commits, and there was no automated security linting on
workflow changes going forward. This closes those gaps and documents what's left.
Test plan
actionlint .github/workflows/build.yml— no new errorse2ejob (self-hosted) as beforee2ejob shows as skipped, notaction_required-gatedzizmorworkflow runs successfully on this PR and reports results (check theActions tab / Security tab for this run)
build.yml's existing behavior (Docker build/push, release upload, Playwright reportupload) is unaffected — no functional changes, only pin format and added guard conditions