# security-sweep
**Claude Code skill: one-prompt vulnerability sweep across many projects, servers and container images — OSV-verified CVEs, KEV/EPSS, reachability, prioritized report**
[](https://github.com/baryonlabs/security-sweep/actions/workflows/ci.yml)
[](https://github.com/baryonlabs/security-sweep/releases)
[](LICENSE)


[Quick Start](#quick-start) · [How It Works](#how-it-works) · [Prioritization](#prioritization) · [Comparison](#how-is-this-different-from-other-security-tools) · [FAQ](#faq) · [한국어](#한국어)
**Website:** [baryonlabs.github.io/security-sweep](https://baryonlabs.github.io/security-sweep/)
```text
> /security-sweep:security-sweep ./work full scan
● Tools verified: osv-scanner ✓ trivy ✓ govulncheck ✗ (Go via grep estimation)
● Discovery: 6 projects (npm · PyPI · Hex · Go · Cargo + secrets sample)
● Scan → OSV validation → Reachability → Report
● Auto-determined: P0 1 · P1 11 · P2 9 · P3 2
● After code review: P0 0 · P1 6 · P2 15 · P3 2 (12 adjustments, reasons in triage.md)
- go-app GO-2021-0113 P0→P1 language.Parse argument is constant, unreachable from external input
- py-app pyyaml 5.3 P1→P2 safe_load only used, vulnerable full_load not used
- rust-app smallvec P1→P2 vulnerable function insert_many unused
● Suggested fix commands (not executed): npm audit fix · mix deps.update sweet_xml · cargo update -p smallvec …
```
<sub>The above is condensed results from actually running this against `test/fixtures` in a new Claude Code session. Real production machine results for 26 projects are in [examples folder](examples/dev-machine-2026-10-23).</sub>
**Scans with osv-scanner and trivy → validates all CVE/GHSA IDs against OSV API → enriches with CISA KEV·EPSS → determines actual code usage (reachability) → generates P0~P3 prioritized report.** Read-only by default, no installation required on servers.
## Why We Built This
Similar tools already exist. Each excels in different scopes:
- **secondsky's vulnerability-scanning skill** — dependency and code scanning procedures for single repositories