🚀 NEW
Generate Embedded SBOMs for C/C++

SBOM Requirements for the CRA: A Guide to BSI TR-03183

| Interlynk

EU Cyber Resilience Act SBOM requirements based on Germany BSI Technical Guideline TR-03183

The EU Cyber Resilience Act (Regulation (EU) 2024/2847) became law in December 2024. It requires a software bill of materials for any product with digital elements sold in the EU. But the law sets a low bar on detail. Your SBOM has to be machine-readable and cover at least the product's top-level dependencies. The exact format and the minimum data fields get defined later, by the European Commission, through implementing acts.

Until those rules arrive, Germany's BSI has the most detailed answer to what a CRA-grade SBOM should actually contain. Its Technical Guideline TR-03183 turns the CRA's general language into specific requirements, and Part 2 covers the SBOM.

First, what TR-03183 is not

It is not law. The BSI says plainly that the guideline is not binding, cannot serve as a presumption of conformity, and will be replaced by harmonized European standards once those exist. Following it to the letter does not automatically make you CRA-compliant.

What it gives you is the clearest preview available of where the formal rules are heading, written as requirements you can test against today. The guideline now comes in several parts:


Part

Scope

Part 1

General requirements for manufacturers and products

Part 2

Software Bill of Materials (the focus of this guide)

Part 3

Vulnerability reports and notifications

Module H

Conformity based on full quality assurance

Part 2 is on version 2.1.0, published August 2025. Two things to know about versions:

  • To stay aligned, use the current version. The one before it is acceptable for up to six months after a new release ships.

  • BSI revises the guideline regularly. Check bsi.bund.de for the latest before you rely on any single version.

Format requirements

An SBOM has to be machine-processable. That means JSON or XML, in one of two formats:

Format

Version mapped in v2.1.0

CycloneDX

1.6

SPDX

3.0.1

Version 2.1.0 added field-by-field mappings for both formats, which cut down the old guesswork about how each required value should appear. BSI also publishes a CycloneDX property taxonomy on GitHub for the fields specific to the guideline.

Generate a separate SBOM for every software version. You only regenerate an SBOM for an existing version when new component information turns up, or when you correct an error in the data.

Content requirements

The guideline separates what the document needs from what each component needs.

At the document level:

  • Identify the creator, by email, or a URL as a fallback.

  • Record the date and time the component data was collected.

For each component:

Field

Requirement

Name and version

Required. SemVer or calendar versioning preferred.

Dependencies

Required. Record the components each one relies on, not just a flat list.

License

Required. Use the SPDX identifier. Fallbacks are defined for licenses not in the SPDX list.

Hash

Required. SHA-256.

Source/executable URI, CPE, PURL

Optional, but useful for matching and traceability.

Version 2.1.0 also reviewed the licensing section and added handling for virtual and referenced components. Those cover parts of a product that aren't a simple shipped library.

Where SBOMs and vulnerabilities meet

TR-03183 keeps vulnerability data out of the SBOM on purpose. To say which flaws affect a product, and whether they're actually exploitable, it points to CSAF with a VEX profile. The two documents do different jobs:

Document

Answers

SBOM

What components are in the software

VEX / CSAF

Which vulnerabilities apply, and whether they're exploitable

The reason for the split is timing. A component inventory barely moves between releases. Vulnerability status changes daily. Separate documents let each one update on its own clock.

The split is also where the hard part begins. Two things have to be right before an SBOM produces usable vulnerability intelligence:

  1. Clean, machine-matchable identifiers (CPE or PURL) on every component.

  2. Complete, accurate dependency relationships.

The second one trips up most tools. Plenty of generators emit a list of components and quietly drop the structure connecting them. Once those relationships are gone, answering "does this new CVE affect us, and how far down does it reach" becomes guesswork. A compliant SBOM is the starting point. What it's actually worth in an incident depends on the depth and accuracy underneath it.

How this fits your CRA work

For any manufacturer selling into Germany, TR-03183 is the reference to design against, and the best signal available for the EU-wide rules still being written. The SBOM is one piece of EU Cyber Resilience Act compliance, which also covers vulnerability reporting, secure-by-design, and technical documentation across the product's support period.

Interlynk generates, ingests, and enriches SBOMs in CycloneDX and SPDX, resolves the full dependency tree with relationships intact, and keeps components and vulnerabilities linked. The SBOM you build for the guideline stays useful for the vulnerability management it's meant to support.

Trusted by security and compliance teams at 100+ regulated companies

See your SBOM Done Right

Interlynk automates SBOMs, manages open source risks, monitors suppliers, and prepares you for the post-quantum era, all in one trusted platform.

Trusted by security and compliance teams at 100+ regulated companies

Interlynk automates SBOMs, manages open source risks, monitors suppliers, and prepares you for the post-quantum era, all in one trusted platform.

See your SBOM Done Right

Trusted by security and compliance teams at 100+ regulated companies

Interlynk automates SBOMs, manages open source risks, monitors suppliers, and prepares you for the post-quantum era, all in one trusted platform.

See your SBOM Done Right