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

Vertailu

13 parasta ohjelmistokoostumuksen analyysin (SCA) työkalua vuonna 2026

Ohjelmistokoostumuksen analyysin (SCA) työkalut löytävät koodisi avoimen lähdekoodin komponentit ja nostavat esiin tunnetut haavoittuvuudet ja lisenssiriskit. Tässä on yhdeksän kaupallista ja neljä ilmaista SCA-työkalua, niiden erot ja se, mihin buildin skannaamisen sijaan tallentava CRACI sopii niiden rinnalla.

Päivitetty

Declared dependencies or fetched dependencies An SCA scanner reads the manifest and lockfile and lists the dependencies the project declares. CRACI records what the build job actually fetched, which can also include a tool installed by a CI step or a file downloaded by a script. Both lists are matched against the same vulnerability advisories to produce findings. SCA scanner Reads what the project declares package-lock.json Declared dependencies express 4.19.2 lodash 4.17.21 and the rest of the lockfile CRACI Records what the build fetched build job Fetched dependencies express 4.19.2 lodash 4.17.21 tool from a CI step script download Same vulnerability advisories Findings are only as complete as the list going in

Kenelle tämä on

Tämä sivu on tiimeille, jotka valitsevat SCA-työkalua tai tarkistavat, sopiiko nykyinen vielä. Me teemme CRACI:a, joten ota se huomioon. Jokainen väite muista tuotteista perustuu kyseisen toimittajan omaan dokumentaatioon, ja useimmista tuotteista on pidempi CRACI vs. X -sivu.

Yksi asia heti alkuun: CRACI ei ole SCA-skanneri perinteisessä mielessä. Se on tallentaja. Se ajaa GitHub Actions -jobisi ja tallentaa, mitä ne hakivat. Se on tarkoitettu toimimaan SCA-työkalun rinnalla, ei korvaamaan sitä.

Mitä SCA-työkalut tekevät

Lähes jokainen SCA-työkalu noudattaa samoja vaiheita. Ne eroavat siinä, kuinka hyvin ne tekevät kunkin vaiheen. Perusteet: mitä ohjelmistokoostumuksen analyysi on, miten SCA-skannaus toimii, SAST vs. SCA ja reachability-analyysi.

  1. Komponenttien tunnistaminen. Manifestien ja lukitustiedostojen lukeminen, lähdekoodin analysointi tai binäärien sormenjälkien ottaminen suorien ja transitiivisten riippuvuuksien luettelemiseksi.
  2. Haavoittuvuuksien vertailu. Kunkin komponentin ja version vertaaminen tietokantoihin, kuten NVD:hen, GitHub Advisory Databaseen ja OSV:hen.
  3. Lisenssien tarkistus käytäntöäsi vasten.
  4. Priorisointi. Löydösten järjestäminen vakavuuden, hyödyntämistietojen kuten EPSS:n ja monissa työkaluissa reachability-analyysin perusteella.
  5. Korjaaminen. Päivitysten ehdottaminen tai pull requestien avaaminen.
  6. Valvonta ja raportointi. Hälytykset uusista haavoittuvuuksista ja SBOM:n vienti.

Ensimmäinen vaihe ratkaisee kaiken sen jälkeen. Komponenttia, jota työkalu ei koskaan tunnistanut, ei voi verrata, priorisoida eikä luetella SBOM:ssa, ja siksi alla olevien taulukoiden ensimmäinen rivi kysyy, mistä kunkin työkalun komponenttiluettelo tulee. Perusteet: mitä ohjelmistokoostumuksen analyysi on ja miten se eroaa SAST:sta.

Näin valitset

