Static Code Analysis
Audit GitHub Actions security patterns offline
zizmor-audit is an offline security auditor for GitHub Actions workflows and composite actions.
overview
What zizmor-audit does
Audit GitHub Actions workflows and composite actions for security issues (template injection, dangerous triggers, excessive permissions, unpinned actions, credential persistence) with zizmor in offline mode. Native JSON findings; nothing runs.
Return native JSON findings with identifiers, descriptions, severity, confidence, persona and YAML locations. A repository with .github uses repository collection and its ignore/configuration files; a folder without .github reads top-level .yml and .yaml workflows.
The operation forces offline mode and clears GitHub token variables. API-dependent known-vulnerable and impostor-commit checks are skipped. Regular is the tested default persona; pedantic and auditor are exposed upstream modes, without a separate saved fixture here. Findings are successful data; collection or parse failures and no collected workflows fail.
Packaged version: 1.30.1. Upstream license: MIT.
source github.com/zizmorcore/zizmor/tree/99a054ed9283c90abdd2d5b9fb5101d27dde9783
use cases
Where zizmor-audit fits
Inspect pull-request triggers
Review dangerous-trigger findings in workflow YAML.
Find expression injection risks
Locate unsafe interpolation patterns reported by the auditor.
Review action pinning
Receive unpinned-uses findings with YAML locations.
reference
zizmor-audit inputs and flags
| Name | Type | Flag | Description |
|---|---|---|---|
| source | FOLDER | --source | Repository folder with .github (workflows and actions), or a folder of workflow .yml/.yaml files. A zizmor.yml config is respected. |
| persona | STRING | --persona | regular (default, fewest false positives), pedantic (adds code smells) or auditor (everything). |
Showing key inputs. zizmor-audit exposes 2 inputs in total.
example
Run zizmor-audit
/app/run.sh --source ./source ./outputguidance
Choosing zizmor-audit
Use zizmor-audit to review workflow security patterns such as dangerous triggers and template injection. actionlint checks workflow syntax and related mistakes. Neither an offline clean report nor a syntax pass proves that an action or workflow is safe.
faq
zizmor-audit questions
related
More Static Code Analysis tools
bandit
Python source in, JSON security findings out.
gitleaks
Detect hardcoded secrets in git repos and plain directories.
gosec
Go AST security scanner for credentials, crypto, and injection.
guarddog
A package coordinate in, indicator hits out.
malcontent-scan
A package coordinate in, behavior findings out.
osv-malicious
A package coordinate in, malware advisory rows out.
Run zizmor-audit yourself
The saved regular-persona verifier confirmed template-injection, dangerous-triggers and unpinned-uses at High severity, plus artipacked at Medium. The safe fixture file had no findings. These are verifier summaries, not a retained complete native array. The command shows the container entrypoint with example paths.
Facts on this page come from the live Trickest tool library.