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

SBOM

Mikä on SBOM?

SBOM (software bill of materials) eli ohjelmistojen materiaaliluettelo on koneluettava luettelo ohjelmiston sisältämistä komponenteista: jokainen kirjasto, paketti ja riippuvuus versioineen, tekijöineen ja lisensseineen. Se on ohjelmistolle sitä, mitä ainesosaluettelo on ruoalle. Kun uusi haavoittuvuus julkaistaan, SBOM kertoo minuuteissa, toimitatko haavoittuvaa komponenttia.

Päivitetty

Mistä lyhenne SBOM tulee?

SBOM tulee sanoista software bill of materials, ohjelmistojen materiaaliluettelo. Termi on peräisin valmistavasta teollisuudesta, jossa materiaaliluettelo listaa tuotteeseen menevät osat. CISA kuvaa SBOM:n sisäkkäiseksi inventaarioksi, luetteloksi ainesosista, joista ohjelmistokomponentit koostuvat.

Suurin osa modernin sovelluksen koodista on jonkun muun kirjoittamaa, ja suurin osa siitä tulee mukaan epäsuorasti: lisäät yhden paketin, ja se tuo mukanaan kymmeniä transitiivisia riippuvuuksia. SBOM kirjaa ne kaikki, joten voit vastata kysymykseen "koskeeko tämä meitä?" lukematta yhtäkään repositoriota.

Mitä SBOM sisältää?

Hyödyllisessä SBOM:ssa on kaksi osaa: tiedot itse SBOM:sta ja tiedot jokaisesta komponentista. 2026 Minimum Elements, jonka CISA, NSA ja FBI julkaisivat kansainvälisten kumppanien kanssa 29.7.2026, korvaa vuoden 2021 NTIA-luettelon ja asettaa perustason, johon useimmat ostajat nykyään viittaavat.

Osa Kentät
Tiedot SBOM:sta Tekijä ja tekijän allekirjoitus, aikaleima, dataformaatin nimi ja versio, työkalun nimi ja versio, SBOM:n versio sekä generointikonteksti
Tiedot kustakin komponentista Nimi, versio, tekijä, tunnisteet kuten package URL tai CPE, tiivistearvo ja -algoritmi, lisenssi sekä riippuvuussuhteet

Generointikonteksti on tärkeämpi kuin miltä se näyttää. Se kertoo, milloin SBOM tehtiin: ennen buildia, buildin aikana, valmiista artefaktista vai sen jälkeen. Saman julkaisun kaksi SBOM:ia voivat erota juuri tästä syystä. Katso SBOM-esimerkeistä, miltä nämä kentät näyttävät oikeassa tiedostossa, ja tarkista saamasi tiedosto SBOM:n laadun tarkistuslistaa vasten.

SBOM-formaatit

Kaksi formaattia kattaa lähes kaikki käytössä olevat SBOM:t. OWASPin CycloneDX syntyi tietoturvan parissa ja kuvaa myös haavoittuvuuksia ja palveluita. Linux Foundationin SPDX syntyi lisenssien noudattamisen tarpeisiin. Molemmat voivat sisältää vähimmäistiedot, ja useimmat työkalut kirjoittavat molempia. Katso CycloneDX vs. SPDX, miten valita.

Miksi SBOM:t ovat tärkeitä

  • Nopeampi reagointi poikkeamiin. Kun Log4Shellin kaltainen haavoittuvuus julkaistaan, kysymys on, mitkä tuotteistasi sisältävät sen. SBOM:ien kanssa se on haku. Ilman niitä se on projekti.
  • Haavoittuvuuksien valvonta julkaisun jälkeen. Ohjelmisto, joka oli puhdas toimitushetkellä, voi olla haavoittuva huomenna. Tallennettujen SBOM:ien tarkistaminen uusia tietoturvatiedotteita vasten havaitsee sen ilman uutta buildia.
  • Lisenssiriski. Kunkin komponentin ilmoitettu lisenssi paljastaa copyleft- tai kaupalliset ehdot ennen kuin ne päätyvät tuotteeseen.
  • Asiakkaiden ja viranomaisten kysymykset. Ostajat pyytävät hankinnoissa yhä useammin SBOM:ia, ja useat viitekehykset edellyttävät komponenttien inventaariota.

Kuka tarvitsee SBOM:n?

Jokainen, joka toimittaa ohjelmistoja, ja jokainen, joka joutuu vastaamaan siitä, mitä niissä on. Vaatimus tulee yleensä jonkin näistä kautta:

  • Lääkinnälliset laitteet. FDA:n pykälä 524B edellyttää SBOM:ia kyberlaitteista markkinoille tuloa edeltävissä hakemuksissa.
  • EU:ssa myytävät tuotteet. EU:n kyberkestävyyssäädös (Cyber Resilience Act) edellyttää valmistajilta SBOM:ia. Katso CRA:n SBOM-vaatimukset ja työkalut.
  • Yhdysvaltain liittovaltion hankinnat. OMB:n muistio M-26-05 tammikuulta 2026 antaa kunkin viraston päättää, vaatiiko se SBOM:n, joten varaudu tapauskohtaisiin vaatimuksiin.
  • Maksuohjelmistot. PCI DSS 4.0:n vaatimus 6.3.2 edellyttää inventaariota räätälöidyistä ohjelmistoista ja niiden kolmansien osapuolten komponenteista. Se ei määrää SBOM:ia, mutta SBOM täyttää tarpeen.