Muutama kysymys erottaa nämä työkalut nopeammin kuin ominaisuuslistat:

  • Ennen yhdistämistä vai julkaisun jälkeen? SCA-työkalut loistavat pull requesteissa ja editorissa. Jos vaikea kysymyksesi on se, mitä toimitettuun julkaisuun meni, tarvitset tallenteen buildista.
  • Vain riippuvuudet vai myös oma koodisi? Useimpiin näistä tuotteista kuuluu nykyään SAST. Jotkin lisäävät salaisuudet, IaC:n, kontit tai pilven.
  • Kuinka paljon hälytyskohinaa siedät? Reachability-analyysi, joka tarkistaa, voiko koodisi kutsua haavoittuvaa funktiota, on se alue, jolla useat toimittajat kilpailevat.
  • Pitääkö huonot paketit pysäyttää ovella? Repositoriopalomuurit ja pakettivälityspalvelimet estävät ne ennen latausta. Skannerit vain raportoivat niistä jälkikäteen.
  • Mitä CI:tä käytät? Useimmat tässä esitellyistä SCA-työkaluista sopivat moniin CI-järjestelmiin. CRACI tukee nyt vain GitHub Actionsia, ja GitLab CI ja Jenkins ovat tiekartalla.
  • Kattaako se kielesi ja build-järjestelmäsi? Tarkista jokainen toimittamasi ekosysteemi, myös monorepot ja ne buildisi osat, joita mikään lukitustiedosto ei kuvaa.
  • Mitä sinun on luovutettava? Jos asiakkaat tai EU:n kyberkestävyyssäädös (Cyber Resilience Act) edellyttävät SBOM:ia jokaisesta julkaisusta, tarkista formaatit, mihin tilaukseen vienti sisältyy ja kertooko työkalu, kun luettelo on puutteellinen.
  • Miten haluat maksaa? Kehittäjän, committerin, kontribuuttorin tai tilauksen mukaan vai tarjouksesta.

Yhdellä silmäyksellä

Kymmenen saraketta ei mahdu yhteen taulukkoon, joten tuotteet on jaettu kahteen. Molemmissa taulukoissa on samat rivit. ”Ei ilmoitettu” tarkoittaa, että viittaamamme toimittajien sivut eivät kerro asiasta suuntaan eikä toiseen. Hinnoittelu on syyskuulta 2026.

Yritystason SCA- ja AppSec-kokonaisuudet

Ominaisuus CRACI Sonatype Black Duck Mend.io Checkmarx One
Tallentaa riippuvuudet buildin ajon aikana Paketit tunnistava välityspalvelin runnerilla Skannaa buildin tuotoksen Skannaa koodia ja binäärejä Skannaa buildin jälkeen Ladattu lähdekoodiarkisto
Buildin verkkoliikenteen egress-käytäntö Estää virhetilanteessa
Artefaktien allekirjoitetut alkuperätiedot Ei allekirjoitettuja alkuperätietoja Ei ilmoitettu Ei ilmoitettu Ei ilmoitettu Ei ilmoitettu
SBOM-vienti Kattavuus ilmoitetaan
Jatkuva valvonta SBOM Manager Ei ilmoitettu
Priorisointi reachability-analyysin perusteella
SAST omalle koodillesi Ei ilmoitettu Coverity Mend SAST
Lisenssiskannaus tai -käytäntö Lisenssikäytäntö voi estää buildin
Haitallisten pakettien esto Pakettien estolistat Repository Firewall Merkitsee ne Tunnistaa ne Voi estää buildeja
CI GitHub Actionsin ulkopuolella GitLab CI ja Jenkins
Hinnoittelu $0.002 vCPU-minuutilta ($0.004 kahdella vCPU:lla), mitataan sekunneittain; ei kuukausimaksua Guide Pro alkaen $1,200 vuodessa; Firewall Pro alkaen $4,800 vuodessa Tarjouksen mukaan Enintään $1,000 kehittäjää kohden vuodessa Tarjouksen mukaan
  • Sisältyy
  • Osittain
  • Ei sisälly
  • Tiekartalla

Kehittäjälähtöiset ja alustatyökalut

