SBOM
CycloneDX vs. SPDX
CycloneDX ja SPDX ovat ne kaksi SBOM-formaattia, joita lähes jokainen työkalu tukee. Molemmat kuvaavat ohjelmiston komponentit ja niiden väliset suhteet. Ne eroavat siinä, mistä ne ovat lähtöisin, mitä muuta ne sisältävät ja mikä standardointielin on niiden takana.
Päivitetty
Lyhyt vastaus
Käytä formaattia, jota asiakkaasi, viranomaiset tai työkalusi pyytävät. Jos kukaan ei pyydä, CycloneDX on tietoturvatyössä yleisempi valinta, koska se tukee VEX:iä natiivisti, ja SPDX on yleisempi siellä, missä lisenssien noudattaminen on etusijalla. Useimmat generaattorit, CRACI mukaan lukien, tuottavat molempia.
Rinnakkain
| Ominaisuus | CycloneDX | SPDX |
|---|---|---|
| Ylläpitäjä | OWASP Foundation ja Ecma International | Linux Foundation |
| Standardi | ECMA-424 | ISO/IEC 5962:2021 |
| Nykyinen versio | 1.7, lokakuu 2025 | 3.0, huhtikuu 2024 |
| Lähtökohta | Tietoturva ja toimitusketjun riskit | Lisenssien noudattaminen |
| Luettelotyypit | SBOM, SaaSBOM, HBOM ja muita | Profiilit tietoturvalle, buildille, datajoukoille ja tekoälylle |
| Haavoittuvuustiedot | VEX sisäänrakennettuna | Tietoturvaprofiili versiossa 3.0 |
| Koodaukset | JSON, XML, Protocol Buffers | Useita, mukaan lukien JSON |
CycloneDX
CycloneDX:ää kehittää OWASP Foundation, ja Ecma International on standardoinut sen nimellä ECMA-424. Versio 1.7 julkaistiin lokakuussa 2025. Sen lähtökohtana olivat tietoturva ja toimitusketjun riskit, ja se kattaa muutakin kuin ohjelmistoja: SBOM:t, palveluiden SaaSBOM:t ja laitteiston HBOM:t. Se tukee VEX:iä, joten samassa formaatissa voi kertoa, koskeeko haavoittuvuus tuotetta. Se sarjallistetaan JSON-, XML- tai Protocol Buffers -muotoon.
SPDX
SPDX on Linux Foundationin ylläpitämä avoimen lähdekoodin projekti, joka on tunnustettu kansainväliseksi standardiksi ISO/IEC 5962:2021. Sen lähtökohtana oli lisenssien noudattaminen, ja sen lisenssitunnisteita käytetään paljon SBOM:ien ulkopuolellakin. Huhtikuussa 2024 julkaistu SPDX 3.0 toi profiilit tietoturvalle, buildille, datajoukoille ja tekoälylle.
Katso: SBOM:n perusteet
Esityksestämme KCD Helsingissä: mitä SBOM tallentaa, miten SPDX ja CycloneDX eroavat käytännössä ja mitä OpenVEX tuo lisää.
SBOM basics: SPDX, CycloneDX and OpenVEX
Petteri Pulkkinen ja Erika Marttinen, Kubernetes Community Days Helsinki 2026, 16:50–22:05 videosta SBOMbastic: Getting Ready for Upcoming EU Cybersecurity Regulation in Software Supply Chains.
Mitä viranomaiset hyväksyvät
EU:n kyberkestävyyssäädös (Cyber Resilience Act, CRA) edellyttää SBOM:ia ”yleisesti käytetyssä ja koneluettavassa muodossa” eikä nimeä mitään tiettyä. Saksan BSI:n TR-03183-2, versio 2.1.0, on tarkempi: CycloneDX 1.6 tai uudempi tai SPDX 3.0.1 tai uudempi, JSON- tai XML-muodossa. Katso CRA:n SBOM-vaatimukset.
Sisältö ratkaisee enemmän kuin formaatti
Kumpaankin formaattiin mahtuu puutteellinen SBOM. SBOM:n hyödyllisyyden ratkaisee se, luetteleeko se kaiken, mitä tuotteeseen on mennyt, transitiiviset riippuvuudet mukaan lukien. CRACI tallentaa SBOM:n GitHub Actions -buildisi aikana, ilmoittaa sen kattavuuden jobi- ja välimuistikohtaisesti ja vie sen CycloneDX- tai SPDX-muotoon. Katso buildin aikainen SBOM-generointi. Voit tarkistaa kumman tahansa formaatin tiedoston sisällön SBOM:n laadun tarkistuslistalla.
CycloneDX vs. SPDX: usein kysytyt kysymykset
Kumpi on parempi, CycloneDX vai SPDX?
Kumpikaan ei ole yleisesti parempi. CycloneDX syntyi tietoturvakäytöstä ja tukee VEX:iä natiivisti; SPDX syntyi lisenssien noudattamisesta ja on ISO-standardi. Useimmat työkalut tuottavat molempia. Valitse se, jota asiakkaasi, viranomaiset tai työkalusi pyytävät.
Mitä SBOM-formaattia EU:n kyberkestävyyssäädös (CRA) edellyttää?
CRA edellyttää yleisesti käytettyä, koneluettavaa formaattia eikä nimeä mitään tiettyä. Saksan BSI:n TR-03183-2 hyväksyy CycloneDX 1.6:n tai uudemman ja SPDX 3.0.1:n tai uudemman JSON- tai XML-muodossa.
Voiko CycloneDX:n ja SPDX:n välillä muuntaa?
Muuntamiseen kumpaankin suuntaan on työkaluja, mutta formaatit eivät vastaa toisiaan yksi yhteen, joten muunnoksessa voi kadota yksityiskohtia. Jos mahdollista, tuota tarvitsemasi formaatti suoraan.
Vieekö CRACI CycloneDX- vai SPDX-muotoon?
Molempiin. CRACI tallentaa SBOM:n GitHub Actions -buildisi aikana ja vie sen CycloneDX- tai SPDX-muotoon, mukaan lukien transitiiviset riippuvuudet ja kunkin komponentin ilmoitetun lisenssin.
Saat molemmat formaatit yhdestä buildista
Aja yksi GitHub Actions -jobi CRACI:lla ja vie sen tallennettu SBOM CycloneDX- tai SPDX-muotoon.
Varaa demo