Vulnerability governance
that runs on your machine.
Prioritize Nessus findings using CISA KEV, EPSS, and CVSS. Track SLA compliance, manage risk exceptions, and generate SOC 2 and ISO 27001 audit evidence. No cloud. No account. No data leaves your environment.
pip install vulnpilot
Why local-first?
Cloud-based vulnerability tools require you to upload scan data to a third-party service. VulnPilot runs entirely on your machine — the threat intelligence comes to you.
--fail-on-breach turn VulnPilot into a hard CI/CD gate. Exit 2 on unexcused SLA breach — integrates with GitHub Actions, GitLab CI, Jenkins.See the score for yourself
Adjust the sliders to match a real finding. The formula is KEV(40) + EPSS(35) + CVSS(15) + Severity(10), with a hard floor of 75 for any KEV-confirmed finding.
How it works
VulnPilot cross-references your Nessus scan output against three public data sources — all processed locally. No vulnerability data is transmitted outside your environment.
Public Threat Intelligence
+-------------------------------+
| CISA KEV FIRST EPSS |
+---------------+---------------+
|
vulnpilot update-feeds
|
~/.vulnpilot/feeds/ (local cache)
|
vulnpilot analyze
|
Nessus CSV (Local Machine Only)
|
Composite Risk Engine
|
Prioritized Findings
Everything you need to govern vulnerabilities
From scan to audit evidence in one tool. No SaaS, no account, no data leaving your machine.
--fail-on-breach exits 2 on unexcused SLA breach. JSON output pipes to jq. Drop-in for GitHub Actions and GitLab CI.Audit evidence, generated
Run one command. Get a Markdown document your auditor can read — scan metadata, prioritized findings, SLA compliance, control mapping, and sign-off block included.
Drop it into your pipeline
One step in CI gates every deploy against your SLA policy. Exit 0 = clean. Exit 2 = unexcused breach — your pipeline fails, your auditor sees proof.
- name: Vulnerability governance gate run: | vulnpilot verify scan.csv \ --sla-config clients/acme_sla.yaml \ --exceptions clients/acme_exceptions.csv \ --fail-on-breach \ --json | tee vulnpilot-verify.json
What's shipped, what's next
Development priorities are driven by community feedback and real-world usage.
--json, --sla-config, --fail-on-breach pipeline gateUp and running in three steps
Requires Python 3.10, 3.11, or 3.12. No API keys. No account.
~/.vulnpilot/feeds/. Re-run whenever you want fresh data.scan.csv is a standard Nessus CSV export. Prioritized findings in seconds.Frequently asked questions
vulnpilot update-feeds once to cache data locally. After that, analysis works completely offline — no internet connection required.vulnpilot analyze scan.csv --evidence soc2vulnpilot update-feeds anytime to pull the latest. No API key or account required.