Ominaisuus CRACI Snyk Endor Labs Semgrep GitHub (GHAS) Aikido
Tallentaa riippuvuudet buildin ajon aikana Paketit tunnistava välityspalvelin runnerilla Manifestit ja lukitustiedostot Analysoi lähdekoodia Lukee riippuvuudet koodista Manifestit ja lähetetyt tiedot Manifestit ja lukitustiedostot
Buildin verkkoliikenteen egress-käytäntö Estää virhetilanteessa
Artefaktien allekirjoitetut alkuperätiedot Ei allekirjoitettuja alkuperätietoja Ei ilmoitettu endorctl Ei ilmoitettu Artefaktiattestaatiot Ei ilmoitettu
SBOM-vienti Kattavuus ilmoitetaan Vain Enterprise-tilaukset CycloneDX SPDX
Jatkuva valvonta Ei ilmoitettu Dependabot-hälytykset Ei ilmoitettu
Priorisointi reachability-analyysin perusteella Funktiotasolla Ei ilmoitettu
SAST omalle koodillesi Snyk Code Tekoäly-SAST Semgrep Code CodeQL
Lisenssiskannaus tai -käytäntö Lisenssikäytäntö voi estää buildin Ei ilmoitettu Ei ilmoitettu
Haitallisten pakettien esto Pakettien estolistat Ei ilmoitettu Package Firewall Tunnistaa ne Ei ilmoitettu Safe Chain
CI GitHub Actionsin ulkopuolella GitLab CI ja Jenkins Ei ilmoitettu
Hinnoittelu $0.002 vCPU-minuutilta ($0.004 kahdella vCPU:lla), mitataan sekunneittain; ei kuukausimaksua Ilmainen taso; Team alkaen $25 kuukaudessa Ilmainen Developer-taso; maksulliset tasot myynnin kautta Ilmainen enintään 10 kontribuuttorille; Teams alkaen $30 kontribuuttoria kohden kuukaudessa $19 ja $30 committeria kohden kuukaudessa Ilmainen tilaus; maksulliset alkaen $350 kuukaudessa
  • Sisältyy
  • Osittain
  • Ei sisälly
  • Tiekartalla

Työkalut yksi kerrallaan

CRACI

CRACI: verkkosivusto
craci.com

CRACI on tallentaja, ei skanneri. GitHub Actions -jobisi ajetaan CRACI-runnereilla, ja paketit tunnistava välityspalvelin tallentaa, mitä kukin jobi hakee, ja riippuvuustiedot kulkevat CI-välimuistien läpi. Tästä tallenteesta se tuottaa CycloneDX- tai SPDX-muotoisen SBOM:n, joka ilmoittaa oman kattavuutensa, arvioi valvotut SBOM:t jatkuvasti uudelleen, ohjaa kunkin löydöksen korjauksesta vastaavalle tiimille ja voi estää buildin lisenssin perusteella. Sopii parhaiten tiimeille, joiden on osoitettava, mitä kuhunkin julkaisuun meni. Huomioi: ei SAST:ia, salaisuuksia, IaC-skannausta eikä reachability-analyysiä, ja nyt vain Linux-jobit GitHub Actionsissa (muut CI-järjestelmät, Windows ja macOS ovat tiekartalla). Buildin aikainen SBOM-generointi

Snyk

Snyk: verkkosivusto
snyk.io

Snyk on kehittäjälähtöinen alusta: SCA sekä Snyk Code (SAST), Snyk Container ja Snyk IaC, ja se toimii editorissa, komentorivillä, versionhallintaintegraatioissa ja CI:ssä. Se priorisoi riippuvuuslöydökset reachability-analyysin, hyödyntämisen kypsyyden, EPSS:n ja CVSS:n avulla ja avaa päivitys-pull requesteja. Sopii parhaiten tiimeille, jotka haluavat kehittäjien korjaavan ongelmia editorista alkaen. Huomioi: sen riippuvuuspuu tulee manifesteista ja lukitustiedostoista, ja snyk sbom -komento on käytettävissä vain Enterprise-tilauksissa. CRACI vs. Snyk

Sonatype

Sonatype: verkkosivusto
sonatype.com

