Summary
Three of four workflow files use SHA-pinned actions, but two workflows still use @tag versions.
Details
The CI hardening work (CHANGELOG: "SHA pinning for third-party Actions") was applied inconsistently:
| Workflow |
Status |
.github/workflows/ci.yml |
✅ SHA-pinned (actions/checkout@v4, dtolnay/rust-toolchain@stable, Swatinem/rust-cache@v2) |
.github/workflows/publish.yml |
✅ SHA-pinned |
.github/workflows/diffguard.yml |
❌ Uses @tag versions |
.github/workflows/sarif-example.yml |
❌ Uses @tag versions |
diffguard.yml (lines 24, 29, 32, 56)
actions/checkout@v4
dtolnay/rust-toolchain@stable
Swatinem/rust-cache@v2
actions/upload-artifact@v4
sarif-example.yml (lines 92, 100, 107, 189, 203)
actions/checkout@v4 (line 92; also lines 273, 308 — both commented out)
dtolnay/rust-toolchain@stable (line 100)
Swatinem/rust-cache@v2 (line 107)
actions/upload-artifact@v4 (line 189)
actions/github-script@v7 (line 203)
Why this matters
Tag/shallow pins can be overwritten, enabling supply chain attacks. The CHANGELOG explicitly calls out "SHA pinning for third-party Actions" as a security hardening measure already shipped.
Recommendation
Update sarif-example.yml and diffguard.yml to use the same SHA-pinned versions as ci.yml and publish.yml. Use curl -sS https://api.github.com/repos/<owner>/<repo>/releases/latest | grep -E \"tag_name|browser_download_url\" to find current SHAs for each action.
Summary
Three of four workflow files use SHA-pinned actions, but two workflows still use
@tagversions.Details
The CI hardening work (CHANGELOG: "SHA pinning for third-party Actions") was applied inconsistently:
.github/workflows/ci.ymlactions/checkout@v4,dtolnay/rust-toolchain@stable,Swatinem/rust-cache@v2).github/workflows/publish.yml.github/workflows/diffguard.yml@tagversions.github/workflows/sarif-example.yml@tagversionsdiffguard.yml (lines 24, 29, 32, 56)
actions/checkout@v4dtolnay/rust-toolchain@stableSwatinem/rust-cache@v2actions/upload-artifact@v4sarif-example.yml (lines 92, 100, 107, 189, 203)
actions/checkout@v4(line 92; also lines 273, 308 — both commented out)dtolnay/rust-toolchain@stable(line 100)Swatinem/rust-cache@v2(line 107)actions/upload-artifact@v4(line 189)actions/github-script@v7(line 203)Why this matters
Tag/shallow pins can be overwritten, enabling supply chain attacks. The CHANGELOG explicitly calls out "SHA pinning for third-party Actions" as a security hardening measure already shipped.
Recommendation
Update
sarif-example.ymlanddiffguard.ymlto use the same SHA-pinned versions asci.ymlandpublish.yml. Usecurl -sS https://api.github.com/repos/<owner>/<repo>/releases/latest | grep -E \"tag_name|browser_download_url\"to find current SHAs for each action.