// Sicurezza del softwareSBOM: la distinta dei componenti del tuo software.
Una SBOM è l’elenco di cosa c’è dentro il tuo software: librerie, versioni, licenze. Serve a rispondere in minuti alla domanda che prima o poi arriva — «questa vulnerabilità appena uscita ci riguarda?» — e da qualche tempo serve anche per legge.
A cosa serve davvero
L’obbligo normativo è arrivato dopo. Le ragioni pratiche c’erano già.
- Rispondere in minuti invece che in giorni quando esce una vulnerabilità su una libreria diffusa.
- Sapere quali licenze open source hai ereditato, prima che lo scopra l’ufficio legale del cliente.
- Rispondere ai questionari fornitori senza ricostruire tutto a mano ogni volta.
- Adempiere a quanto chiede il Cyber Resilience Act, che la prevede esplicitamente fra gli obblighi.
Cosa contiene
- Componenti e versioni
- Ogni libreria con la versione esatta. Senza versione precisa la SBOM non risponde alla domanda per cui esiste.
- Identificatori
- PURL o CPE, cioè nomi che una macchina può confrontare con i database di vulnerabilità. È ciò che rende l’elenco utilizzabile.
- Licenze
- La licenza dichiarata di ciascun componente, che è il lato meno tecnico e più insidioso della catena di fornitura.
- Relazioni
- Chi dipende da chi. Serve a distinguere una dipendenza diretta, che controlli, da una transitiva, che ti sei portato dietro.
- Origine
- Chi ha generato la distinta, quando e a partire da quale build. Una SBOM senza contesto invecchia senza che nessuno se ne accorga.
CycloneDX o SPDX
Due formati standard, entrambi accettati. La scelta pesa meno di quanto si teme.
- CycloneDX nasce in ambito sicurezza ed è il più diretto da usare con i dati di vulnerabilità.
- SPDX nasce in ambito licenze e ha una tradizione più lunga sul versante legale.
- Esistono conversioni fra i due: la scelta non è una porta che si chiude.
- Conta molto di più che la SBOM sia generata a ogni build, invece che scritta una volta a mano.
Come si produce
La regola sola che conta: generata dalla build, non compilata a mano.
- Genera la SBOM come parte della pipeline, alla stessa stregua di un artefatto di rilascio.
- Prendi le dipendenze dal gestore di pacchetti del progetto, non da un elenco tenuto a parte: il secondo diverge sempre.
- Includi le dipendenze transitive: sono la maggioranza dei componenti e la maggioranza delle vulnerabilità.
- Conservala accanto alla versione rilasciata: serve saper dire cosa c’era dentro la release di due anni fa, non solo dentro quella di oggi.
- Confrontala periodicamente con i database di vulnerabilità, altrimenti è una fotografia che non ti avvisa di niente.
Tre convinzioni sbagliate
«La facciamo quando ce la chiedono»
Ricostruire a posteriori le dipendenze di una release passata è molto più costoso che generarla al momento — e a volte non è più possibile.
«Basta l’elenco dei pacchetti diretti»
Le vulnerabilità che fanno notizia stanno quasi sempre in una dipendenza transitiva, che nessuno ha scelto consapevolmente.
«È un adempimento formale»
È l’unico strumento che risponde in tempi utili alla domanda «ci riguarda?». Chi ce l’ha chiude in mezz’ora ciò che gli altri chiudono in una settimana.
Se stai preparando la SBOM dei tuoi prodotti e non sai da dove partire, guardiamola insieme su un progetto vero.
Prenota una valutazionePagina aggiornata al 10 agosto 2026.