CycloneDX vs. SPDX: CRA-konformes SBOM-Format wählen

CycloneDX und SPDX sind die beiden Formate, die die maschinenlesbare SBOM-Anforderung des CRA erfüllen. Die Wahl zwischen ihnen ist keine Compliance-Frage: Beide Formate qualifizieren sich. Es ist eine Workflow-Frage, nämlich welches Format zu den Abläufen Ihres Teams bei Schwachstellen-Tracking und Lizenz-Compliance passt. CycloneDX ist ein OWASP-Projekt, das von Grund auf für Sicherheitsanwendungen optimiert wurde. SPDX ist ein Standard der Linux Foundation und trägt die Anerkennung als ISO/IEC 5962:2021. Diese Seite vergleicht beide Formate in den Dimensionen, die für die CRA- und BSI-TR-03183-Compliance relevant sind, mit funktionierenden Beispielen für jedes Format.

Zusammenfassung

  • Sowohl CycloneDX (OWASP) als auch SPDX (Linux Foundation) erfüllen die Anforderung des CRA an ein maschinenlesbares Format
  • CycloneDX 1.6 oder höher ist für Sicherheits-Workflows zu bevorzugen; native VEX-Unterstützung wurde in Version 1.4 eingeführt, die umfangreiche evidence-Struktur in Version 1.5
  • SPDX 2.2.1 ist die als ISO/IEC 5962:2021 normierte Version; SPDX 2.3 ist die aktuelle stabile Revision und abwärtskompatibel mit dem ISO-Standard. SPDX 3.0 befindet sich als ISO/IEC DIS 5962 in Bearbeitung
  • Die Format-Wahl hat keinen Einfluss darauf, welche Felder Sie nach BSI TR-03183 befüllen müssen: Die Feldanforderungen sind für beide Formate identisch
2
Zulässige Formate
CycloneDX oder SPDX
VEX
CycloneDX nativ
Vulnerability eXploitability
ISO 5962
SPDX-2.2.1-Anerkennung
Internationaler Standard 2021
Dez. 2027
Volle Anwendung
Format muss vorhanden sein

Welche SBOM-Formate akzeptiert der CRA?

Der CRA schreibt Formate „in einem gängigen maschinenlesbaren Format" vor. In der Praxis qualifizieren sich zwei Standards:

Format Standard Am besten geeignet für
CycloneDX OWASP Sicherheitsfokus, native VEX-Unterstützung
SPDX Linux Foundation Lizenz-Compliance, breitere Verbreitung

Beide Formate werden akzeptiert. CycloneDX wird zunehmend für Sicherheitsanwendungen bevorzugt, da es native Unterstützung bietet für:

  • Vulnerability Exploitability eXchange (VEX)
  • Sicherheitshinweise
  • Abhängigkeitsgraphen
graph LR
    SCN[Komponentennamen] --- SBOM((SBOM))
    VS[Versionen] --- SBOM
    SUP[Lieferanteninformationen] --- SBOM
    DEP[Abhängigkeiten] --- SBOM
    SBOM --- LIC[Lizenzen]
    SBOM --- PURL[Package-URLs]
    SBOM --- HASH[Hash-Werte]
    SBOM --- OSC[Open-Source-Komponenten]
    style SBOM fill:#008080,color:#fff,stroke:#006666,stroke-width:4px
    style SCN fill:#e8f4f8,stroke:#008080,color:#333
    style VS fill:#e8f4f8,stroke:#008080,color:#333
    style SUP fill:#e8f4f8,stroke:#008080,color:#333
    style DEP fill:#e8f4f8,stroke:#008080,color:#333
    style LIC fill:#e8f4f8,stroke:#008080,color:#333
    style PURL fill:#e8f4f8,stroke:#008080,color:#333
    style HASH fill:#e8f4f8,stroke:#008080,color:#333
    style OSC fill:#e8f4f8,stroke:#008080,color:#333

Gegenüberstellung

Dimension CycloneDX SPDX
Ursprung OWASP-Projekt Linux Foundation
Aktuelle stabile Spezifikation 1.7 (Oktober 2025); Ziel CRA: Version 1.6 oder höher 2.3 (aktuell); 3.0 in ISO DIS
Normanerkennung OWASP, ECMA TC54 (in Bearbeitung) ISO/IEC 5962:2021 (abdeckt SPDX 2.2.1)
Primärer Fokus Sicherheit und Schwachstellen-Management Lizenz-Compliance und rechtliche Prüfung
VEX-Unterstützung Nativ (seit Version 1.4, Januar 2022) Über externe CSAF
Komponenten-evidence Identität und Vorkommen seit Version 1.5 (Juni 2023) Nicht zutreffend
Lizenz-Ausdruck Ausreichend Umfassend (SPDX-Lizenzliste ist kanonisch)
Werkzeuge Syft, Trivy, cdxgen erzeugen CycloneDX nativ Syft, scancode-toolkit, FOSSA
Spezifikationsumfang Schlanker, einfacher umzusetzen Umfangreicher, ausführlicher

CycloneDX

OWASP-Projekt. Von Grund auf für Sicherheit konzipiert: schlankere Spezifikation, natives VEX, direkte CVE-Verknüpfung, starke native Werkzeugunterstützung (Trivy, Syft, cdxgen). Wählen Sie CycloneDX, wenn das Schwachstellen-Tracking Priorität hat.

Beispiel-Eintrag einer CycloneDX-Komponente:

{
  "bomFormat": "CycloneDX",
  "specVersion": "1.5",
  "version": 1,
  "components": [
    {
      "type": "library",
      "name": "lodash",
      "version": "4.17.21",
      "purl": "pkg:npm/lodash@4.17.21",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "cc6d..."
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ]
    }
  ]
}

