vulpi reads a CycloneDX SBOM and an OSV Scanner vulnerability report, builds the dependency graph, and prints a vulnerability summary grouped by top-level dependencies.
Build the release binary:
cargo build --releaseThe binary is available at:
target/release/vulpiOptional: install the command into your local Cargo PATH:
cargo install --path .Use npx @cyclonedx/cdxgen to generate a CycloneDX JSON SBOM without adding
project dependencies or configuration.
npx @cyclonedx/cdxgen -t java -o bom.jsonnpx @cyclonedx/cdxgen -t npm -o bom.jsonnpx @cyclonedx/cdxgen -t python -o bom.jsonnpx @cyclonedx/cdxgen -t composer -o bom.jsonShow help:
vulpi --helpGenerate a report from a SBOM and OSV Scanner report:
vulpi \
--sbom tests/fixtures/webgoat/bom.json \
--osv-scanner-report tests/fixtures/webgoat/osv-report.jsonGenerate a report and export detailed CSV output:
vulpi \
--sbom tests/fixtures/webgoat/bom.json \
--osv-scanner-report tests/fixtures/webgoat/osv-report.json \
--output vulpi-report.csvvulpi \
--sbom tests/fixtures/angular/bom.json \
--osv-scanner-report tests/fixtures/angular/osv-report.json \
--output vulpi-report.csvUsage: vulpi [OPTIONS] --sbom <PATH> --osv-scanner-report <PATH>
-s, --sbom <PATH>: path to the CycloneDX SBOM JSON file. Required.--osv-scanner-report <PATH>: path to the OSV Scanner vulnerability report JSON file. Required.-o, --output <PATH>: write detailed vulnerability records as CSV.-h, --help: show help.-V, --version: show version.
Useful environment variable:
NO_COLOR=1: disable ANSI colors in output.