Sonatype on rakennettu avoimen lähdekoodin hallinnan ympärille. Lifecycle soveltaa tietoturva- ja lisenssikäytäntöjä (sen lisenssikäytännöt kattavat yli 2 000 lisenssiä), käyttää Advanced Binary Fingerprinting -menetelmää buildin tuotokseen ja avaa Golden Pull Requesteja. Repository Firewall asettaa komponentit karanteeniin ennen kuin ne päätyvät repositorioihisi, ja SBOM Manager valvoo tuotuja SBOM:eja. Sopii parhaiten suurille organisaatioille, jotka haluavat portin repositorioon. Huomioi: tuotepaketointi on muuttumassa, ja uudet asiakkaat ostavat nyt Sonatype Guiden. CRACI vs. Sonatype

Black Duck

Black Duck: verkkosivusto
blackduck.com

Black Duck löytää avoimen lähdekoodin, missä tahansa se piileekin: paketinhallinnan skannaukset, allekirjoitus- ja koodinpätkäskannaus sekä suoritettavien tiedostojen ja laiteohjelmistojen binäärianalyysi ilman lähdekoodia. Sen KnowledgeBase seuraa yli 2 750 lisenssiä, ja Coverity lisää SAST:n 22 kielelle. Sopii parhaiten koodiin, jolla on pitkä historia kopioitua tai vendoroitua avointa lähdekoodia, ja kolmansien osapuolten binäärien tarkistamiseen. Huomioi: hinnoittelu on tarjouspohjainen, ja sen Fix PR:t kattavat suorat riippuvuudet. CRACI vs. Black Duck

Mend.io

Mend.io: verkkosivusto
mend.io

Mend AppSec yhdistää Mend SCA:n, joka seuraa kutsugraafia transitiivisten riippuvuuksien läpi, ja Mend SAST:n yli 30 kielelle. Mend Renovate pitää riippuvuudet ajan tasalla vähintään 90 paketinhallintatyökalussa, ja Renovate CLI on ilmainen. Sopii parhaiten tiimeille, joilla on suuri työjono ja jotka haluavat priorisoinnin ja automaattiset päivitykset yhdessä. Huomioi: Mendin oma dokumentaatio suosittelee skannaamista build-vaiheen jälkeen, joten tarkkuus riippuu siitä, missä kohtaa putkea ajat sen. CRACI vs. Mend.io

Checkmarx One

Checkmarx: verkkosivusto
checkmarx.com

Checkmarx One on laaja AppSec-alusta: SAST, SCA, salaisuudet, IaC, API-tietoturva, DAST, kontit ja suojaus haitallisilta paketeilta, ja päällä ASPM-kerros. Sen SCA käyttää hyödynnettävien polkujen analyysiä, ja käytännöt voivat katkaista buildeja. Sopii parhaiten organisaatioille, jotka haluavat yhden toimittajan sovellusten tietoturvatestaukseen. Huomioi: GitHub Action lataa lähdekoodistasi zip-arkiston skannattavaksi (SCA Resolver voi vaihtoehtoisesti analysoida omissa tiloissasi), ja hinnoittelu on tarjouksen mukaan. CRACI vs. Checkmarx One ja vaihtoehdot Checkmarxille

Endor Labs

Endor Labs: verkkosivusto
endorlabs.com

Endor Labs on rakennettu funktiotason reachability-analyysin ympärille: se jäljittää koodipolkuja lähdekoodistasi haavoittuvaan funktioon suorissa ja transitiivisissa riippuvuuksissa. Lisäksi siinä on päivitysten vaikutusanalyysi, korjauksia taaksepäin siirtävät Endor Patches, tekoäly-SAST, salaisuuksien ja konttien skannaus, Package Firewall ja artefaktien allekirjoitus. Sopii parhaiten tiimeille, jotka hukkuvat riippuvuushälytyksiin. Huomioi: kun täysi buildi ei ole mahdollinen, se turvautuu karkeampaan riippuvuustason reachability-analyysiin. CRACI vs. Endor Labs

Semgrep Supply Chain

Semgrep: verkkosivusto
semgrep.dev

