Vuonna 2026 raportoitiin päivässä 131% enemmän CVE:itä kuin edellisenä vuonna.

SBOM

SBOM:n laadun tarkistuslista: näin validoit toimittajiesi lähettämät SBOM:t

Tarkista kolme asiaa: onko tiedosto kelvollinen, ovatko sen kentät käyttökelpoisia ja puuttuuko jotain. Skeemavalidaattorit havaitsevat ensimmäisen, kenttätarkistukset ja laatupisteet toisen, eikä mikään pelkkää tiedostoa lukeva työkalu voi todistaa kolmatta. Alla oleva tarkistuslista yhdistää jokaisen tarkistuksen NTIA:n vuoden 2021 minimielementteihin, CISA:n vuoden 2026 Minimum Elements -elementteihin ja BSI TR-03183-2:een, kertoo, miten sen voi testata, ja antaa palauterivin, jonka voit lähettää toimittajalle.

Päivitetty

SBOM:n laadun kolme tasoa

Taso Kysymys Mikä sen tarkistaa Mitä se ei voi kertoa
Kelvollinen Voiko tiedoston jäsentää, ja noudattaako se ilmoittamansa formaatin ja version skeemaa? Skeemavalidaattorit Onko yhteenkään kenttään täytetty jotain hyödyllistä
Käyttökelpoinen Ovatko tarvitsemasi kentät mukana, ja voiko työkalu käyttää niitä: tietoturvatiedotteisiin täsmäävät tunnisteet, lisenssit, tiivisteet, suhteet? Kenttätarkistukset, vaatimustenmukaisuusprofiilit ja laatupisteet Mitä tiedostosta puuttuu
Kattava Listaako se kaiken, mitä saamassasi ohjelmistossa on? Vertailu buildiin tai toimitetun binäärin analyysiin Mikään pelkkää SBOM:ia lukeva ei voi vastata tähän

Useimmat vastaanottavat tiimit pysähtyvät ensimmäiselle tasolle. "Tiedosto validoituu" on tarkistuksen alku, ei sen tulos. Kolmas taso on SBOM:n kattavuus.

Viitekehykset minuutissa

Nimeä viitekehys jokaisessa pyynnössä ja jokaisessa palautteessa, jotta rima on julkaistu eikä sinun mielipiteesi.

  • NTIA, The Minimum Elements for a Software Bill of Materials (12.7.2021). Seitsemän tietokenttää (supplier name, component name, version, other unique identifiers, dependency relationship, author of SBOM data, timestamp), automaatiotuki SPDX-, CycloneDX- tai SWID-tageina sekä käytännöt: frequency, depth, known unknowns, distribution and delivery, access control, accommodation of mistakes. Tiivisteet, lisenssit, elinkaaren vaihe ja allekirjoitukset mainitaan suositeltuina, minimin ulkopuolella.
  • CISA, 2026 Minimum Elements for a Software Bill of Materials (29.7.2026, luonnoksen 22.8.2025 jälkeen). Korvaa NTIA:n elementit. Sen ovat laatineet 18 organisaatiota 14 maasta, muun muassa CISA, NSA, FBI, Saksan BSI sekä Japanin METI ja NCO. Siinä on 17 tietokenttää, joista kymmenen on uusia: SBOM author signature, data format name, data format version, generation context, tool name, tool version, SBOM version, component hash value, component hash algorithm ja component license. "Supplier name" muuttuu muotoon "Component Producer". Sen käytännöt ovat coverage, explicitly identifying unknown information, machine-processable data, accommodation of updates, frequency sekä distribution and delivery. Dokumentti muotoilee jokaisen elementin should-sanalla ja toteaa, ettei se luo uusia vaatimuksia; ostajat tekevät siitä sitovan kirjaamalla sen sopimuksiin.
  • BSI, TR-03183-2 versio 2.1.0 (20.8.2025), Saksa. Kolmesta tiukin, ja se on kirjoitettu MUST-muotoon: JSON tai XML, CycloneDX 1.6 tai uudempi tai SPDX 3.0.1 tai uudempi, yksi SBOM ohjelmistoversiota kohden, rekursiivinen riippuvuuksien ratkaisu ja kunkin riippuvuuslistan kattavuuden ilmoittaminen, jokaisen käyttöön otettavan komponentin SHA-512-tiiviste, komponentin tiedostonimi, jakelulisenssit SPDX-tunnisteina sekä package URL tai CPE, "if it exists". Sen mukaan SBOM ei myöskään saa sisältää haavoittuvuustietoja; ne kuuluvat VEX-dokumenttiin tai tietoturvatiedotteeseen.
  • Kansainvälinen yhdenmukaisuus. A Shared Vision of SBOM for Cybersecurity (3.9.2025) on 18 organisaation allekirjoittama 15 maasta. G7:n SBOM-työ koskee tekoälyjärjestelmiä ("A shared G7 vision on SBOM for AI", 2025, ja "SBOM for AI – Minimum Elements", toukokuu 2026), eikä se aseta vaatimuksia sulautettujen järjestelmien toimittajien SBOM:eille.
  • Autoteollisuus. Auto-ISAC julkaisi SBOM Informational Reportin 11.2.2025.

