#SBOM #CI/CD #Concepts #DevOps
Software Bill of Materials
SBOM stands for Software Bill of Materials — a structured inventory of everything inside a piece of software.
In plain terms, it’s “a recipe list of every component (package/library) that went into this software.”
- Just like a car has a parts manifest, software is built from countless open-source libraries, frameworks, and packages.
- An SBOM records those components, their versions, and their origins in a structured format (JSON, SPDX, CycloneDX, etc.).
Why Do We Need It?
- Vulnerability Management
- Knowing exactly which library versions are included means you can immediately assess the blast radius when a CVE (security vulnerability) is disclosed for one of them.
- Example: When the Log4j vulnerability (Log4Shell) hit, having an SBOM let teams automatically answer “Which of my service images contains log4j-core 2.14.1?”
- License Compliance
- Tracks obligations under open-source licenses (GPL, Apache 2.0, MIT, etc.).
- An SBOM records which library came in under which license, reducing legal risk.
- Supply Chain Security
- Modern attacks increasingly target third-party libraries, package registries, and build pipelines rather than your own code directly.
- An SBOM enables supply chain traceability — “how exactly did this code get in here?”
- Regulatory & Standards Compliance
- In the U.S., Biden’s Executive Order 14028 (2021) requires federal government vendors to provide SBOMs.
- The EU, Japan, and others are actively discussing mandatory SBOM submission requirements.
How Are SBOMs Generated and Used?
-
Generation Tools
-
Tools like
Syft,Trivy,CycloneDX, andbomautomatically generate SBOMs from container images or codebases. -
Example:
syft myapp:1.0 -o cyclonedx-json > sbom.json
-
-
Formats
- The three major standards are SPDX, CycloneDX, and SWID.
-
Usage
- Generate an SBOM during the CI stage → upload it alongside the artifact to a repository like Nexus
- Tools like Trivy or Grype ingest the SBOM and run vulnerability scans against it
Summary
- SBOM = the “parts list” for your software
- Benefits = vulnerability tracking, license management, stronger supply chain security
- In a CI/CD pipeline: auto-generate with Trivy/Syft → upload to a registry → used by operations and security teams.