feat(pre-commit): add zizmor GitHub Actions security lint - #134
Merged
Conversation
added 2 commits
August 3, 2026 08:50
Adopts zizmor (Tier 3 follow-up to the 2026-04-29 GitHub Actions security audit, smartwatermelon/dev-env#19) as a local pre-commit hook. Scoped to .github/workflows/*.yml|yaml so it only runs when workflow files change. Follows the existing repo:local + language:system convention used by yamllint/markdownlint/luacheck in this config. Requires `brew install zizmor` once per machine. Claude-Session: https://claude.ai/code/session_01SsnvQEpWgMxcRocq8bBVSE
Closes #132. Fills the doc gap flagged by pre-push codebase review: zizmor was added to config.yaml but not documented in README.md's Configured Linters, Required System Tools, or troubleshooting sections, unlike every other system-tool hook. Claude-Session: https://claude.ai/code/session_01SsnvQEpWgMxcRocq8bBVSE
Merged
3 tasks
|
Documentation and pre-commit config addition for VERDICT: PASS |
|
Adds documentation and pre-commit configuration for Summary of changes:
Review: No blocking issues found. The hook is properly scoped to GitHub Actions workflows only, the configuration is correct for a VERDICT: PASS |
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
zizmoras arepo: localpre-commit hook, scoped to.github/workflows/*.yml/*.yamlviafiles: ^\.github/workflows/.*\.ya?ml$language: systemconvention used byyamllint/markdownlint/luacheckin this config — shells out to a Homebrew-installed binary rather than a hosted pre-commit-hooks repopre-commit/README.md(Configured Linters, Required System Tools, troubleshooting, references)This is the pre-commit integration path (path 1 of 3) proposed in smartwatermelon/dev-env#19, a Tier 3 follow-up to the 2026-04-29 GitHub Actions security audit. The companion documentation PR is smartwatermelon/dev-env#34.
Out of scope: CI-side enforcement (a reusable
zizmor.ymlinsmartwatermelon/github-workflows) is a separate, not-yet-started follow-up — not touched by this PR.Test plan
zizmorlocally viabrew install zizmorand confirmed the binary runs and produces findings against real workflow filespre-commit run --config <config> zizmoragainst a scratch repo containing a copied workflow file — hook fired, correctly reported findings, exited non-zerocode-reviewerandadversarial-reviewerpassed locally on both commits in this branch (see git hook output)Claude-Session: https://claude.ai/code/session_01SsnvQEpWgMxcRocq8bBVSE