Mission: Cut vuln noise to near-zero by proving which CVEs are actually callable from your app’s entry points, using open CLIs, reproducible SBOMs, and CI-first workflows.
pip install noisecutternoisecutter --helpdocker run --rm ghcr.io/noisecutter/noisecutter:latest --helpFast path (repo SBOM → audit → reach → SARIF → policy):
# Generate SBOM
noisecutter sbom --source . --out sbom.cdx.json
# Audit for vulnerabilities
noisecutter audit --sbom sbom.cdx.json --out vulns.json
# Check reachability (Go example)
noisecutter reach --lang go --entry ./examples/go-mod-sample/cmd/server \
--vulns vulns.json --out reach.json
# Generate SARIF report
noisecutter fuse --sbom sbom.cdx.json --vulns vulns.json --reach reach.json --out report.sarif
# Apply policy
noisecutter policy --sarif report.sarif --level high --fail-on reachableGo workflow:
- Go toolchain installed
govulncheckinstalled:go install golang.org/x/vuln/cmd/govulncheck@latest- In example module, run once:
cd examples/go-mod-sample && go mod tidy
Windows specifics:
- Ensure
syftis on PATH or setSYFT_EXE=C:\path\to\syft.exe - If you hit encoding issues, set
set PYTHONIOENCODING=utf-8andchcp 65001 - If the console shim misbehaves, prefer
python -m noisecutter
Deterministic outputs (golden-friendly):
- Set
NOISECUTTER_STRICT_REPRO=1and optionallySOURCE_DATE_EPOCH. - Pin tool versions (see
tool-versions.json).
cd examples/go-multi-entry
make all_artifacts # sbom -> audit -> reach(server,worker) -> fuse
# First time to capture goldens
make golden
# Later to verify
make verify-golden- Global flags:
--log-level,--repo,--strict-repro - Config file:
.noisecutter.yamlsupports sbom/audit/reach/fuse/policy, cache, concurrency, timeouts - Logging: env
NOISECUTTER_LOGGING_CONFIG,NOISECUTTER_LOG_FILE,NOISECUTTER_LOG_JSON
See ci/pr-fastpath.yml for a PR fast-path. Recommended steps:
- Generate SBOM with syft
- Audit with OSV
- Reachability with language-native tooling (e.g., govulncheck for Go)
- Fuse to SARIF and upload
- Enforce policy: fail only on reachable HIGH/CRITICAL
docs/QUICKSTART.md: step-by-step setupdocs/WHY_REACHABILITY.md: concepts and rationaledocs/THREAT_MODEL.md: risks and mitigationsdocs/EXCEPTION_PLAYBOOK.md: policy exceptionsdocs/TROUBLESHOOTING.md: syft/govulncheck and Windows tips
License: Apache-2.0