Skip to content

Scan command

Scans a CycloneDX SBOM or a Delphi project for known vulnerabilities. The command reads (or generates) a CycloneDX SBOM, queries the Open Source Vulnerabilities database, and writes a CycloneDX 1.5 VEX report next to the input.

OSV responses are cached under %APPDATA%\.dpm\vuln-cache for 24 hours. Use -fail-on to make the command exit non-zero in CI when a vulnerability above a chosen severity is found.

Usage

bat
dpm scan <sbom-or-project> [options]

The input is either a CycloneDX SBOM .json file or a .dproj / .groupproj. When given a project, scan generates an SBOM internally and then scans it.

Options

OptionDescription
output (-o)Output .vex.json path. File path when the input is an SBOM, directory when it is a project. Defaults: <input>.vex.json, or per-platform files in the project folder.
source (-s)Vulnerability database. Only osv is supported. Default: osv.
fail-onExit code 1 if any vulnerability of this severity (or higher) is found. Accepted: none, low, medium, high, critical. Default: none.
no-cacheBypass the 24h response cache for this run. Fresh responses are still written back to the cache.
platforms (-p)Comma-separated platforms to scan. Only used when the input is a project. Default: all enabled.

Examples

bat
dpm scan MyProject.cdx.json

dpm scan MyProject.cdx.json -fail-on=high

dpm scan MyProject.dproj -platforms=Win32,Win64

dpm scan MySolution.groupproj -output=c:\reports

dpm scan MyProject.cdx.json -no-cache