Operational guidance, not legal advice. This page distills named public sources (regulator guidance and industry practice). It is not a legal determination, not a notification decision, and not a substitute for your counsel, insurer, or a retained DFIR firm. Verify applicability and current deadlines for your facts and jurisdiction.

What is a software bill of materials (SBOM)?

Updated

A software bill of materials (SBOM) is a machine-readable inventory of a software product's components, typically in SPDX or CycloneDX format, generated from a build rather than by hand. It lets a vulnerability in a shared component be traced to every place it ships. Not legal advice.

Last verified 10 September 2026 against CISA's 2026 Minimum Elements for a Software Bill of Materials (published 29 July 2026, updating and replacing NTIA's 2021 version), the SPDX 3.0.1 specification and ISO/IEC 5962:2021, OWASP CycloneDX 1.7, and Regulation (EU) 2024/2847 (Cyber Resilience Act) Annex I Part II point (1) and Article 13(24). Not legal advice. It does not determine which SBOM requirement, if any, applies to YOUR organization or product.

An inventory, not a scan and not a verdict

Audience: a founder or eng lead who has just been asked for an SBOM by a customer, a regulator, or a due-diligence team, and needs a plain answer before deciding what to produce. This page is not legal advice. It does not generate YOUR SBOM, does not determine whether a legal SBOM requirement applies to your product, and does not classify your components.

An SBOM answers 'what is actually in this software' — component names, versions, and the dependency relationships between them, machine-readable so tools can generate, merge, and query it automatically. It is not a vulnerability scan: the SBOM tells you what you have, and a separate scan (matching that inventory against advisory databases) tells you which of those components currently have reported issues. An SBOM with no follow-up analysis does not by itself tell you whether you are exposed to anything.

  • The glossary entry on this site (a different kind and a different path, /guides/glossary/sbom) covers the plain-English definition and format basics in shorter form. This page goes deeper into the current 2026 minimum-elements guidance, formats, and jurisdictional requirement-vs-guidance distinction.
  • The EOL-dependencies guide on this site is the natural next step once you can query an SBOM: finding which of those inventoried components are no longer supported. The detect-vulnerable-open-source-packages guide on this site covers matching an SBOM (or a lockfile) against advisory feeds.
  • The vulnerability management pillar on this site is not published yet; naming it here is not a link.

SPDX vs CycloneDX: two open formats, both machine-readable

Two open, actively maintained formats dominate SBOM generation in practice. Neither format is 'the' legally mandated one anywhere this page has verified as of last check; both are commonly accepted as satisfying a 'commonly used, machine-readable' requirement where one exists. Last verified 10 September 2026.

  • Both formats are machine-readable and widely supported by generation tooling (for example Syft, Trivy, and cdxgen commonly produce CycloneDX; scancode-toolkit and FOSSA commonly produce SPDX; several tools support both).
  • Neither the CISA/NTIA minimum elements nor, as of last verification, the EU CRA names one format as exclusively required — both texts describe a 'commonly used and machine-readable' format requirement that either open standard is generally understood to satisfy.
SPDX vs CycloneDX as currently specified (not a ranking; not legal advice; last verified 10 September 2026)
FormatOrigin and standards recognitionCurrent specificationPrimary design focus
SPDX (Software Package Data Exchange)A Linux Foundation project. SPDX 2.2.1 is recognized as the international standard ISO/IEC 5962:2021. A revision covering SPDX 3.0 is in progress at ISO as ISO/IEC DIS 5962, with a ballot that closed 9 June 2026 and is not yet a published International Standard as of last verification.SPDX 3.0.1 is the current stable specification release from the SPDX project itself, distinct from the still-in-progress ISO update. SPDX 3.0 moved to an element-based model with profiles (core, software, licensing, security, build, AI, dataset) rather than the older document-centric 2.x design.Broad in scope: originated in license-compliance work and now also covers security data (via its Security profile), AI models, and datasets.
CycloneDXAn OWASP flagship project, developed jointly with Ecma International Technical Committee 54. Version 1.6 was ratified as ECMA-424, 1st Edition (June 2024); version 1.7 became the 2nd Edition (December 2025).CycloneDX 1.7 (October 2025) is the current specification, and the last release in the 1.x line before a signaled 2.0. It stays backward compatible with 1.4 through 1.6.Application security and supply-chain use cases from the outset: native vulnerability exploitability exchange (VEX) support, and extensions beyond software into hardware (HBOM), services (SaaSBOM), ML models (ML-BOM), and cryptography (CBOM).

