Background
Part of an org-wide audit of .github/workflows/*.yml and .github/actions/*/action.yml files for GitHub Actions referenced by a mutable tag instead of a full commit SHA. A tag (even a released version tag) can be repointed by the upstream maintainer, or an attacker who compromises their account, without warning; a commit SHA is immutable. This is GitHub's own recommended hardening practice for Actions.
Findings
Switch each uses: line below from tag pinning to SHA pinning, keeping the released version as a trailing comment so the version stays human-readable:
.github/workflows/geoipupdate.yml: uses: actions/checkout@v7.0.1 -> uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
.github/workflows/geoipupdate.yml: uses: actions/setup-dotnet@v6 -> uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
.github/workflows/geoipupdate.yml: uses: credfeto/action-dotnet-version-detect@v1.3.0 -> uses: credfeto/action-dotnet-version-detect@d572bbd7285038bda731c8a4f237b9b8e64a9954 # v1.3.0
.github/workflows/geoipupdate.yml: uses: stefanzweifel/git-auto-commit-action@v7 -> uses: stefanzweifel/git-auto-commit-action@4a55954c782fc1ea30b9056cd3e7a2b40ca8887d # v7
Background
Part of an org-wide audit of
.github/workflows/*.ymland.github/actions/*/action.ymlfiles for GitHub Actions referenced by a mutable tag instead of a full commit SHA. A tag (even a released version tag) can be repointed by the upstream maintainer, or an attacker who compromises their account, without warning; a commit SHA is immutable. This is GitHub's own recommended hardening practice for Actions.Findings
Switch each
uses:line below from tag pinning to SHA pinning, keeping the released version as a trailing comment so the version stays human-readable:.github/workflows/geoipupdate.yml:uses: actions/checkout@v7.0.1->uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1.github/workflows/geoipupdate.yml:uses: actions/setup-dotnet@v6->uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.github/workflows/geoipupdate.yml:uses: credfeto/action-dotnet-version-detect@v1.3.0->uses: credfeto/action-dotnet-version-detect@d572bbd7285038bda731c8a4f237b9b8e64a9954 # v1.3.0.github/workflows/geoipupdate.yml:uses: stefanzweifel/git-auto-commit-action@v7->uses: stefanzweifel/git-auto-commit-action@4a55954c782fc1ea30b9056cd3e7a2b40ca8887d # v7