chore(ci): pin every action to a commit SHA - #4
Merged
Merged
Conversation
… permissions floor A tag is a moving pointer. Anyone who can move it - the action author, or anyone who compromises their account - runs code in this workflow with whatever the job has in scope. A commit SHA cannot be moved. Every uses: in this repo now pins a SHA with the tag kept as a trailing comment, which is the form Dependabot reads, so updates still arrive as pull requests rather than silently. Where a workflow had no top-level permissions: block it now declares contents: read. Jobs that need more still declare their own and override it. The org default is already read, but a default is a setting somebody can widen and a written floor is not.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mechanical hardening, no behaviour change.
Every
uses:is pinned to a commit SHA, with the tag kept as a trailing comment. A tag is a moving pointer: whoever can move it - the action author, or anyone who compromises their account - runs code in this workflow with whatever the job has in scope. A SHA cannot be moved. The trailing comment is the form Dependabot reads, so updates still arrive as pull requests rather than silently.Any workflow without a top-level
permissions:block now declarescontents: read. Jobs needing more still declare their own and override it. The org default is alreadyread, but a default is a setting somebody can widen and a written floor is not.Part of an estate-wide pass across all
dbhq-ukrepos on 16 Sep 2026. All 47 workflows were re-parsed as YAML after the change.