failshut

Docs

Install Usage Configuration Rule IDs FAQ

Install

Download a release binary (linux / darwin / windows, amd64 + arm64):

curl -sL https://github.com/Blackman99/failshut/releases/download/v0.1.1/failshut_0.1.1_linux_amd64.tar.gz | tar xz
./failshut version

Or with Go 1.24+:

go install github.com/Blackman99/failshut/cmd/failshut@latest

Usage

failshut                 # audit (default)
failshut audit           # same
failshut audit --json
failshut audit --project /path/to/repo
failshut audit --rule ask-vs-effective
failshut mcp             # read-only MCP stdio
failshut version

Exit 1 if any FAIL OPEN finding; 0 if all fail shut or nothing is configured.

Colors when stdout is a TTY. Disable with --no-color or NO_COLOR=1.

What gets scanned

Missing files are skipped. failshut never writes to your configs.

Rule IDs

FAQ

Does this block tools at runtime? No. v0.1 is a static auditor. Live canaries are on the roadmap (--canary returns “not in v0.1”).

Nothing configured — is that fail-open? No. Clear message, exit 0. You still need policies for policies to hold.

MCP? failshut mcp exposes read-only tools audit_report and list_findings. It never mutates configs.

False positives? Rules mirror public issue shapes. Open an issue with a redacted fixture if a sealed config flags.