Software supply chain security has become a board-level concern following high-profile attacks on SolarWinds, Log4Shell, and XZ Utils. SBOM (Software Bill of Materials) and software provenance are the foundational capabilities that make supply chain security actionable — providing the visibility needed to identify, respond to, and prevent dependency-based attacks.
The Software Supply Chain Threat
A software supply chain attack compromises a widely-used dependency, tool, or platform to inject malicious code into downstream consumers' software — often with far greater impact than attacking targets directly. The Log4Shell vulnerability (Log4j, December 2021) affected millions of applications globally because Log4j was a transitive dependency of thousands of Java applications. The XZ Utils backdoor (2024) demonstrated how a sophisticated attacker can compromise an open-source maintainer relationship to insert a backdoor into widely-deployed infrastructure software.
What Is a Software Bill of Materials (SBOM)?
An SBOM is a structured, machine-readable inventory of all software components in an application — direct and transitive dependencies, their versions, their licences, and their provenance (where they came from and how they were built). An SBOM is to software what an ingredient list is to food: it enables consumers and operators to understand exactly what is in their software and to respond quickly when a component has a known vulnerability.
The two dominant SBOM standards are SPDX (Software Package Data Exchange, ISO/IEC 5962:2021, hosted by the Linux Foundation) and CycloneDX (OWASP project, widely adopted for security-focused SBOMs). SPDX is the ISO standard with a long history in licence compliance; CycloneDX has stronger security-specific fields (vulnerability disclosure, attack trees) and is the preferred format for US government SBOM requirements.
Generating SBOMs in CI/CD
| Tool | Ecosystem | Format | Notes |
|---|---|---|---|
| Syft (Anchore) | Multi-language, containers | SPDX, CycloneDX | Most widely used; excellent container SBOM generation |
| cdxgen | Multi-language | CycloneDX | Strong JavaScript/TypeScript, Java, Python support |
| GitHub Dependency Graph | Multi-language | SPDX (export) | Built into GitHub; automatic for repos using supported manifests |
| Maven/Gradle BOM plugin | Java | CycloneDX | Native to Java build tools; excellent transitive dependency coverage |
| npm ls / pip-audit | JS / Python | JSON (parseable) | Package manager-native; less complete than dedicated SBOM tools |
| Trivy | Multi / containers | SPDX, CycloneDX | SBOM generation + vulnerability scanning in one tool |
SBOM generation should be integrated into the CI/CD pipeline at build time — not generated on demand. Attach SBOMs to container images, build artefacts, and release packages so they are available when vulnerability response is needed. Store SBOMs in a dedicated SBOM registry (Dependency Track, OSSIndex, or a simple object store with metadata indexing) and link them to the software artefact versions they describe.
Software Provenance with SLSA
SLSA (Supply chain Levels for Software Artefacts, pronounced "salsa") is a security framework developed by Google that defines maturity levels for software build provenance — attestations that prove an artefact was built from a specific source at a specific commit, using a specific build process, in a trusted environment.
Using SBOMs for Vulnerability Response
SBOM and Provenance Platform Ecosystem
- Dependency Track (OWASP) — SBOM analysis and vulnerability management platform; integrates with Sonatype, NVD, OSV
- Sigstore — keyless signing infrastructure for code, containers, and artefacts
- in-toto — supply chain integrity framework for provenance attestations
- Cosign — container image signing and verification (Sigstore component)
- Snyk — developer-first vulnerability scanning with SBOM capabilities
- JFrog Xray — artefact scanning and SBOM generation for JFrog Artifactory
- Sonatype Nexus Lifecycle — deep OSS risk analysis and SBOM management
- Chainguard — hardened container images with SLSAs-compliant provenance