sbom.day

Know every ingredient in your software.

express lodash react webpack axios moment dotenv cors
dependencies.json
npm
PyPI
crates.io
Maven
Go
NuGet
RubyGems
Hex
CPAN

What is an SBOM?

A Software Bill of Materials is a formal, machine-readable inventory of every component, library, and dependency that comprises a piece of software. Think of it as a nutritional label for code -- a complete list of ingredients so you know exactly what you are consuming.

Just as a jar of preserves on a kitchen shelf tells you what fruit was used, where it was grown, and when it was sealed, an SBOM tells you what packages your application depends on, which versions are installed, what licenses govern them, and whether any known vulnerabilities lurk inside.

In an era of software supply chain attacks, understanding your dependencies is not a luxury -- it is a necessity. The SBOM movement asks a simple question: do you know what is in your software?

An SBOM transforms the opaque black box of software into a transparent, auditable record of provenance.

The Supply Chain

Modern software is assembled, not written from scratch. A typical web application might pull hundreds or thousands of packages from registries like npm, PyPI, or crates.io. Each package has its own dependencies, creating deep and tangled trees that no single developer fully understands.

This is the software supply chain: the vast network of open-source libraries, commercial SDKs, build tools, and transitive dependencies that flow into every application you use. When one link in this chain is compromised -- as happened with event-stream, SolarWinds, and log4j -- the impact cascades downstream to every product that consumed it.

SBOMs make this invisible infrastructure visible. They map the supply chain, trace the provenance of every component, and create accountability at every link. Like knowing which farm your flour came from, an SBOM tells you which registry, which maintainer, and which version contributed to your final build.

Every jar on the shelf has a story. Every dependency in your lockfile has a lineage.

Transparency

Two primary standards have emerged for encoding SBOMs: SPDX (Software Package Data Exchange), maintained by the Linux Foundation, and CycloneDX, maintained by OWASP. Both provide structured formats -- JSON, XML, or tag-value -- for listing components, licenses, relationships, and vulnerability data.

SPDX originated in the license compliance community and excels at capturing detailed licensing information. CycloneDX was born from the application security world and provides rich support for vulnerability disclosure and dependency graphs. Both are recognized by the U.S. Executive Order on Improving the Nation's Cybersecurity.

The power of a standard format lies in its interoperability. When every vendor, every open-source project, and every government contractor speaks the same SBOM language, the entire ecosystem becomes auditable. Transparency scales only when it is systematic.

Standards are the ruled lines in the ledger -- they ensure that every entry is legible, comparable, and trustworthy.

Transparency is the first ingredient.