Minimum elements: 2026 CISA guidance supersedes the 2021 NTIA baseline

US Executive Order 14028 (2021) directed the National Telecommunications and Information Administration (NTIA) to define the minimum elements an SBOM should contain; NTIA published that baseline in July 2021. As of last verification (10 September 2026), that 2021 baseline has been superseded: CISA, together with the NSA, the FBI, and international partners, published the finalized 2026 Minimum Elements for a Software Bill of Materials on 29 July 2026, following a 2025 public-comment draft. Anything still citing only the 2021 NTIA document as the current US government baseline is citing a superseded version.

The 2026 update preserves the 2021 document's core principles — automation is still treated as essential to security at scale — while adding new fields (including a component hash algorithm, component license, SBOM tool name, and SBOM generation context), renaming several existing fields for clarity (Author of SBOM Data became SBOM Author; Supplier Name became Component Producer; Version of the Component became Component Version), replacing the older 'Depth' element with a broader 'Coverage' concept, and removing Access Control as a standalone element (folded into Distribution and Delivery). CISA states the minimum elements apply to all software, including open-source, AI, and SaaS, though some software types may warrant additional elements beyond the baseline.

  • This is US federal guidance, not a statute that binds private organizations directly. It shapes procurement expectations (e.g., what a federal agency may ask a vendor to supply) and is widely used as a private-sector reference for 'what should be in an SBOM,' but it does not by itself create a legal SBOM-production duty for a company that sells no software to the US government.
NTIA 2021 vs CISA 2026 minimum elements (guidance, not a statute; last verified 10 September 2026)
Point2021 NTIA baseline2026 CISA/NSA/FBI update (current as of last verification)
StatusSuperseded as of 29 July 2026.Current baseline as of last verification, jointly authored with international partners.
Scope statementFocused on the software supply chain generally.Explicitly states it applies to all software, including open-source, AI software, and SaaS in cloud environments, while noting some types may need additional elements beyond the baseline.
New or renamed data fieldsOriginal field set, e.g., Supplier Name, Author of SBOM Data, Version of the Component, Depth, Access Control.Added fields including Component Hash Algorithm, Component License, SBOM Tool Name, and SBOM Generation Context; renamed Supplier Name to Component Producer, Author of SBOM Data to SBOM Author, Version of the Component to Component Version; replaced Depth with a broader Coverage concept; folded Access Control into Distribution and Delivery.

EU CRA: a legal SBOM floor, only if the CRA applies to YOU

Regulation (EU) 2024/2847 (the Cyber Resilience Act, 'CRA') is different in kind from NTIA and CISA's guidance: it is a directly applicable EU regulation, and if it applies to a given manufacturer and product, its SBOM-adjacent text is a legal requirement, not a recommendation. Annex I Part II point (1) states that manufacturers of products with digital elements shall 'identify and document vulnerabilities and components contained in products with digital elements, including by drawing up a software bill of materials in a commonly used and machine-readable format covering at the very least the top-level dependencies of the products.' That essential requirement, along with the rest of Annex I, applies from 11 December 2027 under Article 71(2) — a different date from CRA Article 14's incident-reporting duty, which applies from 11 September 2026.

Two honest limits on that CRA text, as of last verification: first, the legal floor is top-level dependencies only — the article's own words say 'at the very least the top-level dependencies,' so transitive/nested dependencies are not the stated legal minimum, even though many practitioners generate a fuller tree voluntarily. Second, Article 13(24) lets the European Commission later specify the SBOM's exact format and elements 'by means of implementing acts,' but as of last verification no such implementing act has been adopted — so 'commonly used and machine-readable' is not yet defined down to a named format or version by the regulation itself, and SPDX or CycloneDX are widely treated as satisfying that description without either one being named in the statute.

Recital 22 and Article 13(25) add a narrower, separate mechanism: an administrative cooperation group (ADCO) can decide to run a Union-wide software-dependency assessment for specific product categories, and market surveillance authorities may, for that purpose, request manufacturers in those categories to supply their SBOMs, which authorities then report to ADCO in anonymized, aggregated form. That is a possible future request mechanism tied to a dependency assessment, not a standing public-disclosure duty for every SBOM a manufacturer produces.

