A living reference to the standards, formats, and regulations that govern software bills of materials — each entry tracked with its status, legal force, and the date we last verified it.
Every authoritative SBOM standard, format, and regulation — searchable, with status, legal force, and last-verified date.
Copy-paste commands to produce a standards-compliant SBOM for your stack — using ephemeral runners that add nothing to your project.
Verified as of 2026-06
npx -y @cyclonedx/cyclonedx-npm --output-format JSON --output-file sbom/bom.cdx.jsonEmits: CycloneDX (reads the lockfile; adds nothing to the project)
Zero-install: a vendored lockfile reader can also emit CycloneDX 1.6 + SPDX 2.3 with no dependencies.
View sourcesyft dir:. -o cyclonedx-json=sbom/bom.cdx.json -o spdx-json=sbom/bom.spdx.jsonEmits: CycloneDX + SPDX
cyclonedx-npm can't read pnpm/yarn lockfiles — use Syft.
View sourcepipx run cyclonedx-bom -o sbom/bom.cdx.jsonEmits: CycloneDX
View sourcego run github.com/CycloneDX/cyclonedx-gomod/cmd/cyclonedx-gomod@latest mod -json -output sbom/bom.cdx.jsonEmits: CycloneDX
View sourcecargo install --locked cargo-cyclonedx && cargo cyclonedx -f jsonEmits: CycloneDX
Caps at spec 1.5 (defaults 1.3); normalize with `syft convert` if a consumer needs 1.6.
View sourcemvn org.cyclonedx:cyclonedx-maven-plugin:makeAggregateBomEmits: CycloneDX (plugin run; not added to pom)
View sourcedotnet CycloneDX <project-or-sln> --json --output sbom/Emits: CycloneDX
Needs `dotnet restore` to resolve the transitive closure.
View sourcesyft <image>@<digest> -o cyclonedx-json=sbom/bom.cdx.json # or: cdxgen -o sbom/bom.cdx.jsonEmits: CycloneDX + SPDX (Syft) — also converts between formats
View sourceCycloneDX vs SPDX vs SWID, and the NTIA minimum fields every SBOM should carry.
Verified as of 2026-06
| Format | Owner | Current version | Standard | Best for | BOM types |
|---|---|---|---|---|---|
| CycloneDX | OWASP | 1.7 (Oct 2025) | ECMA-424 (2nd ed., Dec 2025) | Security-oriented use; native VEX/VDR; broad xBOM coverage. | SBOM, SaaSBOM, HBOM, ML-BOM, CBOM, OBOM, MBOM, VEX, VDR, CDXA |
| SPDX | Linux Foundation | 3.0.1 (Dec 2024) | ISO/IEC 5962:2021 (codifies SPDX 2.2.1, not 3.x) | Licensing/compliance lineage; ISO recognition. Default to 2.3 for consumer compatibility. | Software, Security, AI, Dataset, Build, Licensing profiles (3.x) |
| SWID Tags | ISO/IEC | ISO/IEC 19770-2:2015 | ISO/IEC 19770-2 | Software identification/asset management. Removed from CISA 2025 draft's recognized SBOM formats. | — |
Who you are → what SBOM you owe: format, depth, disclosure, and deadline.
Verified as of 2026-06
If you are…
MandatoryManufacturers selling products with digital elements to the EU
If you are…
DiscretionaryUS federal software suppliers
If you are…
MandatoryMedical-device manufacturers (US premarket)
If you are…
ConditionalSuppliers to German federal systems
An SBOM is the start. Score its quality, scan it for vulnerabilities, suppress false positives with VEX, and sign it for provenance.
Score SBOM quality with sbomqs; gate a build on a score of ≥ 7.0.
docker run --rm -v "$(pwd)":/app ghcr.io/interlynk-io/sbomqs:latest score /app/sbom/bom.cdx.jsonScan the SBOM for known vulnerabilities with Grype or OSV-Scanner.
grype sbom:sbom/bom.cdx.json # or: osv-scanner --sbom=sbom/bom.cdx.jsonA VEX document tells consumers which vulnerabilities actually affect your product, so they can suppress false positives. Example OpenVEX statement:
{"@context":"https://openvex.dev/ns/v0.2.0","@id":"https://example.com/vex-0001","author":"your-org","timestamp":"2026-06-18T00:00:00Z","version":1,"statements":[{"vulnerability":{"name":"CVE-2023-12345"},"products":[{"@id":"pkg:npm/lodash@4.17.21"}],"status":"not_affected","justification":"vulnerable_code_not_in_execute_path"}]}Sign the SBOM as an attestation with cosign (v3) for provenance.
cosign attest-blob --predicate sbom/bom.cdx.json --type cyclonedx sbom/bom.cdx.jsonA zero-dependency generator that reads your lockfile and emits CycloneDX 1.6 + SPDX 2.3. Free to download and use.
Zero dependencies — reads your package-lock.json and emits CycloneDX 1.6 + SPDX 2.3. Never run npm install to make an SBOM.
Usage
node generate-sbom.mjs
node generate-sbom.mjs --format cyclonedx
node generate-sbom.mjs --format spdx
node generate-sbom.mjs --out-dir build/sbom
SBOM_TIMESTAMP=2026-01-01T00:00:00Z node generate-sbom.mjs
Where this reference links out — the canonical free SBOM resources we build on rather than duplicate.
NTIA · 2021-07-12
Operative baseline; draft successor (CISA 2025) pending — not yet superseded.
CISA · 2025-08
Pre-decisional draft; public comment closed 3 Oct 2025. Re-check status before publish.
G7 Cybersecurity Working Group · 2026-05-12
Linux Foundation · 3.0.1 · 2024-12
ISO/IEC · SPDX 2.2.1 · 2021
Codifies SPDX 2.2.1 specifically — not 3.x.
OWASP / Ecma International · v1.7 / ECMA-424 2nd ed. · 2025-12
ISO/IEC · 2015
Removed from CISA 2025 draft's recognized SBOM formats.
CISA · 2023-04-21
OpenSSF · 0.2.0 · 2023
Spec v0.2.0; still labelled a draft but usable in production.
OASIS · 2.0 · 2022-11
OASIS announced ISO/IEC adoption May 2025 — confirm at write-time.
European Union · 2024-12-10
SBOM mandatory (Annex I Part II(1)). Reporting 11 Sep 2026; full 11 Dec 2027.
US White House · 2021-05-12
US White House · 2025-01-17
Enhanced software-attestation machinery; struck by EO 14306.
US White House · 2025-06-06
Struck EO 14144's attestation machinery; retains a NIST SSDF track; no explicit SBOM requirement.
US OMB · 2026-01-23
After OMB M-26-05 rescinded M-22-18/M-23-16, federal SBOM is agency-discretionary — no government-wide mandate. The EU CRA (binding) contrast is the article thesis.
US OMB · 2022-09-14
Rescinded by OMB M-26-05 (23 Jan 2026); federal SBOM now agency-discretionary.
US OMB · 2026-01-23
Made federal SBOM/attestation discretionary; rescinded M-22-18 + M-23-16.
US FDA · 2023-03
SBOM mandatory in premarket submissions under §524B(b)(3). FDA final premarket cybersecurity guidance issued 27 Jun 2025.
NIST · 1.1 · 2022-02
NIST · 2024-07
BSI (Germany) · 2.1.0 · 2025-09
v2.1.0 requires CycloneDX ≥1.6 or SPDX ≥3.0.1, and recursive (transitive) dependency resolution — stricter than the CRA's top-level floor.