Repository navigation
ci: scope the existing zizmor annotation to workflow_run - #87
Merged
Merged
Conversation
netopsengineer
marked this pull request as ready for review
October 22, 2026 13:50
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.
Summary
Move the existing
dangerous-triggersannotation onto theworkflow_runkey. This is a two-line, comment-only compatibility repair for zizmor 1.31.0's more precise diagnostic location (zizmorcore/zizmor#2402). It unblocks the scanner update in #85 after this PR merges and that branch is refreshed.No workflow behavior, token permission, required check, approval rule, artifact handling, or exception policy changes. This preserves the existing exception rather than adding a new one, and the effective scope with 1.31.0 is narrower.
Verification
uv sync --locked: passed with Python 3.14.8.uv run prek run --all-files --show-diff-on-failure: all hooks passed.uv run pytest: 680 passed, 100% line and branch coverage.workflow_run; relocated annotation passes both.issue_commentalongsideworkflow_runis still a high finding under 1.31.0. Onlyworkflow_runis suppressed. Under 1.30.1, the prior map-wide span suppressed both.Security review and retained limitation
The privileged consumer continues to use the base workflow, exact triggering run ID, head SHA for tree/base/parent, canonical tracked-file/mode checks, and a non-force ref update. It does not check out or execute PR code. The producer's JSON is still untrusted data, and allowed-file contents are not proven to be mechanically derived. Existing source/test/doc files and some control files, including
.pre-commit-config.yaml, remain eligible for app-authored commits and subsequent automated approval. CONTRIBUTING.md already documents the arbitrary-content limitation. A successful scanner run is not a new safety certification of that architecture.Independent read-only review confirmed the compatibility/scope result and identified additional provenance/control-file hardening as separate work. This PR deliberately does not change that design or broaden its authorization.
Release impact
CI annotation only: no dependency, runtime, packaged source, build requirement, or distribution content is changed by this PR. No distribution is needed for this repair. All accumulated commit messages since v0.2.6 were inspected, including bodies and breaking-change markers; no release-requesting change was found. Pinned python-semantic-release 10.7.0, run read-only against exact candidate commit
9104f8ab98191347b435e2c4964ec5df262b72c5, reports0.2.6andNo release will be made, 0.2.6 has already been released!.Retain the existing one-approval requirement and all required checks. Do not bypass review to merge this repair.