Software Bill of Materials

A software bill of materials (SBOM) is a structured inventory of software components, libraries, dependencies, and associated metadata comprising a delivered system, spanning first-party code and available third-party and open-source supply-chain information. The SBOM serves as the foundational reference for continuous vulnerability management: by cross-correlating the component inventory against known vulnerability databases, such as those cataloging common vulnerabilities and exposures (CVEs), mission owners and operators can rapidly identify which specific system components are affected by newly disclosed vulnerabilities and prioritize remediation accordingly. SBOM generation must cover the full software supply chain, including transitive dependencies that are not explicitly declared in top-level manifests, as these indirect inclusions represent a persistent and frequently exploited blind spot in software inventory programs. An SBOM may reveal component composition and vulnerability-relevant information that could assist adversary reconnaissance. Its classification, sensitivity, dissemination, and handling requirements shall be determined using applicable mission guidance, contractual requirements, and a documented disclosure-risk assessment. If deemed to have sensitive information then the handling controls applied should align to other mission-critical security documentation as defined in CM0001.

ID: CM0012
Tier: I
Ground CM 
Created: 2022/10/19
Last Modified: 2026/08/06

Pre-Operations Government

Acquisition requirements should mandate SBOM generation as a contractual deliverable for all software-bearing systems, with specifications defining the required data fields, format standards, and supply chain depth that the SBOM must cover, including transitive dependencies and all third-party and open-source components integrated at any tier. Contract language should flow SBOM generation requirements to subcontractors and component suppliers whose software is incorporated into the delivered system. The prime contractor should identify known gaps, undisclosed dependencies, supplier limitations, and components for which complete composition information is unavailable. Requirements should specify that SBOMs be delivered in machine-readable formats conformant with recognized interoperability standards, enabling automated cross-correlation against vulnerability databases without manual reformatting. Handling and access control requirements for delivered SBOMs should be explicitly defined in contract terms, and evaluation criteria should assess offerors' existing SBOM generation toolchains, their processes for maintaining SBOM accuracy across the development lifecycle, and their demonstrated ability to cover full supply chain depth.

Pre-Operations Developer/Supplier

SBOM generation should be automated and integrated into the software build pipeline so that the inventory is produced as a continuous byproduct of the build process rather than as a manually compiled artifact assembled at delivery milestones. The generated SBOM should be validated against the final delivered software or firmware artifact so that it reflects components introduced during compilation, linking, packaging, image generation, and system integration rather than only dependencies declared in source manifests. Tooling should be selected for its ability to resolve and enumerate transitive dependencies across all package ecosystems and language environments present in the system, as manual or partial approaches will systematically undercount the actual component inventory. The SBOM should be maintained in a machine-readable, standards-conformant format to enable automated ingestion into vulnerability management and software composition analysis (SCA) workflows, supporting continuous cross-correlation against current CVE databases without manual intervention. SBOM generation scope should be validated at the outset by comparing tool-generated inventories against manually verified samples of known components, confirming that the toolchain is capturing the expected depth and breadth of the supply chain. Access controls, storage requirements, and distribution restrictions for the SBOM should be established at program inception and enforced consistently with the program's sensitive information handling framework.