Tarkistuslista

Näin luet solut: Pakollinen tarkoittaa, että dokumentissa lukee must. Vähimmäiselementti tarkoittaa, että se on kyseisen dokumentin minimilistassa (NTIA:n perustaso tai CISA:n should-elementit). Suositeltu tarkoittaa, että dokumentti mainitsee sen minimin ulkopuolella. Ei mainita tarkoittaa, ettei dokumentti edellytä sitä. Miten kukin tarkistus testataan ja mikä palauterivi lähetetään, kerrotaan seuraavassa osiossa.

SBOM-tason tarkistukset

Tarkistus Miksi sillä on merkitystä NTIA 2021 CISA 2026 BSI TR-03183-2
1. Jäsentyy ja validoituu ilmoitettua skeemaansa vasten Tiedosto, jota työkalusi eivät pysty lukemaan, ei ole SBOM Pakollinen: SPDX, CycloneDX tai SWID-tagit Käytäntö: koneellisesti käsiteltävä SPDX tai CycloneDX Pakollinen: JSON tai XML
2. Spesifikaatioversio täyttää vähimmäistasosi Vanhat versiot eivät pysty sisältämään tarvitsemiasi kenttiä Ei mainita Vähimmäiselementti: dataformaatin nimi ja versio; vältä vanhentuneita versioita Pakollinen: CycloneDX 1.6+ tai SPDX 3.0.1+
3. SBOM:n laatija Joku vastaa sisällöstä Vähimmäiselementti: "Author of SBOM Data" Vähimmäiselementti: "SBOM Author", organisaatio, ei työkalu Pakollinen: "Creator of the SBOM", sähköposti tai URL
4. Aikaleima Kertoo, mikä SBOM on ajantasainen Vähimmäiselementti Vähimmäiselementti Pakollinen; UTC suositeltu
5. Työkalun nimi ja versio Kertoo, minkä kattamiseen SBOM:iin voi luottaa Ei mainita Vähimmäiselementti Ei mainita
6. Generointikonteksti Saman julkaisun lähdekoodiskannaus ja buildikirjaus eroavat toisistaan Suositeltu: elinkaaren vaihe ("source", "build", "post-build") Vähimmäiselementti: "before build", "build" tai "after build" Ei kenttää; sisällön on vastattava sitä, mitä buildin aikana oli saatavilla
7. SBOM:n versio tai sarjanumero Erottaa korjauksen alkuperäisestä Ei mainita Vähimmäiselementti: "SBOM Version" Pakollinen, jos formaatissa on sellainen: "SBOM-URI"
8. Laatijan allekirjoitus Osoittaa, että tiedosto tuli toimittajalta muuttumattomana Suositeltu: allekirjoittamiseen kannustetaan Vähimmäiselementti: "SBOM Author Signature" Vain informatiivinen: "ideally" allekirjoitettu
9. Ylimmän tason komponentti vastaa saamaasi Väärän julkaisun SBOM on huonompi kuin ei mitään Vähimmäiselementti: pääkomponentit Vähimmäiselementti: kohdekomponentti Pakollinen: pääkomponentti, puun juuri

