Stop triaging false positives.

CA9 analyzes your Python codebase to prove if vulnerable dependencies are actually imported and executed. Turn noisy SCA alerts into a handful of actionable fixes.

View on GitHub
$ pip install ca9
$ ca9 check snyk_report.json --repo .

CVE-2024-XXXX requests REACHABLE
↳ Imported directly and executed in 4 coverage files.

CVE-2023-YYYY urllib3 UNREACHABLE
↳ Affected submodule 'urllib3.connection' is never imported.

Result: 90% of flagged CVEs are unreachable — only 2 require action.

How CA9 filters the noise

1

Ingest Alerts

Parses vulnerability reports directly from Snyk, Dependabot, Trivy, pip-audit, or OSV.dev.

2

Check Evidence

Scans your Python AST for specific submodule imports and checks pytest coverage for runtime execution.

3

Actionable Output

Spits out clean JSON, CLI tables, or SARIF files ready for GitHub Advanced Security and CI pipelines.