CycloneDX e SPDX sono i due formati che soddisfano il requisito del CRA relativo agli SBOM leggibili da un dispositivo automatico. La scelta tra i due non è una questione di conformità: entrambi sono ammessi. È una questione di flusso di lavoro, ovvero quale formato si adatta meglio alla gestione delle vulnerabilità e alla verifica della conformità delle licenze nel proprio team. CycloneDX è un progetto OWASP ottimizzato per i casi d'uso della sicurezza. SPDX è uno standard della Linux Foundation che vanta il riconoscimento ISO/IEC 5962:2021. Questa pagina confronta entrambi i formati in base alle dimensioni rilevanti per la conformità al CRA e a BSI TR-03183, con esempi funzionanti per ciascuno.
Riepilogo
- Sia CycloneDX (OWASP) sia SPDX (Linux Foundation) soddisfano il requisito del CRA relativo al formato degli SBOM leggibili da un dispositivo automatico
- CycloneDX 1.6 o versioni successive è preferito per i flussi di lavoro sulla sicurezza; il supporto nativo VEX è arrivato nella versione 1.4 e la struttura
evidenceavanzata nella versione 1.5 - SPDX 2.2.1 è la versione standardizzata come ISO/IEC 5962:2021; SPDX 2.3 è la revisione stabile corrente ed è retrocompatibile con la baseline ISO. SPDX 3.0 è in corso come ISO/IEC DIS 5962
- La scelta del formato non incide sui campi obbligatori ai sensi di BSI TR-03183: i requisiti sui campi sono identici per entrambi
Formati SBOM ammessi dal CRA
Il CRA richiede formati «in un formato di uso comune e leggibile da un dispositivo automatico». In pratica, due standard soddisfano questo requisito:
| Formato | Standard | Adatto a |
|---|---|---|
| CycloneDX | OWASP | Sicurezza, supporto nativo VEX |
| SPDX | Linux Foundation | Conformità delle licenze, adozione più ampia |
Entrambi i formati sono ammessi. CycloneDX è sempre più preferito per i casi d'uso della sicurezza grazie al supporto nativo per:
- Vulnerability Exploitability eXchange (VEX)
- Advisory sulle vulnerabilità
- Grafi delle dipendenze
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
Confronto diretto
| Dimensione | CycloneDX | SPDX |
|---|---|---|
| Origine | Progetto OWASP | Linux Foundation |
| Spec stabile corrente | 1.7 (ottobre 2025); target 1.6 o superiore per il CRA | 2.3 (corrente); 3.0 in ISO DIS |
| Riconoscimento | OWASP, ECMA TC54 (in corso) | ISO/IEC 5962:2021 (copre SPDX 2.2.1) |
| Focus principale | Sicurezza e gestione delle vulnerabilità | Conformità delle licenze e revisione legale |
| Supporto VEX | Nativo (dalla versione 1.4, gennaio 2022) | Tramite CSAF esterno |
evidence dei componenti |
Identità e occorrenze dalla versione 1.5 (giugno 2023) | Non applicabile |
| Espressione delle licenze | Adeguata | Completa (la lista licenze SPDX è canonica) |
| Strumenti | Syft, Trivy, cdxgen producono CycloneDX nativamente | Syft, scancode-toolkit, FOSSA |
| Peso della spec | Più leggera, più facile da implementare | Più completa, più verbosa |
CycloneDX
Progetto OWASP. Progettato per la sicurezza fin dall'inizio: spec più leggera, VEX nativo, collegamento diretto ai CVE, solido supporto nativo degli strumenti (Trivy, Syft, cdxgen). Si scelga CycloneDX quando il tracciamento delle vulnerabilità è la priorità.
Esempio di voce componente CycloneDX:
{
"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 della Linux Foundation. SPDX 2.2.1 è riconosciuto come ISO/IEC 5962:2021; SPDX 2.3 è la revisione stabile corrente e rimane retrocompatibile con la baseline ISO. Sintassi completa per l'espressione delle licenze, consolidata esperienza nella conformità della supply chain e gestione più solida degli scenari di licenza complessi. Si scelga SPDX quando la conformità delle licenze e la revisione legale guidano il flusso di lavoro.
Esempio di voce componente SPDX:
{
"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..."
}
]
}
]
}
Come scegliere
| Caso d'uso | Raccomandazione |
|---|---|
| Focus principale su sicurezza e vulnerabilità | CycloneDX |
| Focus principale su conformità delle licenze | SPDX |
| Necessità di integrazione VEX per i flussi di gestione delle vulnerabilità | CycloneDX |
| Azienda con strumenti SPDX già in uso | SPDX |
| Mercato tedesco (allineamento BSI TR-03183) | Entrambi (entrambi consigliati) |
| Nessun formato preesistente | CycloneDX (più semplice, orientato alla sicurezza) |
Per la conformità al CRA, entrambi i formati funzionano. Il CRA non indica un formato preferito. Si scelga un formato e lo si applichi in modo coerente all'intero portafoglio di prodotti. È possibile generare entrambi dalla stessa build con strumenti come Syft o Trivy, ma standardizzarsi su uno riduce il carico operativo.
Il formato scelto non incide sui campi da compilare. Nome, versione, fornitore, PURL, hash, licenza e relazioni di dipendenza sono obbligatori ai sensi di BSI TR-03183 indipendentemente dal fatto che lo SBOM sia CycloneDX o SPDX.
Domande frequenti
Quali formati SBOM accetta il CRA?
Il CRA richiede formati «in un formato di uso comune e leggibile da un dispositivo automatico». CycloneDX (OWASP) e SPDX (Linux Foundation) sono i due formati che soddisfano questo requisito. Il Regolamento non li cita esplicitamente, ma nessun altro formato soddisfa attualmente questo livello nella pratica.
CycloneDX o SPDX: quale scegliere per la conformità al CRA?
Entrambi soddisfano il requisito del CRA relativo al formato «in un formato di uso comune e leggibile da un dispositivo automatico». Si scelga CycloneDX se la priorità è la sicurezza: dispone di supporto nativo VEX (Vulnerability Exploitability eXchange), si adatta meglio ai flussi di gestione delle vulnerabilità ed è sempre più il formato di riferimento per gli strumenti orientati al CRA. Si scelga SPDX se la priorità è la conformità delle licenze, un riconoscimento ISO più ampio (ISO/IEC 5962), o si dispone già di SPDX da precedenti attività di conformità open source. È possibile produrre entrambi dalla stessa build, ma standardizzarsi su uno nell'intero portafoglio di prodotti riduce il carico operativo. La scelta del formato non incide sui campi obbligatori ai sensi di BSI TR-03183.