vulkro sbom
vulkro sbom is part of Pro: SBOM (sbom), the bill of materials, in every format an auditor asks for. On Free it stops before doing any work, prints what it needs and where to get it, and exits 1. See Pricing.
Emit a Software Bill of Materials for the project. Same data as
vulkro scan <path> --format cyclonedx, but a focused subcommand for the
"I just need the SBOM" use case. Produce the inventory once with sbom,
then match it against advisories whenever the CVE bundle updates with
vulkro match-cve.
Usage
vulkro sbom [PATH] --format cyclonedx > sbom.json
| Argument | Description | Default |
|---|---|---|
PATH | Path to the project root. | . |
Flags
| Flag | Description |
|---|---|
--format <FORMAT> | Output format (default cyclonedx). |
| Format | Meaning |
|---|---|
cyclonedx | CycloneDX 1.6 JSON SBOM (library components). Default. |
cyclonedx-1.7 | CycloneDX 1.7 JSON SBOM; same shape, newer specVersion. |
spdx | SPDX 2.3 JSON SBOM. |
spdx3 | SPDX 3.0.1 JSON-LD SBOM (@context + @graph). |
cbom | CycloneDX 1.6 CBOM: one cryptographic-asset component per detected weak algorithm (MD5, SHA-1, ECB, RC4, DES, static IV, insecure RNG), with file:line occurrences. |
cbom-1.7 | CycloneDX 1.7 CBOM with a richer post-quantum descriptor. |
openvex | OpenVEX 0.2.0 exploitability statements per dependency CVE, not_affected backed by reachability analysis. |
cyclonedx-vex | CycloneDX 1.6 VEX (the same verdicts as openvex). |
The 1.6 / 2.3 formats stay the defaults; 1.7 / 3.0.1 are additive opt-ins.
Exit codes
0on success.2on IO failure.
Examples
# CycloneDX 1.6 (default).
vulkro sbom . > sbom.cdx.json
# SPDX 2.3, then match against the local CVE bundle.
vulkro sbom . --format spdx > sbom.spdx.json
vulkro match-cve --sbom sbom.spdx.json --format table
Related
vulkro match-cve- match an SBOM against the CVE bundle.vulkro cra-bundle- staple SBOM + VEX + evidence into one zip.- Output formats - every SBOM and format documented.
Command reference
Generated from vulkro help sbom on vulkro 0.26.0. This block is the
authoritative flag, usage, and exit-code reference for this command; the
prose above is the friendly explanation. Do not edit this block by hand;
run npm run docs:cli after a release.
[Pro] List every package the project depends on, in a standard file format (SBOM).
[Pro] Emit a Software Bill of Materials for the project. Same data as `vulkro scan <path> --format cyclonedx`, but a focused subcommand for the "I just need the SBOM" use case.
Exit code: 0 on success, 2 on IO failure.
Usage: vulkro sbom [OPTIONS] [PATH]
Arguments:
[PATH]
[default: .]
Options:
--format <FORMAT>
Output format. `cyclonedx` (CycloneDX 1.6 JSON SBOM, default), `cyclonedx-1.7` (CycloneDX 1.7), `spdx` (SPDX 2.3 JSON SBOM), `spdx3` (SPDX 3.0.1 JSON-LD), `cbom` (CycloneDX 1.6 CBOM listing detected weak crypto algorithms with file:line occurrences; same emitter as `vulkro scan --format cbom`), or `cbom-1.7` (CycloneDX 1.7 CBOM with a richer post-quantum descriptor). The 1.6 / 2.3 formats stay the defaults; 1.7 / 3.0.1 are additive opt-ins
Possible values:
- cyclonedx: CycloneDX 1.6 JSON SBOM (library components only). Default
- cyclonedx-1.7: CycloneDX 1.7 JSON SBOM. Same shape, newer `specVersion`
- spdx: SPDX 2.3 JSON SBOM
- spdx3: SPDX 3.0.1 JSON-LD SBOM (`@context` + `@graph`)
- cbom: CycloneDX 1.6 CBOM: one `cryptographic-asset` component per detected weak algorithm (MD5, SHA-1, ECB, RC4, DES, static IV, insecure RNG), with file:line occurrences inlined under `evidence.occurrences`. Same emitter as `vulkro scan --format cbom`
- openvex: OpenVEX 0.2.0 exploitability statements for each dependency CVE, `not_affected` backed by reachability analysis
- cyclonedx-vex: CycloneDX 1.6 VEX (the same verdicts as `openvex`)
- cbom-1.7: CycloneDX 1.7 CBOM: same grouping as `cbom` plus a richer post-quantum descriptor. Same emitter as `vulkro scan --format cbom-1.7`
[default: cyclonedx]
--offline
Hard-disable every outbound network call for this run (sets VULKRO_OFFLINE=1). Blocks the CVE feed, the license heartbeat, the update check, webhooks, and any cloud AI endpoint; a loopback model (http://127.0.0.1, http://localhost) is still allowed. Equivalent to exporting VULKRO_OFFLINE=1, and the flag wins when both are set
-h, --help
Print help (see a summary with '-h')