Semgrep Supply Chain on Semgrepin AppSec-alustan SCA-tuote Semgrep Coden (SAST) ja Semgrep Secretsin rinnalla. Se luokittelee löydökset saavutettaviin, ehdollisesti saavutettaviin ja saavuttamattomiin, ja Semgrepin mukaan tämä vähentää vääriä positiivisia jopa 98 %. Kun lukitustiedostot ovat puutteellisia, Dynamic Dependency Resolution yhdistää manifestien jäsentämisen ja paketinhallintatyökalun luettelon täydentämiseksi. Se myös tarkistaa lisenssit käytäntöäsi vasten, tunnistaa haitalliset riippuvuudet, avaa päivitys-pull requesteja ja vie CycloneDX-muotoisia SBOM:eja. Sopii parhaiten tiimeille, jotka jo kirjoittavat Semgrep-sääntöjä, tai pienille tiimeille: ilmainen tilaus kattaa enintään 10 kontribuuttoria. Huomioi: maksulliset tuotteet hinnoitellaan erikseen, alkaen $30 kontribuuttoria kohden kuukaudessa Supply Chainille Teams-tilauksessa.

GitHub Advanced Security

GitHub Advanced Security: verkkosivusto
github.com

GitHub myy nyt Secret Protectionia ja Code Securitya (CodeQL, Copilot Autofix, dependency review) riippuvuusgraafin ja Dependabotin päälle, jotka sisältyvät jokaiseen GitHubin tilaukseen. Artefaktiattestaatiot lisäävät allekirjoitetut alkuperätiedot SLSA v1.0 Build Level 2 -tasolla. Sopii parhaiten tiimeille, jotka ovat jo GitHubissa ja haluavat tietoturvan pull requestien sisään. Huomioi: riippuvuusgraafi kuvaa repositorion manifestit ja lukitustiedostot, ja yksityiset repositoriot tarvitsevat maksullisia tuotteita varten Team- tai Enterprise-tilauksen. CRACI vs. GitHub Advanced Security

Aikido

Aikido: verkkosivusto
aikido.dev

Aikido kokoaa SCA:n, SAST:n, salaisuudet, IaC:n, pilven tietoturvatilan, kontit, DAST:n ja lisenssiskannauksen yhteen näkymään. Sen SCA käyttää funktiotason reachability-analyysiä, AutoFix avaa pull requesteja, ja ilmainen Safe Chain -työkalu estää tunnetut haittaohjelmat npm- ja PyPI-asennuksissa. Sopii parhaiten pienemmille tiimeille, jotka haluavat laajan kattavuuden nopeasti, tai SOC 2- ja ISO 27001 -raportit AppSec-löydöksistä. Huomioi: nuo vaatimustenmukaisuusraportit alkavat Advanced-tilauksesta, ja riippuvuudet tulevat manifesteista ja lukitustiedostoista. CRACI vs. Aikido

Ilmaiset ja avoimen lähdekoodin SCA-työkalut

Jos budjetti on rajoite, neljä avoimen lähdekoodin työkalua kattaa SCA:n ytimen. Kaikki ovat ilmaisia Apache-2.0-lisenssillä. Ajat ne itse, joten valvonta, triage ja raportointi jäävät sinun rakennettaviksesi.

Ominaisuus Mitä se skannaa Haavoittuvuustiedot Hyvä tietää
Trivy Kuvat, tiedostojärjestelmät, repositoriot, virtuaalikonekuvat, Kubernetes Toimittajien tiedotteet, GitHub Advisory Database, NVD Löytää myös IaC:n virheelliset konfiguraatiot, salaisuudet ja lisenssit
Grype Kuvat, tiedostojärjestelmät ja SBOM:t Oma tietokanta, ladataan paikallisesti EPSS, KEV ja riskipisteytys; OpenVEX-suodatus; katkaisee buildit valitsimella --fail-on
OSV-Scanner Lukitustiedostot, konttikuvat, SBOM:t, vendoroitu C- ja C++-koodi OSV.dev Valinnainen kutsuanalyysi; ohjattu korjaus npm:lle ja Mavenille
OWASP Dependency-Check Projektin riippuvuudet, täysi tuki Javalle ja .NETille NVD, vertailu CPE:n perusteella CLI, Maven-, Gradle- ja Ant-lisäosat sekä CI-integraatiot