Komponenttitason tarkistukset

Tarkistus Miksi sillä on merkitystä NTIA 2021 CISA 2026 BSI TR-03183-2
10. Komponentin nimi Ensimmäinen asia, jota jokainen täsmäytys käyttää Vähimmäiselementti Vähimmäiselementti Pakollinen; tiedostonimi, jos nimeä ei ole
11. Versio: ei arvoja latest, unknown tai tyhjää Tietoturvatiedotteet koskevat versioväliä Vähimmäiselementti Vähimmäiselementti; kerro, jos versio on tuntematon Pakollinen; tiedoston päivämäärä, jos versiota ei ole
12. Tuottaja tai toimittaja Erottaa kaksi samannimistä komponenttia ja kertoo, kuka korjaa Vähimmäiselementti: "Supplier Name" Vähimmäiselementti: "Component Producer" Pakollinen: "Component creator", sähköposti tai URL
13. Package URL aina, kun ekosysteemissä on sellainen, muuten CPE; molemmat oikein muodostettuja Ilman tunnistetta (package URL, CPE) mitään ei voi täsmäyttää haavoittuvuustietokantaan Vähimmäiselementti: "Other Unique Identifiers", kuten CPE, SWID tai PURL, jos niitä on Vähimmäiselementti: vähintään yksi tunniste, kuten CPE tai PURL; sisällytä kaikki Pakollinen, jos sellainen on: CPE tai purl
14. Tiivisteen arvo ja algoritmi, jotka vastaavat saamaasi tiedostoa Todistaa, että tämä SBOM kuvaa tätä binääriä Suositeltu Vähimmäiselementti: suoritettavan artefaktin tiiviste algoritmilla, jonka jokin viranomainen, kuten NIST, on hyväksynyt Pakollinen: käyttöön otettavan komponentin SHA-512
15. Lisenssi SPDX-tunnisteina tai -lausekkeina, ei yleistä NOASSERTION-arvoa Lisenssiasiantuntijasi arvioi sen perusteella copyleft- ja muut velvoitteet Suositeltu Vähimmäiselementti; SPDX-tunnisteet mahdollisuuksien mukaan Pakollinen: jakelulisenssit, ensisijaisesti SPDX-tunnisteina
16. Riippuvuussuhteet ja tieto siitä, onko lista kattava Näyttää, mikä toi haavoittuvan paketin mukaan, ja voiko aukkoihin luottaa Vähimmäiselementti; kerro, kun suorat riippuvuudet on listattu kokonaan Vähimmäiselementti Pakollinen, ja kunkin listan kattavuus on ilmoitettava
17. Tiedostonimi Yhdistää merkinnän laitteella olevaan tiedostoon Ei mainita Ei mainita Pakollinen
18. Executable-, archive- ja structured-ominaisuudet Kertoo, millainen tiedosto kukin komponentti on Ei mainita Ei mainita Pakollinen

Kattavuustarkistukset

Tarkistus Miksi sillä on merkitystä NTIA 2021 CISA 2026 BSI TR-03183-2
19. Transitiivinen syvyys, ei vain ylin taso Suurin osa haavoittuvasta koodista tulee epäsuorasti Ylin taso pakollinen; transitiiviset suositeltuja Kattavuuskäytäntö: sisällytä transitiiviset riippuvuudet; ei vähimmäissyvyyttä Pakollinen: rekursiivinen ratkaisu
20. Tunnetut tuntemattomat ilmoitettu SBOM:iin, joka ilmoittaa aukkonsa, voi luottaa siltä osin kuin se listaa Pakollinen käytäntö Käytäntö: tuntemattomat ja pidätetyt tiedot merkitty Pakollinen kattavuusilmoituksen kautta
21. Yksi SBOM jokaista toimitettua ohjelmistoversiota kohden Merkitystä on sillä versiolla, jota ajat Pakollinen: uusi SBOM jokaisesta buildista tai julkaisusta Käytäntö: frequency Pakollinen
22. Korjaukset lähetetään uutena SBOM:na Hiljaa korjattua virhettä ei voi jäljittää Käytäntö: accommodation of mistakes Käytäntö: accommodation of updates Pakollinen: päivitetty SBOM, kun virheitä korjataan
23. Uskottavuus: ei kaksoiskappaleita, tuotteeseen sopiva komponenttimäärä, käyttöjärjestelmän paketit mukana Linux-pohjaisessa laitteessa Edullisin tapa koetella kattavuutta Ei mainita Kattavuuskäytäntö: useat instanssit listataan erikseen Useat instanssit on listattava erikseen

