You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore(ci): pin remaining GHA actions and Docker bases by SHA/digest (#933)
Closes the 9 mechanically-fixable Scorecard `PinnedDependenciesID`
alerts on this repo. Mutable tag references (`@v4`, `:tag`) become
immutable hash references; Dependabot will continue to bump the SHAs
as new versions ship.
GitHub Actions (7 alerts):
sync-models.yml
actions/checkout v4 → 34e1148... #599
actions/setup-python v5 → a26af69... #600
actions/cache v4 → 0057852... #601
peter-evans/create-pull-req. v7 → 22a9089... #602
discord-discussions.yml
actions/checkout v4 → 34e1148... #644
discord-issues.yml
actions/checkout v4 → 34e1148... #645
discord-pr.yml
actions/checkout v4 → 34e1148... #646
Docker base images (2 alerts):
docker/Dockerfile.engine
ubuntu:jammy-20240808
→ @sha256:adbb90115a21969d2fe6fa7f9af4253e16d45f8d4c1e930182610c4731962658 #561
docker/Dockerfile.mcp
python:3.12-slim
→ @sha256:9d3abd9fc11d06998ccdbdd93b4dd49b5ad7d67fcbbc11c016eb0eb2c2194891 #471
Both digests are the OCI image index (multi-platform manifest list),
so platform resolution still happens at build time. `jammy-20240808`
is already a date-pinned snapshot tag; `3.12-slim` is a floating
upstream tag and was pinned at the digest current as of 2026-05-20.
The remaining 6 `PinnedDependenciesID` alerts (#465, #466, #467, #468,
#472, #603) flag pip/npm install commands with already-exact version
pins (`twine==6.1.0`, `@vscode/vsce@3.7.1`, `ovsx@0.10.9`, etc.).
Scorecard wants `pip install --require-hashes` or lockfile-driven
installs for these; the ergonomics of doing that for one-shot
workflow installs (and for the `./client-python` local-path install
in Dockerfile.mcp, which can't be hash-pinned at all) outweigh the
incremental supply-chain hardening over an already-exact version
constraint. Those alerts are being dismissed separately with
"won't fix" + per-alert justification.
0 commit comments