Miten SBOM generoidaan

SBOM:n voi tehdä kolmella tavalla, ja menetelmä ratkaisee, mitä tiedostoon päätyy.

Menetelmä Mitä se lukee Tyypillinen aukko
Lähdekoodin skannaus Repositorion manifestit ja lukitustiedostot (lockfile) Kaikki, mitä buildi hakee mutta mikään lukitustiedosto ei luettele
Lopputuloksen skannaus Valmis konttikuva tai binääri Käännetty koodi on monitulkintaista, eivätkä build-työkalut jätä jälkiä
Buildin tallennus Mitä buildi todella haki ajon aikana Liikenne, joka ohittaa tallentajan ja joka pitäisi merkitä

Avoimen lähdekoodin generaattorit, kuten Syft, Trivy ja cdxgen, käyttävät kahta ensimmäistä menetelmää. Ne ovat keskenään eri mieltä samasta commitista, koska jokaisella on omat sääntönsä sille, mitä luetaan. Vaihtoehdot rinnakkain löydät sivulta parhaat SBOM-työkalut.

SBOM vs. SCA vs. VEX

  • SBOM on inventaario. Se kertoo, mitä on olemassa, ei sitä, onko se turvallista.
  • Ohjelmistokoostumuksen analyysi (SCA) on analyysi. Se löytää komponentit ja tarkistaa niiden riskit, ja moni SCA-työkalu tuottaa samalla SBOM:n.
  • VEX on lausunto vaikutuksesta. Se kertoo, vaikuttaako tunnettu haavoittuvuus todella tuotteeseesi, mikä vähentää kohinaa, jota pelkkä SBOM tuottaa.

SBOM:n generointi on helppo osa

Tiedosto, jota kukaan ei lue, ei muuta mitään. Arvo syntyy siitä, että jokaisesta julkaisusta säilytetään yksi SBOM, niitä valvotaan ja ne löytyvät, kun niitä tarvitaan. Tätä työtä on SBOM-hallinta, ja SBOM:ien parhaat käytännöt kertovat, miten sitä tehdään.

Miten CRACI luo SBOM:t

CRACI on GitHub Actions -runneri, joka tallentaa jokaisen paketin, jonka kukin jobi hakee, riippuvuuspuun jokaiselta tasolta ja myös CI-välimuisteista palautetut paketit. Tuloksena on SBOM siitä buildista, joka tuotti julkaisun, ja sen kattavuustila kertoo, mitä jobi ei nähnyt. Sen voi viedä CycloneDX- tai SPDX-muodossa, ja CRACI arvioi sen jatkuvasti uudelleen uusien haavoittuvuuksien julkaisun myötä. Katso buildin aikainen SBOM-generointi.

SBOM: usein kysytyt kysymykset

Mikä SBOM on yksinkertaisesti sanottuna?

SBOM on ohjelmiston ainesosaluettelo. Se nimeää tuotteen jokaisen komponentin versioineen, tekijöineen ja lisensseineen koneluettavassa muodossa.

Mistä lyhenne SBOM tulee?

SBOM tulee sanoista software bill of materials, ohjelmistojen materiaaliluettelo.

Miksi SBOM tarvitaan?

Jotta voit nopeasti todeta, vaikuttaako juuri julkaistu haavoittuvuus siihen, mitä toimitat, nähdä lisenssiriskit ennen julkaisua ja vastata asiakkaille ja viranomaisille, jotka kysyvät, mitä tuotteessasi on.

Mitkä ovat kaksi tärkeintä SBOM-formaattia?

CycloneDX ja SPDX. CycloneDX on OWASPin ja syntyi tietoturvan parissa. SPDX on Linux Foundationin ja syntyi lisenssien noudattamisen tarpeisiin. Molemmat voivat sisältää vähimmäistiedot.

Vaatiiko laki SBOM:ia?

Se riippuu tuotteesta ja markkinasta. FDA:n pykälä 524B edellyttää SBOM:ia kyberlaitteilta, ja EU:n kyberkestävyyssäädös edellyttää sitä valmistajilta. Yhdysvaltain liittovaltion hankinnoissa päätös on nyt kunkin viraston. Monelle muulle yritykselle se on asiakkaan eikä lain vaatimus.

Kuinka usein SBOM pitäisi päivittää?

Generoi uusi SBOM jokaisesta julkaisusta, koska jokainen buildi voi hakea eri versioita. Julkaisun SBOM ei muutu jälkikäteen, mutta sitä kannattaa tarkistaa jatkuvasti uusia haavoittuvuuksia vasten.

Kuka luo SBOM:n?

Yleensä tiimi, joka rakentaa ohjelmiston, mieluiten CI:ssä, jotta jokainen julkaisu saa sellaisen automaattisesti. Ostamasi ohjelmiston mukana pitäisi tulla toimittajan SBOM.

Katso oikean buildisi SBOM

Aja yksi GitHub Actions -työnkulku CRACI:lla ja vertaa sen tallennettua SBOM:ia siihen, mitä nykyiset työkalusi raportoivat.

Varaa demo