Miten kukin tarkistus testataan ja mitä toimittajalle kerrotaan

Tarkistus Miten testata automaattisesti Palauterivi toimittajalle
1, 2. Skeema ja spesifikaatioversio Skeemavalidaattori ilmoitetulle formaatille ja versiolle; vertaa sitten specVersion-arvoa (CycloneDX) tai SPDX-versiota vähimmäistasoosi "Tiedosto ei läpäise CycloneDX 1.6:n skeemavalidointia luetelluissa poluissa. Generoi se uudelleen generaattorilla ja validoi se ennen lähettämistä."
3–7. Laatija, aikaleima, työkalu, konteksti, versio Vaaditut metatiedot ovat mukana: CycloneDX:ssä metadata.authors, metadata.timestamp, metadata.tools, metadata.lifecycles, serialNumber ja version; SPDX:ssä luontitiedot "SBOM ei kerro, mikä työkalu sen tuotti, eikä generointikontekstia. Molemmat ovat CISA 2026 Minimum Elements -elementtejä."
8. Allekirjoitus Allekirjoitus on mukana ja se vahvistuu toimittajan julkaisemaa avainta vasten "Allekirjoita SBOM tai lähetä erillinen allekirjoitus, kuten CISA 2026 -elementti SBOM Author Signature kuvaa."
9. Ylimmän tason komponentti metadata.component-kohdan (CycloneDX) tai kuvatun juurielementin (SPDX) nimi ja versio vastaavat saamaasi osanumeroa ja ohjelmistoversiota "Tämä SBOM kuvaa versiota 5.2.0; saimme version 5.3.0. Lähetä version 5.3.0 SBOM."
10, 11. Nimi ja versio Ei tyhjiä nimiä; ei tyhjiä, latest- tai unknown-versioita, ellei versiota ole ilmoitettu tuntemattomaksi "14 komponentilta puuttuu versio. Ilmoita tarkka versio tai merkitse se tuntemattomaksi."
12. Tuottaja Jokaisella komponentilla on toimittaja, valmistaja tai laatija "Komponenteilta puuttuu tuottaja, jota CISA 2026 -elementti Component Producer edellyttää."
13. Tunnisteet Jokainen purl jäsentyy ECMA-427:n mukaisella package URL -kirjastolla; jokainen CPE on kelvollista CPE 2.3 -syntaksia ja löytyy NVD:n CPE-sanakirjasta "Yhdelläkään komponentilla ei ole package URL:ia tai CPE:tä, joten mitään ei voi täsmäyttää haavoittuvuustietokantoihin. Lisää purl jokaiselle paketinhallinnasta tulevalle paketille."
14. Tiivisteet SHA-512-merkintä jokaisella käyttöön otettavalla komponentilla; laske saamastasi tiedostosta sha512sum ja vertaa "SBOM:ssa ei ole tiivisteitä. BSI TR-03183-2 edellyttää jokaisen käyttöön otettavan komponentin SHA-512-tiivistettä."
15. Lisenssit Lisenssitunnisteet tai -lausekkeet, jotka löytyvät SPDX-lisenssilistalta; laske NOASSERTION- ja tyhjät arvot "92 %:lla komponenteista lisenssinä on NOASSERTION. Ilmoita SPDX-lisenssitunnisteet."
16. Riippuvuudet dependencies-graafi (CycloneDX) tai riippuvuussuhteet (SPDX); kattavuusilmoitus, kuten CycloneDX:n compositions, jossa on aggregate-arvo "SBOM on litteä lista. Sisällytä riippuvuussuhteet ja ilmoita, onko kukin lista kattava."
17, 18. Tiedostonimi ja tiedoston ominaisuudet BSI TR-03183-2:n kullekin formaatille määrittelemät ominaisuudet ovat mukana "Lisää tiedostonimi sekä executable-, archive- ja structured-ominaisuudet, kuten BSI TR-03183-2 v2.1.0 edellyttää."
19–23. Kattavuus Riippuvuusgraafin syvyys, kaksoiskappaleiden tunnistus, komponenttimäärän vertailu vastaaviin tuotteisiin, tuotetyypin mukaan odotettavat komponentit "SBOM ei listaa Linux-pohjaisen näytön kerneliä, käynnistyslataajaa tai perusjärjestelmän paketteja. Lähetä koko levykuvan SBOM."

