Case 04: Supply Chain - Unpinned Actions

Case 04: Supply Chain - Unpinned Actions #

Target Files #

All 24 workflow files (72 findings)

Vulnerability Overview #

Using tag references (actions/checkout@v4) in GitHub Actions makes workflows vulnerable to supply chain attacks if the tag is redirected to a malicious commit. Pinning to a commit SHA (actions/checkout@b4ffde65f...) ensures an immutable reference.

Detection Example #

PRTargetWorkflow.yml:15:9: the action ref in 'uses' for step 'Check out code' should be a
full length commit SHA for immutability and security. [commit-sha]

Affected Actions #

ActionVersion UsedFile Count
actions/checkoutv3, v422
step-security/harden-runnerv212
elgohr/Publish-Docker-Github-Actionv58
actions/setup-nodev35
martinbeentjes/npm-get-version-actionv1.3.13
crazy-max/ghaction-github-statusv43
madhead/semver-utilslatest3
tj-actions/changed-filesv35, v403
JasonEtco/create-an-issuev21

Most Dangerous Case #

madhead/semver-utils@latest uses the latest tag, always pointing to the most recent release. This is the most dangerous pattern — if the maintainer’s account is compromised, the workflow is immediately affected.

Auto-Fix #

sisakulint can automatically convert tag references to commit SHAs using -fix on (requires GitHub API access; be aware of rate limits).

Verdict: DETECTED #