Generating SPDX SBOM

With increasing cybersecurity threats and regulations, embedded software teams must manage software components and dependencies. Software Bills of Materials (SBOM) provide a detailed inventory of all software elements in an embedded system. Among various formats, SPDX (Software Package Data Exchange) is widely adopted and detailed. Let’s deep dive.

What is SPDX?

SPDX, or Software Package Data Exchange, is a standard for communicating software package contents, origins, and licensing terms. It streamlines compliance verification and risk analysis.

Developed by the Linux Foundation, SPDX addresses the complexity of software supply chains, offering a standardized documentation method. It has evolved over time with community input to meet changing software and cybersecurity needs.

What is a SPDX SBOM?

A SPDX SBOM is a software bill of materials using the SPDX standard format. It inventories all software components, including versions, origins, and licenses of a device.

It aids in managing security vulnerabilities (CVE and more), ensuring compliance with cybersecurity and industry regulations, and understanding the software composition. By providing a comprehensive overview, it allows organizations to pinpoint exactly which components are used, ensuring the integrity and security of the entire embedded system.

Example of sbom spdx format

What will you find in SBOMs using the SPDX format?

  • Comprehensive inventory: Includes detailed software component information, such as version numbers, sources, and their relationship within the system.

  • Licensing information: Provides license details for compliance management, helping organizations adhere to open-source software licenses and avoid legal risks.

  • Vulnerability management: Helps track and manage vulnerabilities effectively, keeping systems protected against known threats by referencing databases like CVE (Common Vulnerabilities and Exposures).

SPDX SBOM formats: SPDX 2.2 vs SPDX 3.0

SPDX SBOMs are available in tag-value and JSON formats, which enable easy machine readability and automation.

SPDX 3.0 adds flexibility and integrates additional metadata, expanding usage beyond security regulation conformity to include building information, datasets, AI, etc. This broadens the applicability of SBOMs, making them useful for complex modern software ecosystems.

SPDX SBOM formats: spdx 2.2 vs spdx 3.0

Why use SPDX software bill of materials?

  • Enhanced security: Identifies and mitigates security vulnerabilities by maintaining a clear record of all components and their updates.

  • Compliance management: Ensures adherence to licensing requirements and helps demonstrate due diligence in regulatory environments.

  • Improved transparency: Offers clear visibility of software components, facilitating better decision-making and quicker response times in addressing issues.

Alternatives to SPDX SBOMs

CycloneDX offers an alternative to SPDX for generating software bills of materials (SBOM). CycloneDX is particularly focused on application security contexts and provides additional data fields specific to threat modeling and security assessments. For more information, read our article on CycloneDX SBOM.

The Embedded Kit also offers a specific SBOM format which includes package patches, package configurations, and kernel configurations to simplify vulnerability management. This SBOM can be used with vulnerability scanners to identify and monitor Linux systems vulnerabilities. You can test the open-source meta-cvescan here.

The generation of SBOM is becoming increasingly critical for software engineering teams and SPDX provides one standard way to do it. By providing detailed and standardized documentation of software components, SPDX SBOMs indeed offer a robust tool for managing and mitigating risks associated with software vulnerabilities and licensing issues.

Many software composition analysis tools now support SPDX input, among which CVE Scan, a vulnerability management tool developed by The Embedded Kit.

Discover more from The Embedded Kit

Subscribe now to keep reading and get access to the full archive.

Continue reading