CycloneDX vs. SPDX: kies een CRA-conform SBOM-formaat

CycloneDX en SPDX zijn de twee formaten die voldoen aan de CRA-vereiste voor een machineleesbare SBOM. De keuze tussen beide is geen compliancevraag: beiden kwalificeren. Het is een workflowvraag over welk formaat het beste aansluit op de manier waarop uw team kwetsbaarheidsbeheer en licentienaleving aanpakt. CycloneDX is een OWASP-project dat is geoptimaliseerd voor beveiligingstoepassingen. SPDX is een Linux Foundation-standaard met ISO/IEC 5962:2021-erkenning. Op deze pagina worden beide formaten vergeleken op de dimensies die van belang zijn voor CRA- en BSI TR-03183-compliance, met werkende voorbeelden van elk formaat.

Samenvatting

  • Zowel CycloneDX (OWASP) als SPDX (Linux Foundation) voldoen aan de CRA-vereiste voor een algemeen gebruikt en machineleesbaar formaat
  • CycloneDX 1.6 of later heeft de voorkeur voor beveiligingsworkflows; native VEX-ondersteuning is beschikbaar vanaf versie 1.4 en de rijke evidence-structuur vanaf versie 1.5
  • SPDX 2.2.1 is de versie die is gestandaardiseerd als ISO/IEC 5962:2021; SPDX 2.3 is de huidige stabiele versie en is achterwaarts compatibel met de ISO-baseline. SPDX 3.0 is in behandeling als ISO/IEC DIS 5962
  • De formaatkeuze heeft geen invloed op de verplichte velden onder BSI TR-03183: de veldvereisten zijn voor beide formaten gelijk
2
Geaccepteerde formaten
CycloneDX of SPDX
VEX
CycloneDX native
Vulnerability eXploitability
ISO 5962
SPDX 2.2.1-erkenning
Internationale standaard 2021
Dec 2027
Volledige handhaving
Formaat moet aanwezig zijn

Welke SBOM-formaten accepteert de CRA?

De CRA vereist "algemeen gebruikt en machineleesbaar" formaat. In de praktijk kwalificeren twee standaarden:

Formaat Standaard Meest geschikt voor
CycloneDX OWASP Beveiligingsgericht, native VEX-ondersteuning
SPDX Linux Foundation Licentienaleving, bredere adoptie

Beide formaten worden geaccepteerd. CycloneDX wordt steeds vaker gekozen voor beveiligingstoepassingen vanwege de native ondersteuning voor:

  • Vulnerability Exploitability eXchange (VEX)
  • Beveiligingsadviezen
  • Afhankelijkheidsgraphs
graph LR
    SCN[Component Names] --- SBOM((SBOM))
    VS[Versions] --- SBOM
    SUP[Supplier Info] --- SBOM
    DEP[Dependencies] --- SBOM
    SBOM --- LIC[Licenses]
    SBOM --- PURL[Package URLs]
    SBOM --- HASH[Hash Values]
    SBOM --- OSC[Open Source Components]
    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

Zij aan zij vergeleken

Dimensie CycloneDX SPDX
Oorsprong OWASP-project Linux Foundation
Meest recente stabiele versie 1.7 (oktober 2025); target 1.6 of later voor CRA 2.3 (huidig); 3.0 in ISO DIS
Standaardherkenning OWASP, ECMA TC54 (in behandeling) ISO/IEC 5962:2021 (dekt SPDX 2.2.1)
Primaire focus Beveiliging en kwetsbaarheidsbeheer Licentienaleving en juridische beoordeling
VEX-ondersteuning Native (vanaf 1.4, januari 2022) Via extern CSAF
Component evidence Identiteit en vindplaatsen vanaf 1.5 (juni 2023) Niet van toepassing
Licentie-expressie Voldoende Uitgebreid (SPDX-licentielijst is canoniek)
Tooling Syft, Trivy, cdxgen produceren native CycloneDX Syft, scancode-toolkit, FOSSA
Specificatieomvang Compacter, eenvoudiger te implementeren Uitgebreider, meer woordenrijk

CycloneDX

OWASP-project. Ontworpen voor beveiliging als uitgangspunt: compactere specificatie, native VEX, directe CVE-koppeling, sterke native tooling (Trivy, Syft, cdxgen). Kies CycloneDX wanneer kwetsbaarheidsbeheer de prioriteit is.

Voorbeeld van een CycloneDX-componentvermelding:

