CycloneDX och SPDX är de två format som uppfyller CRA:s krav på en maskinläsbar SBOM. Valet mellan dem är inte en efterlevnadsfråga: båda duger. Det är en arbetsflödesfråga om vilket format som passar hur ditt team hanterar sårbarhetsspårning och licensefterlevnad. CycloneDX är ett OWASP-projekt optimerat för säkerhetssyften. SPDX är en Linux Foundation-standard med erkännande som ISO/IEC 5962:2021. Den här sidan jämför båda utifrån de dimensioner som spelar roll för CRA och BSI TR-03183-efterlevnad, med fungerande exempel på vardera.
Sammanfattning
- Både CycloneDX (OWASP) och SPDX (Linux Foundation) uppfyller CRA:s krav på ett allmänt använt och maskinläsbart format
- CycloneDX 1.6 eller senare är att föredra för säkerhetsarbetsflöden; inbyggt VEX-stöd kom i 1.4 och den rika
evidence-strukturen i 1.5 - SPDX 2.2.1 är den version som standardiserats som ISO/IEC 5962:2021; SPDX 2.3 är den aktuella stabila revisionen och är bakåtkompatibel med ISO-baslinjen. SPDX 3.0 är under framtagning som ISO/IEC DIS 5962
- Formatvalet påverkar inte vilka fält du är skyldig att fylla i enligt BSI TR-03183: fältkraven är identiska för båda formaten
Vilka SBOM-format godtar CRA?
CRA kräver ett "allmänt använt och maskinläsbart" format. I praktiken uppfyller två standarder kravet:
| Format | Standard | Bäst för |
|---|---|---|
| CycloneDX | OWASP | Säkerhetsfokus, inbyggt VEX-stöd |
| SPDX | Linux Foundation | Licensefterlevnad, bredare spridning |
Båda formaten är godkända. CycloneDX används i allt högre grad för säkerhetssyften tack vare sitt inbyggda stöd för:
- Vulnerability Exploitability eXchange (VEX)
- Säkerhetsrådgivning
- Beroendegrafer
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
Sida vid sida
| Dimension | CycloneDX | SPDX |
|---|---|---|
| Ursprung | OWASP-projekt | Linux Foundation |
| Senaste stabila spec | 1.7 (okt 2025); sikta på 1.6 eller senare för CRA | 2.3 (aktuell); 3.0 i ISO DIS |
| Standarderkännande | OWASP, ECMA TC54 (under framtagning) | ISO/IEC 5962:2021 (täcker SPDX 2.2.1) |
| Primärt fokus | Säkerhet och sårbarhetshantering | Licensefterlevnad och juridisk granskning |
| VEX-stöd | Inbyggt (sedan 1.4, jan 2022) | Via extern CSAF |
Komponent-evidence |
Identitet och förekomster sedan 1.5 (jun 2023) | Ej tillämpligt |
| Licensuttryck | Tillräckligt | Heltäckande (SPDX-licenslistan är kanonisk) |
| Verktyg | Syft, Trivy, cdxgen producerar CycloneDX direkt | Syft, scancode-toolkit, FOSSA |
| Specifikationens omfång | Lättare, enklare att implementera | Mer heltäckande, mer utförlig |
CycloneDX
OWASP-projekt. Designat för säkerhet från grunden: lättare spec, inbyggt VEX, direkt CVE-koppling, starkt inbyggt verktygsstöd (Trivy, Syft, cdxgen). Välj CycloneDX när sårbarhetsspårning är prioritet.
Exempel på en CycloneDX-komponentpost:
{
"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-standard. SPDX 2.2.1 är erkänd som ISO/IEC 5962:2021; SPDX 2.3 är den aktuella stabila revisionen och är bakåtkompatibel med ISO-baslinjen. Heltäckande licensuttryckssyntax, längre erfarenhet av leveranskedjeefterlevnad och starkare hantering av komplexa licensscenarier. Välj SPDX när licensefterlevnad och juridisk granskning styr ditt arbetsflöde.
Exempel på en SPDX-komponentpost:
{
"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..."
}
]
}
]
}
Så väljer du
| Användningsfall | Rekommendation |
|---|---|
| Primärt fokus är säkerhet och sårbarheter | CycloneDX |
| Primärt fokus är licensefterlevnad | SPDX |
| Behöver VEX-integration för sårbarhetsarbetsflöden | CycloneDX |
| Företag med befintliga SPDX-verktyg | SPDX |
| Tysk marknad (BSI TR-03183-anpassning) | Båda (båda rekommenderas) |
| Startar från noll utan tidigare formatpreferens | CycloneDX (enklare, säkerhetsfokus) |
För CRA-efterlevnad fungerar båda formaten. CRA anger inget föredraget format. Välj ett och var konsekvent i hela din produktportfölj. Du kan generera båda från samma bygge med verktyg som Syft eller Trivy, men att standardisera på ett format minskar den operativa omkostnaden.
Det format du väljer påverkar inte vilka fält du måste fylla i. Namn, version, leverantör, PURL, hash, licens och beroendeförhållanden krävs enligt BSI TR-03183 oavsett om din SBOM är CycloneDX eller SPDX.
Vanliga frågor
Vilka SBOM-format godtar CRA?
CRA kräver ett "allmänt använt och maskinläsbart" format. CycloneDX (OWASP) och SPDX (Linux Foundation) är de två format som uppfyller detta krav. Förordningen namnger dem inte explicit, men inga andra format når upp till den ribban i praktiken.
CycloneDX eller SPDX: vilket ska jag välja för CRA-efterlevnad?
Båda uppfyller CRA:s krav på ett "allmänt använt och maskinläsbart" format. Välj CycloneDX om din prioritet är säkerhet: det har inbyggt VEX-stöd (Vulnerability Exploitability eXchange), passar bättre för sårbarhetsarbetsflöden och används i allt högre grad som standardformat för CRA-anpassade verktyg. Välj SPDX om din prioritet är licensefterlevnad, bredare ISO-erkännande (ISO/IEC 5962) eller om du redan använder SPDX sedan tidigare arbete med öppen källkod. Du kan producera båda från samma bygge, men att standardisera på ett format i hela din produktportfölj minskar den operativa omkostnaden. Formatvalet påverkar inte vilka fält du är skyldig att fylla i enligt BSI TR-03183.