Requisiti SBOM secondo il Cyber Resilience Act (CRA) dell'UE
Requisiti SBOM del CRA europeo: formati accettati, campi obbligatori, livelli di qualità BSI TR-03183 e scadenze di conformità per i produttori.
In questo articolo
Il Cyber Resilience Act (CRA) dell'UE rende la distinta base del software (SBOM) un requisito legale per ogni prodotto con elementi digitali venduto nell'Unione Europea. Se il tuo prodotto contiene software (che si tratti di un'applicazione SaaS, di un dispositivo IoT o di un componente firmware), dovrai produrre e mantenere un SBOM conforme. Questa guida spiega cosa richiedono il CRA e la specifica tecnica BSI TR-03183, quali formati sono accettati, quali campi deve contenere il tuo SBOM, quando scattano le scadenze di conformità e quali sanzioni si applicano in caso di inadempienza.
Riepilogo
- Gli SBOM sono obbligatori secondo il CRA. Ogni prodotto con elementi digitali ne ha bisogno
- Formati accettati: CycloneDX (orientato alla sicurezza) o SPDX (orientato alle licenze)
- Deve includere tutte le dipendenze (dirette e transitive), non solo i componenti di primo livello
- BSI TR-03183 stabilisce il benchmark di qualità. Usalo come obiettivo di conformità
- Automatizza la generazione di SBOM nel CI/CD. I processi manuali non scalano
- Gli SBOM devono essere mantenuti per l'intero periodo di supporto (minimo 5 anni)
Importante: Gli SBOM sono obbligatori secondo il CRA, non facoltativi. Ogni prodotto con elementi digitali immesso sul mercato dell'UE deve disporre di un SBOM leggibile da macchina.
Cos'è un SBOM?
Una Software Bill of Materials (SBOM) è un inventario strutturato e leggibile da macchina di ogni componente software presente in un prodotto: librerie, framework, pacchetti del sistema operativo e le rispettive dipendenze. Può essere paragonata a un'etichetta nutrizionale per il software: elenca esattamente cosa contiene un prodotto, così che acquirenti e autorità di regolamentazione possano valutare i rischi, tracciare le vulnerabilità e verificare la conformità delle licenze. A differenza di un semplice elenco di componenti, un SBOM cattura anche le relazioni tra di essi (quali librerie dipendono da quali altre), formando un albero completo delle dipendenze. Il CRA rende questo inventario un requisito legale per tutti i prodotti con elementi digitali immessi sul mercato dell'UE.
Cosa richiede il CRA per gli SBOM?
Il CRA fa riferimento agli SBOM in due sezioni fondamentali del regolamento. Comprendere entrambe è essenziale per definire il perimetro di conformità della propria organizzazione.
Allegato I: Requisiti Essenziali
"I produttori identificano e documentano le vulnerabilità e i componenti contenuti nei prodotti, anche redigendo una distinta base del software in un formato di uso comune e leggibile da una macchina."
Questo significa:
- Gli SBOM sono obbligatori, non facoltativi
- Devono essere in formato leggibile da macchina (non PDF o fogli di calcolo)
- Devono coprire tutti i componenti, comprese le dipendenze transitive
Allegato VII: Documentazione Tecnica
Il fascicolo tecnico deve includere informazioni SBOM che consentano:
- Tracciamento delle vulnerabilità a livello di componente
- Identificazione dei fornitori
- Verifica della conformità delle licenze
- Pianificazione del fine vita
Quali formati SBOM sono accettati dal CRA?
Il CRA richiede formati "di uso comune e leggibili da macchina". Il regolamento non impone uno standard specifico, ma in pratica due formati soddisfano pienamente questo requisito e sono riconosciuti dalle autorità di sorveglianza del mercato:
| Formato | Standard | Ideale Per |
|---|---|---|
| CycloneDX | OWASP | Focus sulla sicurezza, supporto VEX nativo |
| SPDX | Linux Foundation | Conformità licenze, adozione più ampia |
Entrambi i formati sono accettati, ma CycloneDX è sempre più preferito per i casi d'uso di sicurezza grazie al suo supporto nativo per:
- Vulnerability Exploitability eXchange (VEX)
- Avvisi di sicurezza
- Grafi delle dipendenze
graph TD
SBOM((SBOM))
SCN[Nomi dei Componenti] --> SBOM
VS[Versioni] --> SBOM
SUP[Informazioni Fornitore] --> SBOM
DEP[Dipendenze] --> SBOM
LIC[Licenze] --> SBOM
PURL[URL dei Pacchetti] --> SBOM
HASH[Valori Hash] --> SBOM
OSC[Componenti Open Source] --> SBOM
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
Quali campi deve contenere un SBOM?
L'Ufficio federale tedesco per la sicurezza informatica (BSI) ha pubblicato TR-03183, che fornisce requisiti dettagliati di qualità SBOM che vanno oltre il minimo del CRA. Usalo come obiettivo di conformità.
Campi Obbligatori (BSI TR-03183)
- Nome e versione del componente
- Informazioni su fornitore/produttore
- Identificatori univoci (PURL, CPE)
- Relazioni di dipendenza
- Informazioni sulla licenza
Livelli di Qualità
TR-03183 definisce tre livelli di qualità:
| Livello | Descrizione |
|---|---|
| Base | Campi minimi compilati |
| Standard | Tutti i campi raccomandati |
| Completo | Albero delle dipendenze completo, verifica hash |
Sebbene TR-03183 sia uno standard tedesco, sta diventando il punto di riferimento de facto per la conformità CRA in tutta l'UE.
Quali sono le scadenze di conformità SBOM del CRA?
Il CRA prevede un'applicazione graduale con scadenze precise. I produttori devono pianificare fin da ora, poiché la prima scadenza è a meno di un anno.
| Data | Tappa fondamentale |
|---|---|
| 11 settembre 2026 | Entrano in vigore gli obblighi di segnalazione delle vulnerabilità. I produttori devono segnalare le vulnerabilità attivamente sfruttate entro 24 ore all'ENISA e alle autorità nazionali competenti |
| 11 dicembre 2027 | Applicazione completa. Tutti i prodotti con elementi digitali devono soddisfare integralmente i requisiti CRA, inclusi SBOM completi e aggiornati |
I prodotti immessi sul mercato dell'UE dopo dicembre 2027 che non dispongono di un SBOM conforme non potranno ottenere la marcatura CE e non potranno essere legalmente venduti. Questo vale tanto per i nuovi prodotti quanto per le nuove versioni di prodotti già esistenti.
Cosa succede in caso di non conformità?
La mancata conformità al CRA comporta conseguenze severe, sia dal punto di vista finanziario che operativo:
- Sanzioni fino a 15 milioni di EUR o il 2,5% del fatturato annuo globale (a seconda di quale importo sia maggiore)
- Ritiro del prodotto o ordine di richiamo dal mercato dell'UE
- Divieto di commercializzazione: i prodotti non conformi non possono ottenere la marcatura CE e non possono essere legalmente venduti nello Spazio Economico Europeo
- Impatto sulla catena di fornitura: i tuoi clienti potrebbero non poter utilizzare il tuo prodotto per la propria conformità CRA, creando un effetto a cascata lungo l'intera catena del valore
- Danno reputazionale: le azioni di sorveglianza del mercato sono pubbliche e possono influenzare la fiducia dei clienti e dei partner commerciali
Le autorità di sorveglianza del mercato di ciascuno Stato membro dell'UE saranno responsabili dell'applicazione di queste sanzioni. Le infrazioni più gravi, come la violazione dei requisiti essenziali di sicurezza dell'Allegato I, sono soggette alle sanzioni massime.
Errori SBOM comuni
1. Alberi delle dipendenze incompleti
Molti strumenti di analisi catturano solo le dipendenze dirette dichiarate nel manifest del progetto. Il CRA richiede le dipendenze transitive, ovvero i componenti da cui dipendono le tue dipendenze. Senza queste, il tuo SBOM sarà incompleto e non idoneo alla conformità.
Il Tuo Prodotto
├── Libreria A (diretta) ✓
│ ├── Libreria B (transitiva) ← Spesso mancante!
│ └── Libreria C (transitiva) ← Spesso mancante!
└── Libreria D (diretta) ✓
2. Informazioni sulla versione mancanti
Un SBOM senza informazioni accurate sulla versione è quasi inutile per la corrispondenza delle vulnerabilità. Assicurati che ogni componente abbia:
- Numeri di versione esatti (non intervalli)
- Valori hash per i componenti binari
- Identificatori PURL dove possibile
3. SBOM obsoleti
Un SBOM generato al momento della build ma mai aggiornato crea un falso senso di sicurezza. Implementa:
- Integrazione CI/CD per la generazione automatica di SBOM
- Controllo di versione per gli artefatti SBOM
- Rilevamento regolare delle deviazioni tra le build
4. Ignorare firmware e hardware
Per i prodotti con componenti embedded, ricorda di includere:
- Versioni e componenti del firmware
- Distinta base dell'hardware (HBOM) dove applicabile
- Componenti bootloader e kernel
Come iniziare
-
Verifica il tuo stato attuale: Generi SBOM oggi? In quale formato? Con quale copertura? Esegui un'analisi delle lacune rispetto ai requisiti del CRA e della BSI TR-03183 per capire quanto lavoro rimane.
-
Scegli il tuo formato: CycloneDX è la scelta migliore per i casi d'uso orientati alla sicurezza grazie al supporto VEX nativo. SPDX è più adatto alla conformità delle licenze e ha un'adozione più ampia. Molte organizzazioni adottano entrambi.
-
Automatizza la generazione: Integra la generazione SBOM nella tua pipeline CI/CD utilizzando strumenti come Syft, Trivy o cdxgen. Ogni build deve produrre automaticamente un SBOM aggiornato. I processi manuali non scalano e introducono errori.
-
Valida la qualità: Verifica i tuoi SBOM rispetto ai requisiti TR-03183. Tutti i campi obbligatori sono compilati? Le versioni sono esatte? Le dipendenze transitive sono incluse? Collega la validazione ai database delle vulnerabilità (NVD, OSV, GitHub Advisory Database, CISA KEV) per un monitoraggio proattivo.
-
Implementa il monitoraggio continuo: Ogni rilascio del prodotto deve generare un SBOM aggiornato e validato. Conserva gli SBOM per l'intero periodo di supporto del prodotto (minimo 5 anni secondo il CRA) e mantienili accessibili per le autorità di sorveglianza del mercato e per i clienti a valle.
-
Pianifica gli aggiornamenti: Stabilisci processi chiari affinché ogni versione del prodotto abbia un SBOM fresco, validato e tracciato nel sistema di controllo versione. Implementa il rilevamento delle deviazioni tra build successive per identificare modifiche impreviste nelle dipendenze. Gli SBOM obsoleti creano un falso senso di sicurezza e non soddisfano i requisiti del CRA.
Domande frequenti
Quali formati SBOM accetta il CRA?
Il CRA richiede formati "comunemente usati e leggibili dalle macchine." CycloneDX (OWASP) e SPDX (Linux Foundation) soddisfano questo requisito. Il regolamento non li nomina esplicitamente, ma nessun altro formato raggiunge questo livello nella pratica.
Gli elementi minimi NTIA soddisfano i requisiti del CRA?
Gli elementi minimi NTIA (nome del fornitore, nome del componente, versione, identificatori univoci, relazioni di dipendenza, autore dello SBOM e timestamp) si allineano in generale con quanto CRA e ACN richiedono al livello base. Ma BSI TR-03183 va oltre: i valori hash e gli identificatori PURL sono attesi per la conformità CRA.
Il CRA richiede uno SBOM anche per i componenti open source?
Sì. L'Allegato I obbliga i fabbricanti a documentare tutti i componenti in uno SBOM leggibile dalle macchine, senza eccezioni per l'open source. Ogni libreria open source nel tuo prodotto deve comparire nello SBOM con versione e identificatori.
Lo SBOM deve essere presentato al momento dell'immissione sul mercato o solo su richiesta?
Lo SBOM non deve essere presentato in modo proattivo. Fa parte del fascicolo tecnico (Allegato VII) e deve essere disponibile per le autorità di vigilanza del mercato su richiesta. Deve esistere al momento in cui il prodotto viene immesso sul mercato UE.
Il CRA richiede uno SBOM leggibile dalle macchine o è sufficiente un PDF?
L'Allegato I richiede esplicitamente un formato leggibile dalle macchine. Un PDF non è accettabile. CycloneDX o SPDX serializzato come JSON o XML soddisfa il requisito. Un foglio di calcolo o un documento leggibile dall'uomo non lo soddisfa.
Per quanto tempo deve essere conservato uno SBOM dopo il ritiro del prodotto?
Il fascicolo tecnico, che include lo SBOM, deve essere conservato per 10 anni dalla data di immissione sul mercato dell'ultima unità, o per il periodo di utilizzo previsto se più lungo (CRA Articolo 23). Lo SBOM deve essere mantenuto aggiornato per tutto il periodo di supporto attivo, che il CRA fissa a un minimo di 5 anni.
Prossimi passi
Gestisci la conformità CRA su più prodotti? CRA Evidence tiene traccia dei tuoi SBOM, li valuta secondo i livelli di qualità BSI TR-03183 e segnala le nuove vulnerabilità non appena emergono.
Dopo aver scelto il formato, consulta la guida alla generazione di SBOM per automatizzare la creazione in CI/CD. Leggi la guida al fascicolo tecnico Allegato VII per capire dove si inserisce il tuo SBOM nella documentazione di conformità complessiva.
Questo articolo è solo a scopo informativo e non costituisce consulenza legale. Per indicazioni specifiche sulla conformità, consulta un consulente legale qualificato.
Articoli correlati
Il CRA si applica al tuo prodotto?
Rispondi a 6 semplici domande per scoprire se il tuo prodotto rientra nell'ambito del Cyber Resilience Act dell'UE. Ottieni il risultato in meno di 2 minuti.
Pronto a raggiungere la conformità CRA?
Inizia a gestire i tuoi SBOM e la documentazione di conformità con CRA Evidence.