Palauterivien prosenttiosuudet ja määrät ovat esimerkkejä. Käytä todellisia lukuja ja nimeä viitekehys ja versio joka kerta.

Mitä hyväksytty pistemäärä silti ohittaa

Tiedosto voi validoitua, saada 9 pistettä 10:stä ja silti jättää puolet tuotteesta pois. Laatupisteet lukevat kentät, jotka ovat mukana; ne eivät näe komponentteja, joita ei ole.

Esimerkki. Toimittaja lähettää Linux-pohjaisen näytön SBOM:n. Se on kelvollista CycloneDX 1.6:ta, jokaisella komponentilla on versio, package URL, lisenssi ja SHA-512-tiiviste, ja riippuvuusgraafi on oikein muodostettu. Se listaa näyttösovelluksen ja 40 kirjastoa. Se ei listaa Linux-kerneliä, käynnistyslataajaa eikä yhtään perusjärjestelmän pakettia. Jokainen kenttätarkistus menee läpi. SBOM on hyödytön kernelin CVE:iden kannalta, joita Linux-laitteesta on seurattava, koska kernel ei ole siinä.

Näin vastaanottava tiimi voi koetella kattavuutta:

  • Vertaa toimitetun laiteohjelmiston binäärianalyysiin. Jotkin OEM-valmistajat käyttävät sitä korvaavana SBOM:na, kunnes toimittajan SBOM on riittävän hyvä, ja sen jälkeen ristiintarkistuksena.
  • Tarkista tuotetyypin mukaan odotettavat komponentit. Linux-levykuvassa on kernel, C-kirjasto ja init-järjestelmä; teollisuusohjaimessa on sen protokollapinot.
  • Kysy generointikontekstia ja työkalua. Lähdekoodiskannaus ei näe, mitä build haki.
  • Kysy, tuliko SBOM siitä buildista, joka tuotti saamasi ohjelmiston. Se on kysymys, joka ratkaisee kolmannen tason.

Pienet SBOM:t voivat olla oikeutettuja. Bare metal -ohjainyksikössä (ECU), jossa on suljettu laiteohjelmisto ja toimittajan kalibrointi, voi rehellisesti olla kaksi komponenttia. Hyväksy se, kun SBOM kertoo sen ja ilmoittaa tunnetut tuntemattomansa, äläkä rankaise sitä koosta.

Työkalut, jotka automatisoivat tarkistukset

Tarkistettu GitHubista 11.11.2026. Yhtäkään näistä repoista ei ole arkistoitu.

