Composition and generation

TermDefinitionPractical guide
SBOMA structured inventory of software composition for a defined target and observation context.Explore →
ComponentAn independently tracked unit of software. Granularity can vary: package, library, file or another defined unit.Explore →
Direct dependencyA component explicitly required by the target product or component.Explore →
Transitive dependencyA dependency reached through another dependency. It can affect the target without being chosen directly.Explore →
Dependency graphNodes representing components and edges recording dependency relationships. Shared nodes and cycles mean it is not always a tree.Explore →
ProvenanceEvidence about origins and how software or inventory data was produced. Preserve its source and context.Explore →
Known unknownA documented information gap. It is different from absent data or an affirmative statement that no dependency exists.Explore →
BOM completenessCoverage relative to a declared target, scope and method. A larger component count does not establish completeness.Explore →
Generation contextThe lifecycle point and available evidence used to create an inventory, such as before build, build or after build.Explore →
Software supply chainThe producers, components, tools and delivery relationships involved in creating and operating software.Explore →
Package managerA tool that resolves, retrieves and manages software packages. Resolved output can be useful generation evidence.Explore →
Build artifactAn output such as an executable, package, firmware image or container. Bind inventories to exact artifacts.Explore →
Release bindingThe explicit association between an inventory and an identified product version, variant and artifact.Explore →
Inventory revisionA change to the inventory data, which can occur without changing the underlying software release.Explore →
NormalizationResolving and organizing identities and relationships for use across inventories while retaining original evidence.Explore →

Standards and identifiers

TermDefinitionPractical guide
SPDXSystem Package Data Exchange: an open BOM data model with profiles for software and other information. Stable 3.0.1 is used in this edition.Explore →
CycloneDXAn open BOM specification from the OWASP project. Published version 1.7 is used in this edition.Explore →
SWIDSoftware Identification tags: software identity metadata referenced among NTIA’s 2021 automation options. Assess real receiving-tool support.Explore →
PURLPackage-URL: ecosystem-aware package identification syntax, standardized in ECMA-427. It is not an SBOM format.Explore →
CPECommon Platform Enumeration: structured naming used for product/platform identification, including vulnerability correlation.Explore →

Security and assurance

TermDefinitionPractical guide
VEXVulnerability Exploitability eXchange: a product-context vulnerability-status assertion.Explore →
CVECommon Vulnerabilities and Exposures: identifiers for vulnerability records. A CVE identifier does not prove a match applies to your product.Explore →
SCASoftware Composition Analysis: analysis capabilities commonly concerned with third-party components, vulnerabilities and licenses.Explore →
SSDFNIST Secure Software Development Framework: secure development practices. This build distinguishes final 1.1 from draft 1.2.Explore →
AttestationAn attributable assertion about software, a process or evidence. Its trust and scope need evaluation.Explore →
ExploitabilityWhether a vulnerability can be exploited in a specified context; inventory membership alone does not answer it.Explore →
Applicability assessmentA decision about whether a candidate vulnerability affects the identified product and configuration.Explore →

Buying and implementation

TermDefinitionPractical guide
Acceptance testA defined observable condition a supplier’s delivery needs to satisfy for the buyer to accept it.Explore →

A delivery can be standard, configured, custom, provided by a partner, on the roadmap or unavailable. These categories describe implementation responsibility and current capability; they are not quality scores. A requirement becomes useful when it includes scope, evidence and an acceptance condition.

Use definitions with their context

When exchanging data, use the exact vocabulary of the selected specification and version. A glossary definition is explanatory; it does not override a schema, contractual definition or legal provision.

When procuring software, define ambiguous units such as application, project, scan and inventory revision in the agreement. A shared technical definition can still conceal a different billing interpretation. Preserve both the technical meaning and the commercial unit.

Primary sources