Project · Go · MIT
sarifix experimental
Turns any SARIF-emitting scanner into a verified fixer. Today it diffs, plans and reports findings, and tells Claude Code about the ones its changes introduced.
brew install rossedman/tap/sarifixsarifix reads SARIF from the scanners you already run (Trivy, Checkov, golangci-lint, Semgrep, gitleaks or your own) and works out what’s new, what’s fixed and what could be fixed. The goal is an agent that fixes findings in small single-rule batches and proves each fix by re-running the scanner and your tests. That part is still on the roadmap.
What works today:
- Any scanner, through config. Each one is an argv list in
sarifix.yaml, run without a shell. - Fingerprints that ignore line numbers, so
sarifix diffreports a finding that moved as unchanged. sarifix check --hookas a Claude Code Stop hook. Claude fixes the findings its own changes introduced before it finishes, and never sees the existing backlog.sarifix plangroups findings into single-rule batches and says why each skipped one was skipped.fix --mode reportwrites enriched SARIF and a JSON summary, with no edits.
The docs site has tutorials on real repositories and explains how fingerprints work.