Työkalu Mitä se tarkistaa Mitä se ei tee Tila
CycloneDX CLI CycloneDX 1.0–1.7:n skeemavalidointi, JSON tai XML; --fail-on-errors CI:tä varten SPDX, kenttien laatu, viitekehysprofiilit v0.33.1, heinäkuu 2026
sbom-utility CycloneDX 1.2–1.7:n ja SPDX 2.1–2.3 JSONin skeemavalidointi, myös omilla skeemamuunnelmilla SPDX 3, XML, viitekehysprofiilit v0.19.2, kesäkuu 2026
SPDX tools-java Verify SPDX 2.0–2.3:lle ja 3.0.1:lle CycloneDX, viitekehysprofiilit v2.0.7, kesäkuu 2026
SPDX tools-python pyspdxtools -i: SPDX 2.2:n ja 2.3:n täysi validointi SPDX 3:n lukeminen, jonka tuki on kokeellinen v0.8.5, maaliskuu 2026
SPDX NTIA Conformance Checker SPDX 2.2, 2.3 ja 3.0 NTIA 2021:tä, CISA FSCT3:a ja BSI TR-03183-2 v2.1.0:aa vasten; myös verkkoversio CycloneDX; CISA 2026 on avoin pyyntö v6.0.0, lokakuu 2026
sbomqs 0–10 pisteen score tunnistamisen, alkuperän, eheyden, kattavuuden, lisensoinnin, haavoittuvuuksien ja rakenteen osalta; compliance-profiilit CISA 2026:lle, NTIA 2021:lle, BSI TR-03183-2 v1.1–v2.1.0:lle, FSCT v3:lle ja OpenChain Telcolle Näe puuttuvia komponentteja v2.1.3, lokakuu 2026; CISA 2026 -profiili versiosta v2.1.0, korjattu versiossa v2.1.2
sbom-scorecard Painotettu pistemäärä spesifikaation noudattamisesta, generointitiedoista sekä pakettien tunnisteista, versioista ja lisensseistä Viitekehysprofiilit 0.0.7, huhtikuu 2023, viimeisin julkaisu

Toistaiseksi vain sbomqs tarkistaa CISA 2026 Minimum Elements -elementit. Tarkista kunkin työkalun julkaisutiedot ennen kuin luotat profiiliin: sbomqs 2.1.1:ssä CISA 2026 -lippu ajoi vahingossa vuoden 2021 tarkistuksen. BSI TR-03183-2 v2.1.0:aa varten käytä sbomqs:ssä lippua --bsi-v21 tai --bsi; --bsi-v2 tarkistaa version v2.0.0.

Minimaalinen vastaanottovaihe toimittajan CycloneDX-SBOM:lle:

# 1. Valid: fail the intake on schema errors
cyclonedx-cli validate --input-file supplier-sbom.json --input-format json --fail-on-errors

# 2. Usable: run the profile your requirement names
sbomqs compliance --bsi-v21 supplier-sbom.json
sbomqs compliance --ntia supplier-sbom.json   # CISA 2026 Minimum Elements

# 3. Track field quality over time
sbomqs score supplier-sbom.json

# 4. The hash in the SBOM matches the file you received
sha512sum firmware-5.3.0.bin

SPDX:lle käytä NTIA Conformance Checkerin komentoa sbomcheck -s spdx3 -c bsi supplier-sbom.json. Lue vaatimustenmukaisuusraportti ja hylkää tiedosto niiden tarkistusten perusteella, jotka vaatimuksesi tekee pakollisiksi; palauta se toimittajalle yllä olevien palauterivien kanssa.

Näin kirjaat sen toimittajavaatimuksiin

Tarkistuslista, jota toimittaja ei ole koskaan nähnyt, ei ole vaatimus. Kirjaa se sopimuksen liitteeseen:

  • Viitekehys ja versio: esimerkiksi "BSI TR-03183-2 v2.1.0" tai "CISA 2026 Minimum Elements". Nimeä yksi; älä kirjoita "alan standardi".
  • Formaatti ja spesifikaation vähimmäisversio: esimerkiksi CycloneDX 1.6 tai uudempi tai SPDX 3.0.1 tai uudempi, JSON.
  • Kentät, jotka lisäät niiden päälle, kuten SHA-512-tiivisteet tai package URL:t jokaiselle paketille.
  • Toimitus: yksi SBOM jokaisesta toimitetusta ohjelmistoversiosta ennen ohjelmistoa tai sen mukana.
  • Validointi, jonka toimittaja tekee ennen lähettämistä, nimettynä työkalun ja profiilin mukaan.
  • Palautesilmukka: kuka vastaanottaa palautteen ja kuinka nopeasti korjattu SBOM on toimitettava.

Saman sopimuksen toimittajan puoli on SBOM-oppaassa toimittajille. Jos olet ohjelmistotoimittaja ja vastaat yksittäiseen pyyntöön, katso asiakkaiden SBOM-pyynnöt.

Palautepohja

