This PR addresses security findings identified by zizmor static analysis in GitHub Actions workflows.
🛡️ What Was Changed and Why?
1. Pinned GitHub Actions to Full Commit SHAs (unpinned-uses)
What changed: Replaced mutable version tags (e.g., @v4, @v5, @v8, @v10) with immutable 40-character commit hashes for all external actions across workflows (actions/checkout, actions/setup-python, actions/stale, and actions/github-script), preserving version tags as comments.
Why: Version tags in Git are mutable and can be modified or compromised upstream. Pinning to an exact commit SHA guarantees that workflows execute verified, tamper-proof code and protects against supply-chain attacks.
2. Restricted Credential Persistence (artipacked)
What changed: Configured persist-credentials: false on actions/checkout across read-only workflow jobs (import.yml and mypy.yml).
Why: By default, actions/checkout writes runner GITHUB_TOKEN credentials to local disk (.git/config). Disabling credential persistence prevents token exfiltration or artifact poisoning if build scripts or downstream dependencies are compromised.
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
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.
Overview
This PR addresses security findings identified by zizmor static analysis in GitHub Actions workflows.
🛡️ What Was Changed and Why?
1. Pinned GitHub Actions to Full Commit SHAs (unpinned-uses)
2. Restricted Credential Persistence (artipacked)
3. Configured Least-Privilege Permissions (excessive-permissions)
📊 Modified Files Summary
📈 Zizmor Audit Results Comparison
✅ Verification & Safety