Server

Version: 25.03

1. Introduction to SBOM

A Software Bill of Materials (SBOM) serves as a formal, machine-readable inventory that uniquely identifies software components and their contents. Beyond basic identification, it tracks copyright and licensing details. Organizations use SBOM to enhance supply chain transparency, and it is rapidly becoming a mandatory deliverable in software distribution.

2. SBOM Core Requirements

The National Telecommunications and Information Administration (NTIA) has established baseline requirements for SBOM implementation. These essential data elements enable component tracking throughout the software supply chain and serve as the foundation for extended features such as license tracking and vulnerability monitoring.

Core FieldDefinition
SupplierEntity responsible for component creation and identification
ComponentOfficial designation of the software unit
VersionTracking identifier for component iterations
Other identifiersSupplementary reference keys
DependenciesMapping of component relationships and inclusions
SBOM authorEntity generating the SBOM documentation
TimestampSBOM generation date and time
Recommended Optional Fields
Component hashDigital fingerprint for security verification
Lifecycle phaseDevelopment stage at SBOM creation

3. openEuler SBOM Implementation

openEuler's SBOM framework incorporates extensive metadata tracking through SPDX, including:

Base FieldSPDX Path
Supplierdocument->packages->supplier
Namedocument->packages->name
Versiondocument->packages->versionInfo (epoch:version-release in openEuler)
Other identifiersdocument->packages->externalRefs->purl
Dependenciesdocument->packages->externalRefs->purl
SBOM authordocument->creationInfo->creators
Timestampdocument->creationInfo->created
Component hashdocument->packages->checksums
Lifecycle phaseNot supported
Other relationshipsInternal subcomponents: document->packages->externalRefs(category:PROVIDE_MANAGER)->purl
Runtime dependencies: document->relationships(relationshipType:DEPENDS_ON)
License infodocument->packages->licenseDeclared document->packages->licenseConcluded
Copyright infodocument->packages->copyrightText
Upstream communitydocument->packages->externalRefs(category:SOURCE_MANAGER)->url
Patch informationPatch files: document->files(fileTypes:SOURCE)
Patch relationships: document->relationships(relationshipType:PATCH_APPLIED)
Component sourcedocument->packages->downloadLocation
Component detailsdocument->packages->description document->packages->summary
Website/Blogdocument->packages->homepage

4. SBOM Structure

The system uses RPM packages as the fundamental unit for SBOM generation and analysis.