Aihe: SBOM osanumerolle [osanumero], ohjelmistoversio [versio]: korjauksia tarvitaan

Tarkistimme [päivämäärä] lähettämäsi SBOM:n toimittajavaatimuksemme [viite] mukaista viitekehystä [viitekehys ja versio] vasten. Se läpäisee skeemavalidoinnin, mutta nämä tarkistukset epäonnistuvat: [tarkistusten numerot ja palauterivit]. Lähetä korjattu SBOM uudella SBOM-versiolla ja aikaleimalla viimeistään [päivämäärä]. Siihen asti seuraamme tätä ohjelmistoa oman binäärianalyysimme perusteella. Kysymykset: [yhteyshenkilö].

Hylätyn SBOM:n korjaaminen (toimittajille)

  • Käsin kirjoitetut tiedostot. Käytä generaattoria tai SBOM-kirjastoa, älä koskaan tekstieditoria.
  • Puuttuvat package URL:t. Generoi ne paketinhallinnasta tai buildista, ei käsin. Käsin kirjoitettu purl on arvattu purl.
  • Puuttuvat lisenssit. Ota ilmoitettu lisenssi paketin metatiedoista SPDX-tunnisteena.
  • Ei tiivisteitä. Laske ne niistä tiedostoista, jotka oikeasti toimitat, buildin lopussa.
  • Väärä julkaisu. Generoi SBOM julkaisubuildissa ja nimeä se version mukaan.
  • Vain ylin taso. Käytä menetelmää, joka ratkaisee transitiiviset riippuvuudet.

Luotettavin tapa korjata kattavuus ja tunnisteet kerralla on generoida SBOM siitä buildista, joka tuotti toimitetun ohjelmiston. Katso buildin aikana tallennetut SBOM:t ja SBOM:n parhaat käytännöt.

Mistä hyvät SBOM:t tulevat ja mihin CRACI sopii

Toimittajille, jotka buildaavat GitHub Actionsilla, CRACI korvaa GitHubin ylläpitämät runnerit ja tallentaa SBOM:n buildin aikana, joten se listaa sen, mitä build oikeasti haki.

  • Jokainen paketti package URL:n kera ja jokainen komponentti ilmoitetun lisenssinsä kera.
  • Transitiiviset riippuvuudet jokaisella syvyydellä, jonka build saavutti.
  • Kattavuustila jokaiselle jobille, joka vastaa tunnettujen tuntemattomien kysymykseen buildikohtaisesti: Complete, Complete with connections, Incomplete, Unavailable tai Not recorded.
  • Vienti CycloneDX- tai SPDX-muodossa; SBOM-API palauttaa CycloneDX 1.7 JSONia.

Koko kehitysorganisaation osalta katso SBOM-generoinnin standardointi, ja sulautetun Linuxin osalta miksi skannerit eivät näe, mitä Yocto-buildeissa on.

OEM-valmistajat voivat lisätä kolmansien osapuolten SBOM:eja CRACI:in, jolloin ostettuja komponentteja seurataan uusien haavoittuvuuksien varalta omien buildiesi rinnalla. Vertailu on sivulla SBOM-hallintatyökalut.

Milloin CRACI ei ole oikea ratkaisu

  • Vastaanottamiesi SBOM:ien validointi ja pisteytys. CRACI ei tarjoa SBOM-validaattoria eikä laatupisteitä. Käytä yllä mainittuja työkaluja.
  • Toimittajat ilman CI:tä tai ne, joiden koodi generoidaan mallipohjaisilla työkaluilla ilman pakettien hakua. Buildin tallentaja tuo vähän lisää; generaattorikirjastolla tehty validoitu SBOM on realistinen ratkaisu.
  • Laiteohjelmisto, jonka saat vain binäärinä. Siihen vastaa binäärianalyysi.
  • Allekirjoitetut SBOM:t, CISA 2026:n laatijan allekirjoitus. CRACI ei allekirjoita SBOM:eja.

SBOM:n laatu ja validointi: usein kysytyt kysymykset

Miten tarkistan toimittajan lähettämän SBOM:n laadun?