Aqua Securityn Trivy lukee repositoriosta lukitustiedostot ja kuvasta asennettujen pakettien metatiedot ja kirjoittaa CycloneDX- tai SPDX-muotoisia SBOM:eja. CRACI vs. Trivy. Anchoren Grype skannaa sen, minkä sen rinnakkaistyökalu Syft luettelee, ja toimii kokonaan paikallisesti tietokantansa lataamista lukuun ottamatta. CRACI vs. Syft ja Grype. Googlen OSV-Scanner on OSV.dev-tietokannan virallinen asiakasohjelma ja tukee vähintään 19 lukitustiedostotyyppiä. OWASP Dependency-Check tunnistaa komponentit CPE:n perusteella ja vertaa niitä NVD:hen, mikä sopii parhaiten Java- ja .NET-projekteille. Siitä, miten näiden skannereiden taustalla olevat ilmaiset SBOM-generaattorit lukevat repositorion ja miksi ne ovat eri mieltä, kerrotaan sivulla mitä avoimen lähdekoodin SBOM-generaattoreilta jää näkemättä.

Mihin CRACI sopii

Jokainen muu yllä mainittu työkalu on skanneri. Se lukee manifestin, lukitustiedoston, lähdekoodiarkiston tai binäärin ja selvittää, mitä sen sisällä on. CRACI 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. Riippuvuustiedot kulkevat CI-välimuistien mukana. CRACI:n inventaarionäkymä näyttää tarkasti, mitkä ohjelmistoversiot on otettu käyttöön missäkin tuotteessa, maailmanlaajuisesti.

Tästä tallenteesta CRACI tuottaa CycloneDX- tai SPDX-muotoisen SBOM:n, joka ilmoittaa oman kattavuutensa jobikohtaisesti ja välimuistikohtaisesti. Se valvoo egress-käytäntöä, joka estää virhetilanteessa, palauttaa API:n kautta SBOM:t, verkkojäljet ja alkuperätiedot, arvioi valvotut SBOM:t jatkuvasti uudelleen ja antaa tietoturvatiimien tehdä löydöksille triagen ja ohjata kunkin korjauksesta vastaavalle tiimille. Jokaisella komponentilla on ilmoitettu lisenssinsä, joten copyleft- ja muut rajoittavat lisenssit näkyvät ennen julkaisua, ja lisenssikäytäntö voi estää buildin lisenssin perusteella. Se automatisoi merkittävän osan siitä ohjelmistotoimitusketjun näkyvyydestä ja näytöstä, jota yritykset tarvitsevat laajempaan CRA-vaatimustenmukaisuuden prosessiinsa.

CRACI ei ole oikea valinta, kun:

  • tarvitset SAST:ia, salaisuuksien skannausta tai IaC-skannausta (se ei tee mitään niistä),
  • reachability-analyysi on prioriteettisi (CRACI ei tarjoa sitä) tai tarvitset pakettien estolistoja jo nyt (tiekartalla),
  • putkesi ajetaan GitLabissa, Jenkinsissä tai CircleCI:ssä tai tarvitset Windows- tai macOS-runnereita (CRACI ajaa nyt Linux-jobeja GitHub Actionsissa; muut CI-järjestelmät, Windows ja macOS ovat tiekartalla).

Valitse näissä tapauksissa jokin yllä olevista työkaluista. Jos sinun on myös osoitettava, mitä kuhunkin julkaisuun meni, käytä CRACI:a runnerina ja pidä SCA-työkalusi pull requesteissa. Skannerin ja tallentajan eroista tarkemmin: CRACI vs. SCA- ja SBOM-työkalut ja SBOM-työkalut vertailussa. Lue myös buildin aikaisesta SBOM-generoinnista ja hinnoittelusta, tai varaa demo nähdäksesi GitHub Actions -buildin tallenteen.

Mitä CRACI korvaa ja mitä ei: mitä CRACI korvaa.

CRACI verrattuna kuhunkin työkaluun

Rinnakkain

Useita työkaluja yhdellä sivulla silloin, kun valitset kategoriaa etkä yksittäistä tuotetta.

SCA-työkalut: usein kysytyt kysymykset

