Your application has 1,247 dependencies. Can you name them? Can you tell your auditor which licenses they use? Can you check in 30 seconds whether any of them are affected by the latest critical CVE?
If not, you need a Software Bill of Materials.
What Is an SBOM?
An SBOM (Software Bill of Materials) is a comprehensive inventory of every component in your software — libraries, frameworks, packages, and their dependencies. Think of it as a nutrition label for code.
An SBOM entry for a single component includes:
lodash)4.17.21)npm)MIT)Why SBOMs Matter Now
Three converging forces made SBOMs go from "nice-to-have" to "required":
1. Regulatory Mandates
US Executive Order 14028 (2021) — Requires software suppliers to the federal government to provide SBOMs. If you sell to any US government agency, you need SBOMs.
EU Cyber Resilience Act (2024) — Products sold in the EU must include vulnerability disclosure capabilities and machine-readable SBOMs.
FedRAMP — Cloud service providers seeking FedRAMP authorization must document software components and their supply chain.
2. Supply Chain Attacks
The SolarWinds attack, Log4Shell, and the XZ Utils backdoor all demonstrated that attackers target dependencies, not just your code. When Log4Shell dropped, organizations with SBOMs identified affected systems in hours. Organizations without SBOMs took weeks.
3. Compliance Frameworks
SOC 2 — Trust Services Criteria CC7.1 requires organizations to "identify and manage the inventory of components." SBOMs satisfy this control directly.
ISO 27001 — A.12.6.1 requires technical vulnerability management of all software components.
PCI DSS 4.0 — Requirement 6.3.2 requires an inventory of bespoke and custom software, and all third-party components.
SBOM Formats
Two dominant standards:
SPDX (ISO/IEC 5962)
Developed by the Linux Foundation. Full ISO standard. Strongest for license compliance and legal requirements.
{
"spdxVersion": "SPDX-2.3",
"name": "myapp",
"packages": [
{
"name": "express",
"versionInfo": "4.18.2",
"supplier": "Organization: npm",
"licenseConcluded": "MIT"
}
]
}
CycloneDX (OWASP)
Developed by OWASP. Designed for security use cases. Best for vulnerability correlation and runtime analysis.
{
"bomFormat": "CycloneDX",
"specVersion": "1.5",
"components": [
{
"type": "library",
"name": "express",
"version": "4.18.2",
"licenses": [{"license": {"id": "MIT"}}]
}
]
}
Which Format to Choose?
| Use Case | Recommended Format |
|----------|-------------------|
| License compliance / legal | SPDX |
| Vulnerability management | CycloneDX |
| Government compliance | SPDX (ISO standard) |
| General purpose | Either — both work |
How to Generate SBOMs
Syft (Recommended)
Anchore's Syft is the most versatile SBOM generator:
# Container image
syft myapp:latest -o spdx-json > sbom.spdx.json
# Source directory
syft dir:./my-project -o cyclonedx-json > sbom.cdx.json
# Filesystem
syft file:/path/to/binary -o spdx-json > sbom.spdx.json
Trivy
Aqua's Trivy can generate SBOMs alongside vulnerability scans:
trivy image --format spdx myapp:latest > sbom.spdx
Language-Specific Tools
npm sbom --sbom-format cyclonedxcyclonedx-py or pip-auditcyclonedx-gomodUsing SBOMs for Vulnerability Management
Generating an SBOM is step one. The real value comes from continuous monitoring:
1. Scan SBOM Against Vulnerability Databases
# Scan an existing SBOM with Grype
grype sbom:sbom.cdx.json
This tells you which components in your SBOM have known CVEs — without re-scanning the entire image.
2. Monitor for New Disclosures
When a new CVE is published, query your SBOM inventory to find every application, service, and container that includes the affected component.
3. Diff SBOMs Between Versions
Compare SBOMs from v1.0 and v2.0 to see exactly what changed — new dependencies, removed packages, version upgrades. This is your change audit trail.
SBOM Best Practices
How Vulnios Handles SBOMs
When you scan a container image or repository with Vulnios:
No manual configuration. No separate tool.
---
Generate your first SBOM at vulnios.com. Automatic SBOM generation + vulnerability scanning in one platform.
Ready to secure your organization?
Start scanning with 32 security engines — free tier available.
Get Started Free