← all rules

iac/actions/gha-unpinned-action

Third-party action not pinned to a commit SHA

mediumGitHub Actionsiac-actions

What it detects

`uses: someone/action@main` (or @master / @v1) fetches whatever the maintainer's branch points at today. A compromised maintainer can replace the code without notice. Pin to a full 40-char commit SHA.

Remediation

Replace the tag/branch with the full SHA. Tools like `pinact` can automate this across a repo.

How it runs

Run against `.github/workflows/*.yml` files. Targets the published patterns behind real-world breaches (GhostAction, s1ngularity, tj-actions/changed-files).

Found a false positive or want this rule tuned? File an issue. You can also suppress per-repo via a .repoguardignore line.