Legal requirement vs guidance by jurisdiction (not a determination that any of these applies to YOU; not legal advice)
TextWhat it isWho it binds
Regulation (EU) 2024/2847 Annex I Part II point (1) and Article 13(24)-(25)Legal requirement of the CRA, a directly applicable EU regulation, only if the CRA applies to a given manufacturer and product. Essential requirements including this SBOM floor apply from 11 December 2027 under Article 71(2).Manufacturers of in-scope products with digital elements made available on the EU market. This page does not determine that the CRA applies to YOU; see the CRA docs hub on this site for scope questions.
CISA/NSA/FBI 2026 Minimum Elements for an SBOM (superseding NTIA's 2021 version)US federal guidance describing baseline SBOM data fields and practices.No one by force of law directly. Shapes US federal procurement expectations and is a widely used private-sector reference.
SPDX (ISO/IEC 5962 family) and OWASP CycloneDXOpen technical specifications maintained by the Linux Foundation and OWASP/Ecma International respectively.No one by force of law. Either is commonly treated as satisfying a 'commonly used, machine-readable' SBOM-format requirement where one exists, without being named exclusively by any statute this page has verified.

Why an SBOM matters in practice

The clearest operational payoff is vulnerability response: when a flaw is disclosed in a widely used library, an organization with current SBOMs can answer 'are we exposed, and where' in minutes by querying the inventory, instead of a manual repo-by-repo sweep. The same inventory supports license-compliance review and technical due diligence, where a buyer or auditor wants an independent view of what a codebase actually depends on.

An SBOM is evidence of composition, not a guarantee of safety. It describes what is present; it does not by itself say whether each component is patched, reachable in your deployment, or safely configured. Pairing an SBOM with a vulnerability scan against advisory data, and with dependency-tree resolution deep enough to catch transitive components, is what turns the inventory into an actual risk picture — the sbom-blast-radius guide on this site covers why a lockfile-derived answer is more trustworthy than a manifest-derived one for that step.

Pairing an SBOM with VEX: inventory plus exploitability status

An SBOM tells you what is present. A separate, complementary document called a Vulnerability Exploitability eXchange (VEX) statement tells you, for a specific known vulnerability in a specific component, whether the product is actually affected, not affected, a fix is available, or an investigation is under way — because a vulnerable component being present does not automatically mean the vulnerable code path is reachable or exploitable in that particular product. CycloneDX has carried native VEX support since version 1.4 (January 2022); SPDX 3.0's Security profile added native vulnerability and VEX-adjacent data that the older SPDX 2.x line did not have. Neither the CRA text nor the CISA/NTIA minimum elements cited above require a VEX statement as part of the SBOM itself — VEX is a separate, complementary artifact, not a mandatory SBOM field.

For a team building on top of an SBOM, this matters operationally: an SBOM without any VEX or reachability layer will, correctly, list a vulnerable component as present even in cases where the vulnerable function is never called by your code. That is not a false SBOM — the component genuinely is there — but it is an incomplete picture for prioritization, which is why the exploitability-vs-severity guide on this site treats presence of a vulnerable component as one input, not a verdict.

Generating an SBOM in practice

Three common generation approaches, each with a different trust level. Build-time generation (tools that hook into a package manager, container build, or CI pipeline and emit SPDX or CycloneDX directly from the resolved dependency graph) is generally the most trustworthy, because it reflects what was actually installed, including transitive dependencies pulled in by a lockfile, not just what a manifest declares. Post-hoc binary or container-image analysis (scanning a built artifact after the fact to infer its components) is useful when you cannot instrument the original build, but is inherently a best-effort reconstruction, since some metadata present at build time is not always recoverable from the finished artifact. Manually maintained component lists are the least reliable of the three and are not the automation CISA's 2026 guidance and the original NTIA baseline both treat as central to a usable SBOM.

Whichever approach you use, regenerate the SBOM per build or per release rather than treating it as a document written once. Dependencies change with every release; an SBOM that is months stale is a snapshot of a codebase that no longer exists.

What to do now

This page does not generate YOUR SBOM or determine which requirement, if any, applies to your product. The list below is a starting sequence.

  • Determine whether you have an actual legal SBOM obligation (most plausibly the CRA, only if it applies to your product and market) versus a customer or procurement expectation shaped by NTIA/CISA guidance. Those are different binds with different consequences for missing them; counsel or your compliance lead answers which applies to you.
  • Pick a format your tooling can generate automatically from your build — SPDX 3.0.1 or CycloneDX 1.7 are both current, open, and widely supported; regenerate per build rather than maintaining an SBOM by hand.
  • If a CRA-adjacent obligation may apply, remember the stated legal floor is top-level dependencies only; decide separately whether you also want full transitive coverage for your own risk-management purposes, which most mature programs do.
  • Do not wait for the European Commission's Article 13(24) implementing act to name a format before starting — none has been adopted as of last verification, and 'commonly used and machine-readable' already covers SPDX and CycloneDX in practice.
  • Pair the SBOM with a vulnerability-matching process; an inventory alone does not tell you what is exploitable. The detect-vulnerable-open-source-packages guide on this site covers that step.

Where this shows up in ShipReady Metrics

Signed-in app → Security → Findings ingests dependency data (including from Dependabot and code-scanning connectors) and maps transitive-dependency blast radius across repositories, which is the operational use of an SBOM-like inventory: knowing which repositories use an affected component and at what resolved version. This product does not generate a CRA Annex I Part II(1)-conformant SBOM file, does not determine whether the CRA applies to your product, and does not file anything with a market surveillance authority. A named human on the team still owns SBOM production and any related legal determination.

This page does not document a public product demo path.

Primary sources (last verified 10 September 2026)

CISA, NSA, FBI, and international partners, 2026 Minimum Elements for a Software Bill of Materials (SBOM) (published 29 July 2026, superseding NTIA's 2021 Minimum Elements for a Software Bill of Materials, issued pursuant to Executive Order 14028). SPDX 3.0.1 specification (Linux Foundation / SPDX project) and ISO/IEC 5962:2021 (recognizing SPDX 2.2.1; a revision for SPDX 3.0 is in progress at ISO as ISO/IEC DIS 5962, ballot closed 9 June 2026, not yet published as of last verification). OWASP CycloneDX 1.7 specification (October 2025; ECMA-424, 2nd Edition, December 2025). Regulation (EU) 2024/2847 (Cyber Resilience Act), Annex I Part II point (1), Article 13(24)-(25), Recital 22, and Article 71(2) — a legal requirement only if the CRA applies. Not legal advice. These are not a complete list of every jurisdiction's SBOM-adjacent rule.

The glossary entry on this site (/guides/glossary/sbom) covers the plain-English definition. The EOL-dependencies guide, the detect-vulnerable-open-source-packages guide, and the SBOM-blast-radius learn guide on this site are the closest related pages. The CRA docs hub on this site covers scope questions for the CRA Annex I text cited above.

Frequently asked questions

Is this legal advice?

No. It distinguishes a legal SBOM requirement (the EU CRA's Annex I Part II point (1), only if the CRA applies to your product) from US federal guidance (CISA/NSA/FBI's 2026 Minimum Elements, superseding NTIA's 2021 version) and open technical specifications (SPDX, CycloneDX). Whether any legal requirement applies to YOUR organization is a question for counsel. This page does not generate or determine the contents of your SBOM.

Is SPDX or CycloneDX the legally required SBOM format?

As of last verification, neither is named as the exclusively required format by the CRA or by US federal guidance. The CRA's Annex I Part II point (1) requires a 'commonly used and machine-readable format,' which SPDX and CycloneDX are both widely understood to satisfy, but the European Commission has not yet adopted the Article 13(24) implementing act that could name a specific format or version.

Does the EU CRA require a full transitive-dependency SBOM?

No, not as a legal floor. Annex I Part II point (1)'s own text requires covering 'at the very least the top-level dependencies of the products.' Many organizations generate deeper, transitive coverage voluntarily for their own risk-management purposes, but that is beyond, not required by, the stated legal minimum.

Is the 2021 NTIA minimum-elements document still current?

No, as of last verification. CISA, together with the NSA, FBI, and international partners, published the 2026 Minimum Elements for a Software Bill of Materials on 29 July 2026, which updates and replaces the 2021 NTIA baseline while preserving its core principles.

Is an SBOM the same thing as a vulnerability scan?

No. An SBOM is an inventory of what components are present; a vulnerability scan checks those components against known-issue databases. An SBOM without a follow-up scan tells you composition, not exposure. The two are complementary, not interchangeable.

Published by ShipReady Metrics, an evidence-based technology and compliance intelligence platform. This guide is educational and vendor-neutral.