Create zizmor.yml#377
Open
andife wants to merge 2 commits into
Open
Conversation
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
jakevdp
requested changes
May 19, 2026
Collaborator
|
Thanks – could you please squash the changes into a single commit? |
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.
What this PR does
This PR introduces zizmor, a static analysis tool for GitHub Actions workflows, and fixes the supply chain security issues it identifies across all existing workflow files.
New workflow:
zizmor.ymlAdds a CI job that runs zizmor on every push to
mainand on every pull request. zizmor audits.github/workflows/for common security misconfigurations including:@v4are mutable; they can be silently updated or hijacked. zizmor requires everyuses:reference to be pinned to an immutable SHA hash.run:steps without sanitization.Results are uploaded as SARIF to GitHub's Security tab so findings are surfaced directly alongside code review.
Why SHA pinning?
When a workflow references
actions/checkout@v4, GitHub resolves thev4tag at runtime. A compromised or mistakenly updated tag silently changes the code that executes in your CI environment — with access to secrets and the ability to modify build outputs. Pinning to a full 40-character commit SHA makes that reference immutable: the exact same code runs on every invocation, and any change to the referenced action is immediately visible in the diff.The comment (
# v4,# stable, etc.) preserved alongside each SHA makes it easy for humans to understand what version is pinned and for tools like Dependabot or zizmor to suggest upgrades.Ecosystem alignment
This change reflects a broader shift in the ML ecosystem toward supply chain security as a baseline. As ONNX and projects like ml_dtypes evolve their dependencies and infrastructure, securing the CI/CD pipeline—starting with immutable action pinning and least-privilege permissions—becomes essential for maintainers and users alike.