Lyhyet vastaukset yleisiin kysymyksiin ohjelmistokoostumuksen analyysista

Mikä on SCA-työkalu?

Ohjelmistokoostumuksen analyysin (SCA) työkalu löytää ohjelmistosi avoimen lähdekoodin ja kolmansien osapuolten komponentit, vertaa niitä haavoittuvuustietokantoihin, kuten NVD:hen, GitHub Advisory Databaseen tai OSV:hen, ja nostaa esiin tunnetut haavoittuvuudet ja lisenssiriskit. Useimmat SCA-työkalut myös priorisoivat löydökset, ehdottavat tai avaavat päivitys-pull requesteja, vievät SBOM:n ja valvovat jatkuvasti uusia haavoittuvuuksia.

Mitä SCA-skannaus on?

SCA-skannaus lukee projektin manifestit, lukitustiedostot, asennetut paketit tai konttikuvan, selvittää, mitä komponentteja siinä on, ja vertaa niitä haavoittuvuus- ja lisenssitietoihin. Useimmat työkalut ajavat sen jokaisessa pull requestissa ja ajastetusti, jotta myös jo käyttämiesi versioiden uudet tietoturvatiedotteet huomataan.

Mitä eroa on SCA:lla ja SAST:lla?

SAST analysoi tiimisi kirjoittamaa koodia vikojen, kuten injektiovirheiden, varalta. SCA analysoi komponentteja, joista olet riippuvainen, tunnettujen haavoittuvuuksien ja lisenssiongelmien varalta. Useimmat tämän sivun kaupalliset työkalut myyvät nykyään molempia, mutta ne vastaavat eri kysymyksiin.

Mitä eroa on SCA:lla ja SBOM:lla?

SCA on komponenttien löytämisen ja arvioinnin prosessi. SBOM on koneluettava luettelo näistä komponenteista, yleensä CycloneDX- tai SPDX-muodossa. Useimmat SCA-työkalut voivat viedä sellaisen, ja SBOM on vain yhtä kattava kuin menetelmä, jolla se tuotettiin: manifestien skannaus, binäärien skannaus tai tallenne buildista.

Mitkä ovat parhaat ilmaiset SCA-työkalut?

Trivy, Grype, OSV-Scanner ja OWASP Dependency-Check ovat ilmaisia ja avointa lähdekoodia. Kaupallisista työkaluista Semgrepillä on ilmainen tilaus enintään 10 kontribuuttorille, Snykillä, Endor Labsilla ja Aikidolla on ilmaiset tasot, ja Dependabot-hälytykset sisältyvät jokaiseen GitHubin tilaukseen. Ilmaiset työkalut jättävät valvonnan, triagen ja raportoinnin yleensä sinulle.

Mitä reachability-analyysi tarkoittaa SCA:ssa?

Reachability-analyysi (reachability analysis) tarkistaa, voiko koodisi todella kutsua riippuvuuden haavoittuvaa funktiota, jolloin löydökset, joihin ei päästä, laskevat listalla alemmas. Snyk, Endor Labs, Mend, Checkmarx, Semgrep, Aikido, Sonatype ja Black Duck tarjoavat kaikki jonkin muodon siitä. CRACI ei tarjoa.

Onko CRACI SCA-työkalu?

Ei perinteisessä mielessä. SCA-työkalut skannaavat tiedostoja selvittääkseen, mitä niiden sisällä on. CRACI on tallentaja: se ajaa GitHub Actions -jobisi ja tallentaa paketit, jotka kukin jobi todella haki, tuottaa CycloneDX- tai SPDX-muotoisen SBOM:n, joka ilmoittaa oman kattavuutensa, ja valvoo sitä jatkuvasti uusien haavoittuvuuksien varalta. Tiimit käyttävät sitä SCA-työkalun rinnalla, joka kattaa pull requestit ja SAST:n.

Katso, mitä buildisi todella hakivat

Varaa demo ja vertaa SBOM:ia, jonka CRACI tallentaa GitHub Actions -buildin aikana, siihen, jonka SCA-työkalusi tuottaa.

Varaa demo