Vertailu
Parhaat SBOM-työkalut vuonna 2026
Paras SBOM-työkalu riippuu tehtävästä. Syft, Trivy ja cdxgen generoivat SBOM:eja skannaamalla tiedostoja; Dependency-Track, FOSSA ja Anchore hallinnoivat niitä; CRACI tallentaa SBOM:n buildisi ollessa käynnissä. Näin kaksitoista työkalua eroavat toisistaan ja näin valitset.
Päivitetty
Lyhyt vastaus
- Maksuttomat SBOM:t konttikuville ja tiedostojärjestelmille: Syft, tai Trivy, jos haluat myös haavoittuvuus-, salaisuus- ja IaC-skannerin.
- CycloneDX lähdekoodista: cdxgen CycloneDX-yhteisöltä.
- SPDX buildin tulokselle, jonka jo paketoit: Microsoft SBOM Tool.
- AWS:ssä toimivat kuormat: Amazon Inspector SBOM Generator, joka syöttää tietoja Amazon Inspectoriin.
- Nopea SBOM GitHub-repositoriosta: GitHubin riippuvuusgraafin vienti.
- Maksuton, itse ylläpidettävä paikka SBOM:ien valvontaan: OWASP Dependency-Track.
- Lisenssien noudattaminen ensin: FOSSA. Toimittajien ja portfolion SBOM:t: Manifest tai Cybeats. Konttikannat ja viranomaisten käytäntöpaketit: Anchore Enterprise.
- SBOM siitä, mitä omat buildisi todella hakivat, haavoittuvuuksien valvonnan ja alkuperätietojen kanssa: CRACI GitHub Actionsille.
Mitä SBOM-työkalu tekee
Ohjelmistojen materiaaliluettelo luettelee ohjelmiston sisältämät komponentit, kirjastot ja riippuvuudet koneluettavassa muodossa, kuten CycloneDX tai SPDX. SBOM-työkaluja on kahta lajia. Generaattorit kirjoittavat SBOM:n. Hallintatyökalut säilyttävät monien tuotteiden ja toimittajien SBOM:eja, vertaavat niitä haavoittuvuustietoihin, soveltavat käytäntöjä ja jakavat niitä. Hallintatyökalut ovat riippuvaisia siitä, mitä generaattorit niille syöttävät.
Se, milloin SBOM tehdään, on yhtä tärkeää kuin se, millä työkalulla. CISA:n SBOM-tyyppejä koskeva ohjeistus erottaa source-SBOM:n, joka luodaan kehitysympäristöstä ja lähdekooditiedostoista, build-SBOM:n, joka generoidaan osana julkaistavan artefaktin rakentamista, sekä analyzed-SBOM:n, joka generoidaan analysoimalla artefakteja, kuten suoritettavia tiedostoja ja konttikuvia, buildin jälkeen. Useimmat alla olevat generaattorit tuottavat source- tai analyzed-SBOM:eja. CRACI tuottaa build-SBOM:n. Buildin aikaiset SBOM:t selittää eron tarkemmin.
Kenelle tämä on
Tämä sivu on tiimeille, jotka tarvitsevat SBOM:eja kyberkestävyyssäädöstä, asiakkaan kyselylomaketta tai omaa haavoittuvuustyötään varten ja käyvät vaihtoehtoja läpi. Me teemme CRACI:a, joten ota se huomioon. Jokainen väite muusta työkalusta perustuu sen omaan dokumentaatioon, ja jokaisesta työkalusta on pidempi CRACI vs. X -sivu.
Miten valita SBOM-työkalu
- Tarvitsetko SBOM:ien tuottamista, hallintaa vai molempia? Generaattori antaa sinulle tiedoston. Hallintatyökalu antaa paikan, jossa säilyttää monien tuotteiden ja toimittajien tiedostoja, rikastaa niitä ja toimia niiden pohjalta.
- Onko ohjelmisto omasi vai ostettu? Omissa buildeissasi hallitset syötettä, joten voit tallentaa sen. Toimittajien ohjelmistoille tarvitset vastaanoton, validoinnin ja joskus binäärianalyysin.
- Kuinka varma sinun on oltava siitä, että lista on kattava? Generaattorit lukevat tiedostoja jälkikäteen, ja ne ovat eri mieltä useammin kuin moni odottaa (katso alla). Build-SBOM kuvaa sitä, mitä buildi käytti.
- Mitä formaattia asiakkaasi pyytävät? CycloneDX ja SPDX ovat molemmat laajasti hyväksyttyjä; useimmat työkalut kirjoittavat ainakin toista niistä.
- Mitä CI:tä käytät, ja onko sen oltava itse ylläpidetty? Avoimen lähdekoodin generaattorit toimivat missä tahansa. CRACI tukee nyt GitHub Actionsia Linuxilla hallinnoituna palveluna; GitLab CI, Jenkins ja asiakkaan ylläpitämät runnerit ovat tiekartalla.
Jos usean tiimin on tuotettava SBOM:t samalla tavalla, katso SBOM-generointi kehitystiimien välillä.
SBOM-generaattorit
Tässä verrataan sitä, mitä kukin generaattori tekee, ei sitä, kuinka monta komponenttia se palauttaa.
| Ominaisuus | CRACI | Syft | Trivy | cdxgen | Microsoft SBOM Tool | GitHub-vienti | Amazon Inspector Sbomgen |
|---|---|---|---|---|---|---|---|
| Mistä komponenttiluettelo tulee | Tallennettu buildin liikenne | Katalogoijat lukevat tiedostoja ja kuvia | Lukitustiedostot tai asennetut paketit | Lähdekoodi ja konttikuvat | Buildin tuloskansio | Manifestit ja lukitustiedostot | Tiedostot kuvissa, hakemistoissa, arkistoissa ja binääreissä |
| Formaatit | CycloneDX, SPDX | CycloneDX, SPDX, Syft JSON | CycloneDX, SPDX | CycloneDX | SPDX | SPDX | CycloneDX |
| Tallentaa, mitä buildi haki | CI-välimuistit mukaan lukien | Dependency submission | |||||
| Toimii ajamatta buildia | |||||||
| Allekirjoitettu attestaatio tai alkuperätiedot | Ei allekirjoitettuja alkuperätietoja | in-toto SBOM -attestaatio | Cosignilla | Ei ilmoitettu | Ei ilmoitettu | Artefaktiattestaatiot | Ei ilmoitettu |
| Haavoittuvuuksien vertailu | Valvotut SBOM:t | Yhdessä Grypen kanssa | Ei ilmoitettu | Ei ilmoitettu | Dependabot-hälytykset | Inspector Scan API | |
| Buildin egress-käytäntö | Estää virhetilanteessa (fail closed) | ||||||
| Toimii missä tahansa CI:ssä | GitHub Actions nyt; GitLab CI ja Jenkins tiekartalla | GitHub-repositoriot | Vain Linux | ||||
| Hinta | $0.002 vCPU-minuutilta ($0.004 kahdella vCPU:lla), mitataan sekunneittain; ei kuukausimaksua eikä SBOM-kohtaista maksua | Ilmainen, Apache-2.0 | Ilmainen, Apache-2.0 | Ilmainen, Apache-2.0 | Ilmainen, MIT | Sisältyy GitHubiin | Ilmainen lataus |
- Sisältyy
- Osittain
- Ei sisälly
- Tiekartalla
CRACI
CRACI on tallentaja eikä skanneri. GitHub Actions -jobisi ajetaan CRACI-runnereilla, ja paketit tunnistava välityspalvelin tallentaa, mitä kukin jobi hakee, CI-välimuistista palautetut paketit mukaan lukien. SBOM, CycloneDX- tai SPDX-muodossa, sisältää buildin käyttämät transitiiviset riippuvuudet ja ilmoittaa kattavuutensa jobi- ja välimuistikohtaisesti. Sen jälkeen CRACI arvioi valvotut SBOM:t jatkuvasti uudelleen, joten se hoitaa sekä generaattorin että hallintatyökalun tehtävän. Paras ohjelmistoille, jotka rakennat GitHub Actionsilla. Huomaa: se ei voi skannata kuvaa tai hakemistoa, ja se ajaa toistaiseksi Linux-jobeja GitHub Actionsilla (muut CI-järjestelmät, Windows ja macOS ovat tiekartalla). SBOM-generointi CRACI:ssa
Syft
Syft on Anchoren maksuton, Apache-2.0-lisensoitu generaattori konttikuville ja tiedostojärjestelmille. Se tunnistaa kymmeniä pakettityyppejä, kirjoittaa CycloneDX:ää, SPDX:ää ja Syft JSONia ja voi luoda allekirjoitettuja in-toto-SBOM-attestaatioita. Sen kumppani Grype vertaa SBOM:ia haavoittuvuuksiin. Paras konttikuville ja mihin tahansa putkeen, joka tarvitsee maksuttoman generaattorin. Huomaa: catalogerit valitaan skannaustyypin mukaan, joten asennetussa express-checkoutissa yksi lippu ratkaisee, näkyvätkö npm-paketit tuloksessa lainkaan. CRACI vs. Syft ja Grype
Trivy
Aqua Securityn Trivy on monipuolinen Apache-2.0-lisensoitu skanneri konttikuville, tiedostojärjestelmille, repositorioille, virtuaalikonekuville ja Kubernetesille. Se löytää haavoittuvuudet, IaC-virhekonfiguraatiot, salaisuudet ja lisenssit ja kirjoittaa CycloneDX:ää tai SPDX:ää sivutuotteena. Paras tiimeille, jotka haluavat yhden maksuttoman binäärin moniin tietoturvatarkistuksiin. Huomaa: repositoriosta se lukee lukitustiedostot, joten express 5.2.1 (ei lukitustiedostoa) ja claude-code (ei manifestia) eivät anna sille mitään luettavaa, täsmälleen dokumentaation mukaisesti. CRACI vs. Trivy
cdxgen
cdxgen on OWASP CycloneDX -projekti, joka luo CycloneDX-BOM:eja lähdekoodista ja konttikuvista Apache-2.0-lisenssillä. Paras tiimeille, jotka ovat standardoineet CycloneDX:ään ja haluavat generaattorin formaatin omalta yhteisöltä. Huomaa: muiden skannereiden tapaan se voi raportoida vain sen, mitä sen edessä olevat tiedostot ilmoittavat. CRACI vs. itse koottu SBOM-pino
Microsoft SBOM Tool
Microsoft SBOM Tool on MIT-lisensoitu generaattori, joka kirjoittaa SPDX 2.2:ta tai pyynnöstä SPDX 3.0:aa ja voi validoida SBOM:n SPDX-määritystä vasten. Se odottaa komentorivillä buildin tuloskansiota, paketin nimeä, versiota ja toimittajaa, mikä tekee siitä buildin jälkeisen vaiheen, ja se toimii GitHub Actionsissa ja Azure Pipelinesissa. Paras tiimeille, jotka haluavat SPDX:n buildin tulokselle, jonka ne jo paketoivat. Huomaa: kun se osoitetaan commitoituihin repositorioihin eikä buildin tuloskansioon, sillä ei ole juuri mitään kuvattavaa. Koska se ottaa toimittajan komentorivillä, se voi täyttää toimittajakentän. CRACI vs. itse koottu SBOM-pino
GitHubin riippuvuusgraafin vienti
GitHubin riippuvuusgraafi tiivistää repositorion manifesti- ja lukitustiedostot sekä kaiken dependency submission API:n kautta lähetetyn ja vie ne SPDX-muodossa käyttöliittymästä tai REST API:sta. Se syöttää Dependabot-hälytyksiä ja sisältyy jokaiseen GitHub-pakettiin. Paras GitHubia jo käyttäville tiimeille, jotka tarvitsevat nopean SBOM:n. Huomaa: se kuvastaa oletushaaraa eikä lukittua committia, ja se rakentuu siitä, mitä GitHub tietää repositoriosta, eikä tiedostoista, joita skanneri lukee. CRACI vs. GitHub Advanced Security
Amazon Inspector SBOM Generator
Sbomgen on generaattori Amazon Inspectorin oman kuva-, Lambda- ja EC2-skannauksen takana, ja sitä tarjotaan erillisenä Linux- binäärinä. Se lukee pakettien metatietoja konttikuvista, hakemistoista, arkistoista, liitetyistä levyistä sekä käännetyistä Go- ja Rust-binääreistä, kattaa käyttöjärjestelmäpaketit (APK, DPKG, RPM) ja kielet, kuten C#, Go, Java, Node.js, PHP, Python, Ruby ja Rust, ja kirjoittaa CycloneDX:ää. Se voi lähettää SBOM:n Amazon Inspector Scan API:in haavoittuvuuslöydöksiä varten, mikä vaatii AWS-tilin. Paras tiimeille, joiden kuormat toimivat jo AWS:ssä. Huomaa: se toimii vain Linuxilla, ja muiden skannereiden tapaan se löytää sen, mitä sen lukemat tiedostot ilmoittavat.
Safeguard
Safeguardin CLI ajaa Syftiä ja Grypeä tuottaakseen CycloneDX- ja SPDX-SBOM:eja repositorioista, konttikuvista ja ladatuista manifesteista, ja sen alusta lisää tekoälyn kirjoittamat korjaus-pull requestit ja käytäntöportit. Paras tiimeille, jotka haluavat skannauksen ja automaattiset korjaukset samaan tilaukseen. Huomaa: muiden skannereiden tapaan se luettelee sen, mitä sen lukemat tiedostot ilmoittavat. CRACI vs. Safeguard
Mistä skannattu SBOM riippuu
Osoita yllä olevat generaattorit samaan repositorioon, ja ne palauttavat eri listat. Nämä ovat ilmiöitä, jotka työkalujen oma dokumentaatio ennustaa:
- Työkalut ovat eri mieltä siitä, mikä on komponentti. Kukin generaattori päättää itse, mihin tiedostoihin se luottaa ja miten se nimeää löytämänsä, joten yksi repositorio antaa kullekin eri listan.
- Ei lukitustiedostoa, ei riippuvuuksia. Express 5.2.1 ei commitoi sellaista, joten generaattori, joka selvittää riippuvuudet lukitustiedostoista, ei raportoi yhtään sen npm-riippuvuutta ja palauttaa kaiken muun, mitä se tunnistaa.
- Ei manifestia lainkaan. claude-code-repositoriossa ei ole manifestia eikä lukitustiedostoa, joten se, mitä kukin työkalu palauttaa, kootaan muista tiedostotyypeistä ja kertoo enemmän työkalusta kuin projektista.
- Niukat metatiedot. Toimittajakenttä jää usein tyhjäksi, koska useimmilla generaattoreilla ei ole sille lähdettä.
Yksikään näistä työkaluista ei ole rikki. Kukin lukee edessään olevat tiedostot, kuten on suunniteltu. Opetus on, että skannattu SBOM riippuu työkalusta, sen asetuksista ja siitä, asensiko joku riippuvuudet ensin. Mitä Syft, Trivy ja cdxgen kukin lukevat: mitä avoimen lähdekoodin SBOM-generaattoreilta jää huomaamatta.
SBOM-hallintatyökalut
| Ominaisuus | CRACI | Anchore Enterprise | FOSSA | Cybeats | Manifest | Dependency-Track |
|---|---|---|---|---|---|---|
| Mistä SBOM tulee | Tallennetaan buildisi aikana | Konttikuvien, tiedostojärjestelmien ja lähdekoodin skannaukset | FOSSA CLI -analyysi tai tuonnit | Tuonnit; generaattorit Marketplacen kautta | Skannerit (oletuksena Syft) tai binäärianalyysi | Lataamasi SBOM:t |
| Kattavuus- tai laatusignaali | Jobi- ja välimuistikohtaisesti | Skeeman validointi | Vähimmäiselementtikäytännöt | SBOM Quality Score | Ei ilmoitettu | Ei ilmoitettu |
| Tuo toimittajien SBOM:eja | Toimittajien SBOM:eja voi lisätä | Toimittajaportaali | CycloneDX | |||
| Jatkuva haavoittuvuuksien valvonta | ||||||
| VEX | ||||||
| Käytäntömoottori tai portit | Käytäntöportit, buildin estäminen | Käytäntöpaketit | Käytäntöihin perustuvat hälytykset | Ei ilmoitettu | ||
| Lisenssien noudattaminen | Lisenssikäytäntö voi estää buildin | Ei ilmoitettu | Ei ilmoitettu | |||
| SBOM:ien jakaminen asiakkaille | Tiedostovienti | Ei ilmoitettu | SBOM Portal | Ei ilmoitettu | ||
| Ajaa buildisi | Egress-käytäntö, alkuperätiedot | |||||
| Itse ylläpidetty | Asiakkaan ylläpitämät runnerit | Myös air-gapped | Ei ilmoitettu | Ei ilmoitettu | Ei ilmoitettu | |
| Hinnoittelu | $0.002 per vCPU-minuutti ($0.004 2 vCPU:lle), mitataan sekunneittain; ei kuukausimaksua | Tarjous | Free-tilaus; Business $20 per projekti kuukaudessa | Ei ilmoitettu | Ei ilmoitettu | Maksuton, Apache 2.0 |
- Sisältyy
- Osittain
- Ei sisälly
- Tiekartalla
Anchore Enterprise
Anchore Enterprise rakentuu Syftin ja Grypen päälle ja lisää sen, mitä suuret organisaatiot tarvitsevat: kontti-, lähdekoodi- ja tiedostojärjestelmä-SBOM:t, tuodut SBOM:t, joiden skeeman oikeellisuus validoidaan, jatkuva uudelleenskannaus ilman alkuperäistä artefaktia sekä käytäntöpaketit FedRAMPille, NISTille, CIS:lle, PCI DSS:lle ja CMMC:lle. Sen voi ottaa käyttöön Kubernetesissa, Docker Composella tai air-gapped-ympäristössä. Paras konttikannoille useissa CI-järjestelmissä ja julkishallinnon työhön. Huomaa: sen SBOM:t kuvaavat silti sitä, mitä skanneri löysi, ja hinnoittelu on tarjouksesta. CRACI vs. Anchore
FOSSA
FOSSA aloitti lisenssien noudattamisesta: lisenssien tunnistus koko tekstistä, käytännöt ja attribuutioilmoitukset. Se generoi ja tuo SPDX- ja CycloneDX-SBOM:eja, voi lisätä VDR- tai VEX-lausuntoja, tarkistaa tuonnit NTIA:n ja FDA:n vähimmäiselementtejä vasten ja jakaa SBOM:eja Enterprise-tilauksessa portaalin kautta. Free-tilaus kattaa 5 projektia. Paras tiimeille, joiden tärkein huoli on lisenssiriski. Huomaa: sen CLI kysyy build-työkaluiltasi, kun toimiva buildi on saatavilla, ja päättelee lähdekoodista, kun sitä ei ole, ja binääri- ja snippet-skannaus ovat lisäosia. CRACI vs. FOSSA
Cybeats SBOM Studio
SBOM Studio kutsuu itseään nimellä "the SBOM system of record." Se tuo ja vie SPDX 2.2–3.0.1:tä ja CycloneDX 1.2–1.7:ää, pisteyttää SBOM:n laadun ennen tuontia, vertaa jokaista komponenttia jatkuvasti ja jakaa SBOM- ja VEX-tietoja asiakkaille, myös Transparency Exchange API:n kautta. Paras tuoteturvallisuustiimeille, jotka pyörittävät SBOM-ohjelmaa ICS:n, lääkintälaitteiden, tietoliikenteen ja autoteollisuuden aloilla. Huomaa: se hallinnoi SBOM:eja eikä tuota niitä, ja laatupisteet vahvistavat formaatin, eivät sitä, mitä generaattorilta jäi huomaamatta. CRACI vs. Cybeats ja Vaihtoehdot Cybeatsille
Manifest
Manifest kerää, rikastaa ja jakaa SBOM:eja tuotteidesi, toimittajiesi ja tekoälymalliesi osalta. Toimittajat lataavat ne suojatun portaalin kautta, ja kun ne eivät toimita SBOM:ia, Manifest voi analysoida binäärin ja generoida sellaisen. Se tukee SPDX:ää, CycloneDX:ää ja VEX:iä ja kohdistaa FDA:n ohjeistukseen, NIST 800-218:aan ja UNECE R155:een. Paras organisaatioille, joiden suurin riski on ostettu ohjelmisto. Huomaa: sen GitHub Action generoi omat SBOM:t oletuksena Syftillä. CRACI vs. Manifest
OWASP Dependency-Track
Dependency-Track on Apache 2.0 -lisensoitu alusta, joka seuraa komponentteja jokaisen sovelluksen jokaisessa versiossa, hakee haavoittuvuustietoja muun muassa NVD:stä ja GitHub Advisoriesista, soveltaa tietoturva-, lisenssi- ja toimintakäytäntöjä sekä käyttää ja tuottaa CycloneDX VEX -tietoja. Putket lataavat SBOM:eja sen API:n kautta. Paras tiimeille, jotka haluavat läpinäkyvän, itse ylläpidettävän analyysialustan. Huomaa: se ei generoi SBOM:eja, ja ajat sitä itse (API-palvelin tarvitsee vähintään 2 Gt RAM-muistia ja 2 suoritinydintä). CRACI Dependency-Trackin käyttäjille
CycloneDX vai SPDX
Molemmat formaatit ovat avoimia standardeja, ja useimmat tämän sivun työkalut kirjoittavat ainakin toista niistä. CycloneDX on OWASP- projekti, jonka Ecma International on standardoinut nimellä ECMA-424, ja se sisältää haavoittuvuus- ja VEX-tietoja komponenttilistan rinnalla. SPDX on Linux Foundationin projekti ja kansainvälinen standardi ISO/IEC 5962:2021. Kyberkestävyyssäädös edellyttää SBOM:ia "yleisesti käytetyssä ja koneluettavassa muodossa" nimeämättä mitään tiettyä, joten valitse formaatti, jota asiakkaasi ja jatkokäsittelyn työkalusi lukevat. Katso SBOM-esimerkit, joissa molemmat ovat rinnakkain, ja SBOM:ien parhaat käytännöt niiden käytöstä. SBOM:ien säilytyksestä ja valvonnasta suuressa mittakaavassa kerrotaan sivulla SBOM-hallinta.
CRACI:n paikka
CRACI ei ole skanneri eikä hallintatyökalu. Se on tallentaja. GitHub Actions -jobisi ajetaan CRACI-runnereilla (vaihda
runs-on-arvoksi craci), ja paketit tunnistava välityspalvelin tallentaa, mitä kukin jobi hakee npm-, PyPI-,
RubyGems-, Composer-, Cargo-, Go-, Nix-, OCI-, apt-, apk- ja Git-lähteistä sekä latausesiasetuksista. CI-välimuistista palautetut paketit kuljettavat
näyttönsä mukanaan. SBOM, CycloneDX- tai SPDX-muodossa, sisältää buildin käyttämät transitiiviset riippuvuudet ja ilmoittaa
kattavuutensa jobi- ja välimuistikohtaisesti: Complete, Complete with connections, Incomplete, Unavailable tai Not recorded.
CRACI:n inventaarionäkymä näyttää tarkasti, mitkä ohjelmistoversiot on otettu käyttöön missäkin tuotteessa maailmanlaajuisesti.
Buildin jälkeen CRACI arvioi valvotut SBOM:t jatkuvasti uudelleen, kokoaa haavoittuvuudet kaikista buildeista ja repositorioista, tukee VEX:iä, palauttaa SBOM:t, verkkojäljet ja alkuperätiedot API:nsa kautta ja vie SBOM:t CycloneDX- tai SPDX-tiedostoina. Toimittajien SBOM:eja voi lisätä, joten ostettuja komponentteja valvotaan omien buildiesi rinnalla. Se automatisoi merkittävän osan ohjelmistotoimitusketjun näkyvyydestä ja näytöstä, joita yritykset tarvitsevat laajempaan CRA-vaatimustenmukaisuusprosessiinsa. Koko ominaisuudesta kerrotaan sivulla SBOM-generointi CRACI:ssa.
CRACI hoitaa siis sekä generaattorin että hallintatyökalun tehtävän itse rakentamillesi ohjelmistoille. Se ei ole oikea valinta, kun:
- tarvitset SBOM:eja konttikuville tai ohjelmistoille, joita et ole itse rakentanut (käytä generaattoria, kuten Syftiä tai Trivyä),
- tarvitset kypsän käytäntömoottorin, jossa on monia sääntötyyppejä koko tuote- ja toimittajaportfoliolle (käytä hallintatyökalua),
- putkesi toimivat GitHub Actionsin ulkopuolella, Windowsilla tai macOS:llä tai niiden on oltava itse ylläpidettyjä (kaikki CRACI:n tiekartalla).
Nopein tapa arvioida on rinnakkainen vertailu: varaa demo, aja yksi työnkuluistasi CRACI:lla ja aseta sen SBOM nykyisen työkalusi tuottaman rinnalle.
Katso myös SCA-työkalut vertailussa, tekoälyn generoimat SBOM:t vs. buildin aikaiset SBOM:t ja miksi buildin aikaiset SBOM:t eroavat skannatuista.
SBOM-työkalut: usein kysytyt kysymykset
Mikä on SBOM-työkalu?
SBOM-työkalu tuottaa tai hallinnoi ohjelmistojen materiaaliluetteloa (SBOM): koneluettavaa luetteloa ohjelmiston sisältämistä komponenteista, kirjastoista ja riippuvuuksista. Generaattorit, kuten Syft, Trivy ja cdxgen, kirjoittavat SBOM:n lukemalla tiedostoja. Hallintatyökalut, kuten Dependency-Track, FOSSA ja Anchore Enterprise, säilyttävät SBOM:eja, vertaavat niitä haavoittuvuustietoihin ja jakavat niitä. CRACI tallentaa SBOM:n itse buildin aikana ja valvoo sitä sen jälkeen.
Mikä on paras maksuton SBOM-työkalu?
Se riippuu siitä, mihin osoitat sen. Syft ja Trivy ovat maksuttomia, Apache-2.0-lisensoituja generaattoreita konttikuville ja tiedostojärjestelmille. cdxgen kirjoittaa CycloneDX:ää lähdekoodista ja konttikuvista. Microsoft SBOM Tool kirjoittaa SPDX:ää buildin tuloskansiolle. OWASP Dependency-Track on maksuton, itse ylläpidettävä hallintatyökalu näiden työkalujen tuottamille SBOM:eille.
Kannattaako käyttää Syftiä vai Trivyä?
Syft keskittyy SBOM-generointiin, ja sen parina toimii Grype haavoittuvuuksien vertailuun. Trivy on laajempi skanneri, joka löytää myös IaC-virhekonfiguraatiot, salaisuudet ja lisenssit ja kirjoittaa samalla CycloneDX:ää tai SPDX:ää. Molemmat lukevat edessään olevat tiedostot, joten molemmat ovat riippuvaisia siitä, että lukitustiedostot tai asennetut paketit ovat paikalla.
CycloneDX vai SPDX: kumpaa SBOM-formaattia kannattaa käyttää?
Molemmat ovat avoimia, laajasti tuettuja standardeja. CycloneDX on OWASP-projekti, jonka Ecma International on standardoinut nimellä ECMA-424, ja se sisältää myös haavoittuvuus- ja VEX-tietoja. SPDX on Linux Foundationin projekti ja kansainvälinen standardi ISO/IEC 5962:2021. Käytä sitä, jota asiakkaasi ja jatkokäsittelyn työkalusi pyytävät; useimmat generaattorit kirjoittavat molempia.
Miksi SBOM-työkalut antavat samasta projektista eri tuloksia?
Kukin generaattori päättää, mihin tiedostoihin se luottaa ja mikä lasketaan komponentiksi. Jotkin lukevat lukitustiedostoja, jotkin asennettuja paketteja, jotkin binäärejä, ja repositorio ilman lukitustiedostoa ei anna lukitustiedostojen lukijalle mitään luettavaa. Skannattu SBOM riippuu työkalusta, sen asetuksista ja siitä, asennettiinko riippuvuudet ennen skannausta. Buildin aikainen SBOM välttää tämän tallentamalla sen, mitä buildi todella haki.
Vaatiiko kyberkestävyyssäädös tietyn SBOM-työkalun tai -formaatin?
Ei. EU:n kyberkestävyyssäädöksen (Cyber Resilience Act, CRA) liitteen I II osa edellyttää, että valmistajat laativat ohjelmistojen materiaaliluettelon yleisesti käytetyssä ja koneluettavassa muodossa ja että se kattaa vähintään tuotteiden ylimmän tason riippuvuudet. Sekä CycloneDX että SPDX täyttävät tämän. Asetus ei nimeä mitään työkalua.
Voiko CRACI generoida SBOM:n ohjelmistolle, jota en ole itse rakentanut?
Ei. CRACI tallentaa sen runnereilla ajettavat buildit, joten sen SBOM:t kuvaavat ohjelmistoja, jotka rakennat itse. Ostamasi ohjelmiston osalta voit lisätä toimittajan SBOM:n CRACI:iin ja valvoa sitä omien buildiesi rinnalla. Kolmannen osapuolen konttikuvalle, jota et ole rakentanut, Syftin tai Trivyn kaltainen skanneri on käytännöllinen valinta.
Mitä CI-järjestelmiä CRACI tukee?
Nyt GitHub Actionsia Linux x86-64- ja ARM64-runnereilla. Vaihdat runs-on-arvoksi craci, ja ajot näkyvät edelleen GitHubissa. Muut CI-järjestelmät, ensimmäisinä GitLab CI ja Jenkins, ovat tiekartalla.
Aseta tallennettu SBOM nykyisesi rinnalle
Varaa demo, aja yksi GitHub Actions -työnkulku CRACI:lla ja vertaa sen SBOM:ia siihen, jonka generaattorisi nyt tuottaa.
Varaa demo