SPDX

Standard der Linux Foundation. SPDX 2.2.1 ist als ISO/IEC 5962:2021 anerkannt; SPDX 2.3 ist die aktuelle stabile Revision und bleibt abwärtskompatibel mit dem ISO-Standard. Umfassende Lizenz-Ausdruckssyntax, längere Erfolgsgeschichte bei der Supply-Chain-Compliance und stärkere Handhabung komplexer Lizenzierungsszenarien. Wählen Sie SPDX, wenn Lizenz-Compliance und rechtliche Prüfung Ihren Workflow bestimmen.

Beispiel-Eintrag einer SPDX-Komponente:

{
  "spdxVersion": "SPDX-2.3",
  "dataLicense": "CC0-1.0",
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "my-application",
  "packages": [
    {
      "SPDXID": "SPDXRef-Package-lodash",
      "name": "lodash",
      "versionInfo": "4.17.21",
      "downloadLocation": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
      "licenseConcluded": "MIT",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "cc6d..."
        }
      ]
    }
  ]
}

Auswahlkriterien

Anwendungsfall Empfehlung
Primärer Fokus liegt auf Sicherheit und Schwachstellen CycloneDX
Primärer Fokus liegt auf Lizenz-Compliance SPDX
VEX-Integration für Schwachstellen-Workflows erforderlich CycloneDX
Unternehmen mit bestehender SPDX-Werkzeugkette SPDX
Deutscher Markt (BSI-TR-03183-Ausrichtung) Beide (beide empfohlen)
Neustart ohne vorherige Format-Präferenz CycloneDX (schlanker, sicherheitsfokussiert)

Für die CRA-Compliance funktioniert jedes Format. Der CRA benennt kein bevorzugtes Format. Wählen Sie eines und setzen Sie es konsequent in Ihrem gesamten Produktportfolio ein. Sie können beide Formate aus demselben Build mit Werkzeugen wie Syft oder Trivy erzeugen, aber die Standardisierung auf eines verringert den operativen Aufwand.

BSI-TR-03183-Feldanforderungen gelten für beide Formate

Das von Ihnen gewählte Format hat keinen Einfluss darauf, welche Felder Sie befüllen müssen. Name, Version, Lieferant, PURL, Hash, Lizenz und Abhängigkeitsbeziehungen sind nach BSI TR-03183 vorgeschrieben, unabhängig davon, ob Ihre SBOM CycloneDX oder SPDX verwendet.

Häufig gestellte Fragen

Welche SBOM-Formate akzeptiert der CRA?

Der CRA verlangt Formate „in einem gängigen maschinenlesbaren Format". CycloneDX (OWASP) und SPDX (Linux Foundation) sind die beiden Formate, die diese Anforderung erfüllen. Die Verordnung nennt sie nicht ausdrücklich, aber in der Praxis erfüllt kein anderes Format derzeit diese Anforderung.

CycloneDX oder SPDX: Welches Format soll ich für die CRA-Compliance wählen?

Beide erfüllen die Anforderung des CRA an ein Format „in einem gängigen maschinenlesbaren Format". Wählen Sie CycloneDX, wenn Ihr Schwerpunkt Sicherheit ist: Es bietet native VEX-Unterstützung (Vulnerability Exploitability eXchange), passt besser zu Schwachstellen-Workflows und wird zunehmend als bevorzugtes Format für CRA-konforme Werkzeuge verwendet. Wählen Sie SPDX, wenn Ihr Schwerpunkt Lizenz-Compliance ist, wenn Sie die breitere ISO-Anerkennung (ISO/IEC 5962) benötigen oder wenn Sie SPDX bereits aus früherer Open-Source-Compliance-Arbeit einsetzen. Sie können beide Formate aus demselben Build erzeugen, aber die Standardisierung auf eines quer durch Ihr Produktportfolio verringert den operativen Aufwand. Die Format-Wahl hat keinen Einfluss darauf, welche Felder Sie nach BSI TR-03183 befüllen müssen.

Nächste Schritte

  1. Bestätigen Sie Ihr Format: CycloneDX für sicherheitsorientierte Teams, SPDX wenn Sie bereits Lizenz-Compliance-Workflows haben. Im Zweifelsfall beginnen Sie mit CycloneDX (mindestens Version 1.4 für den CRA).
  2. Prüfen Sie Ihre Pflichtfelder anhand der BSI-TR-03183-Qualitätsstufen: Name, Version, Lieferant, PURL/CPE, Hash, Abhängigkeiten, Lizenzen. Diese gelten für beide Formate.
  3. Machen Sie sich mit den Anhang-I-Pflichten vertraut, die Ihre SBOM erfüllen muss: Unter CRA-SBOM-Anforderungen finden Sie Format, Umfang und die Dokumentationsregeln nach Anhang VII.
  4. Automatisieren Sie die Erzeugung in CI/CD mit Syft, Trivy oder cdxgen. Ein manueller Export erfüllt die fortlaufende Aktualisierungspflicht nicht, die durch jede Version, jeden Patch oder jede Komponentenänderung ausgelöst wird.
  5. Legen Sie Ihre SBOM in die technische Dokumentation nach Anhang VII ab (Nummer 2 Buchstabe b für die Beschreibung der Schwachstellenbehandlung; Nummer 8 für Kopien auf Anfrage), bereit für die Marktüberwachungsbehörden. Wenn Sie den SBOM-Import nicht von Grund auf aufbauen möchten, übernimmt CRA Evidence den CycloneDX/SPDX-Import und die TR-03183-Qualitätsbewertung über Produktversionen hinweg.