{
  "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

Linux Foundation-standaard. SPDX 2.2.1 is erkend als ISO/IEC 5962:2021; SPDX 2.3 is de huidige stabiele versie en blijft achterwaarts compatibel met de ISO-baseline. Uitgebreide licentie-expressiesyntaxis, langere staat van dienst in toeleveringsketencompliance en sterkere verwerking van complexe licentiescenario's. Kies SPDX wanneer licentienaleving en juridische beoordeling uw workflow bepalen.

Voorbeeld van een SPDX-componentvermelding:

{
  "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..."
        }
      ]
    }
  ]
}

Hoe kiest u het juiste formaat?

Gebruiksscenario Aanbeveling
Primaire focus is beveiliging en kwetsbaarheden CycloneDX
Primaire focus is licentienaleving SPDX
VEX-integratie nodig voor kwetsbaarheidsworkflows CycloneDX
Enterprise met bestaande SPDX-tooling SPDX
Duitse markt (BSI TR-03183-aansluiting) Beide (beide aanbevolen)
Nieuw beginnen zonder eerdere formaatvoorkeur CycloneDX (eenvoudiger, beveiligingsgericht)

Voor CRA-compliance werkt elk formaat. De CRA noemt geen voorkeursformaat. Kies er een en houd dat consistent aan in uw productportfolio. U kunt beide formaten genereren vanuit dezelfde build met tools als Syft of Trivy, maar standaardiseren op één formaat vermindert de operationele overhead.

BSI TR-03183-veldvereisten gelden voor beide formaten

Het formaat dat u kiest, heeft geen invloed op de verplichte velden. Naam, versie, leverancier, PURL, hash, licentie en afhankelijkheidsrelaties zijn vereist onder BSI TR-03183, ongeacht of uw SBOM CycloneDX of SPDX is.

Veelgestelde vragen

Welke SBOM-formaten accepteert de CRA?

De CRA vereist formaten die "algemeen gebruikt en machineleesbaar" zijn. CycloneDX (OWASP) en SPDX (Linux Foundation) zijn de twee formaten die aan deze vereiste voldoen. De verordening noemt ze niet expliciet, maar geen andere formaten voldoen in de praktijk momenteel aan de lat.

CycloneDX of SPDX: welk formaat kies ik voor CRA-compliance?

Beide voldoen aan de CRA-vereiste voor een "algemeen gebruikt en machineleesbaar" formaat. Kies CycloneDX als uw prioriteit beveiliging is: het heeft native VEX-ondersteuning (Vulnerability Exploitability eXchange), past beter bij kwetsbaarheidsworkflows en wordt steeds vaker gekozen voor CRA-gerichte tooling. Kies SPDX als uw prioriteit licentienaleving is, bredere ISO-erkenning (ISO/IEC 5962) telt, of u al SPDX gebruikt vanuit eerder opensourcecompliance-werk. U kunt beide genereren vanuit dezelfde build, maar standaardiseren op één formaat in uw productportfolio vermindert de operationele overhead. De formaatkeuze heeft geen invloed op de verplichte velden onder BSI TR-03183.

Wat u nu kunt doen

  1. Bepaal uw formaat: CycloneDX voor beveiligingsgerichte teams, SPDX als u bestaande licentiecompliance-workflows heeft. Twijfelt u, start dan met CycloneDX (minimaal versie 1.4 voor CRA).
  2. Controleer uw verplichte velden aan de hand van BSI TR-03183-kwaliteitsniveaus: naam, versie, leverancier, PURL/CPE, hash, afhankelijkheden, licenties. Deze gelden voor beide formaten.
  3. Begrijp de Bijlage I-verplichtingen waaraan uw SBOM moet voldoen: zie CRA SBOM-vereisten voor formaat, reikwijdte en documentatieregels van Bijlage VII.
  4. Automatiseer de generatie in CI/CD met Syft, Trivy of cdxgen. Een handmatige export voldoet niet aan de doorlopende updateverplichting die wordt geactiveerd bij elke release, patch of componentwijziging.
  5. Plaats uw SBOM in het technisch dossier van Bijlage VII (punt 2(b) voor de beschrijving van de kwetsbaarheidsresponsprocedures; punt 8 voor exemplaren op verzoek), klaar voor markttoezichtautoriteiten. Als u SBOM-inname liever niet zelf inricht, verwerkt CRA Evidence CycloneDX/SPDX-inname en TR-03183-kwaliteitsscoring over productversies.