Testaa kolme tasoa. Validoi tiedosto skeemaansa vasten, tarkista kentät nimettyä viitekehystä, kuten BSI TR-03183-2:ta tai CISA 2026 Minimum Elements -elementtejä, vasten ja koettele sitten kattavuutta: vertaa sitä saamasi ohjelmiston binäärianalyysiin ja tarkista komponentit, jotka tuotetyypissä on oltava.

Mitä kenttiä SBOM:ssa on oltava?

Se riippuu nimeämästäsi viitekehyksestä. CISA:n 2026 Minimum Elements listaa 17 kenttää, muun muassa laatijan, aikaleiman, työkalun, generointikontekstin sekä komponenttikohtaisesti nimen, version, tuottajan, tunnisteet, tiivisteen ja lisenssin. BSI TR-03183-2 lisää SHA-512-tiivisteen, tiedostonimen ja tiedoston ominaisuudet ja tekee niistä pakollisia.

Mikä muuttui NTIA:n minimielementtien ja CISA:n 2026 Minimum Elements -elementtien välillä?

CISA:n vuoden 2026 lista korvaa NTIA:n seitsemän kenttää 17 kentällä. Uusia ovat laatijan allekirjoitus, dataformaatin nimi ja versio, generointikonteksti, työkalun nimi ja versio, SBOM:n versio, komponentin tiivisteen arvo ja algoritmi sekä komponentin lisenssi. Supplier name muuttui muotoon Component Producer, ja depth muuttui muotoon coverage.

Mitä BSI TR-03183-2 edellyttää SBOM:lta?

Versio 2.1.0 edellyttää CycloneDX 1.6+:aa tai SPDX 3.0.1+:aa JSON- tai XML-muodossa, yhtä SBOM:ia ohjelmistoversiota kohden, rekursiivisia riippuvuuksia kattavuus ilmoitettuna sekä komponenttikohtaisesti laatijaa, nimeä, versiota, tiedostonimeä, lisenssejä, SHA-512-tiivistettä ja tiedoston ominaisuuksia sekä package URL:ia tai CPE:tä, jos sellainen on.

Tarvitseeko SBOM tiivisteitä? Millä algoritmilla?

NTIA suositteli niitä; CISA 2026 tekee tiivisteestä vähimmäiselementin, ja algoritmin on oltava jonkin viranomaisen, kuten NISTin, hyväksymä; BSI TR-03183-2 edellyttää jokaisen käyttöön otettavan komponentin SHA-512-tiivistettä. Pyydä SHA-512 ja vertaa sitä saamaasi tiedostoon.

Tarvitsenko sekä CPE:n että PURL:n?

Ei aina. Pyydä package URL aina, kun ekosysteemissä on sellainen, ja CPE, kun ei ole, kuten monissa kaupallisissa tai sulautettujen järjestelmien komponenteissa. CISA 2026 pyytää vähintään yhden tunnisteen ja kaikki tunnetut; BSI edellyttää kumpaakin, jos sellainen on.

Miten validoin CycloneDX- tai SPDX-tiedoston?

CycloneDX:lle cyclonedx-cli validate ja --fail-on-errors tai sbom-utility. SPDX:lle SPDX tools-javan Verify-komento tai pyspdxtools SPDX 2.2:lle ja 2.3:lle. Aja sitten viitekehysprofiili sbomqs:llä tai SPDX NTIA Conformance Checkerilla.

Mikä on hyvä SBOM:n laatupistemäärä?

Standardoitua kynnysarvoa ei ole, eikä vertailuarvoa, jota lainaisimme. Pistemäärä mittaa mukana olevia kenttiä, ei kattavuutta: tiedosto voi saada 9 pistettä 10:stä ja jättää puolet tuotteesta pois. Määritä sen sijaan toimittajavaatimuksessasi hyväksymiskriteerit tarkistuskohtaisesti ja seuraa pistemäärää trendinä.

Toimitatko SBOM:eja OEM-valmistajille? Generoi ne buildista

Varaa demo ja aja yksi GitHub Actions -buildisi CRACI:lla. Saat SBOM:n siitä, mitä build haki, package URL:n jokaiselle paketille ja kattavuustilan.

Varaa demo