Confronto
I 13 migliori strumenti di software composition analysis (SCA) del 2026
Gli strumenti di software composition analysis (SCA) individuano i componenti open source nel Suo codice e segnalano vulnerabilità note e rischi di licenza. Ecco nove strumenti SCA commerciali e quattro gratuiti, in che cosa differiscono e dove si colloca accanto a loro CRACI, che registra la build invece di scansionarla.
Aggiornato il
A chi è rivolta questa pagina
Questa pagina è per i team che stanno scegliendo uno strumento SCA, o che vogliono verificare se quello che hanno è ancora adatto. Noi sviluppiamo CRACI, ne tenga conto. Ogni affermazione su un altro prodotto proviene dalla documentazione di quel vendor, e la maggior parte dei prodotti ha una pagina CRACI vs X più lunga.
Una cosa da chiarire subito: CRACI non è uno scanner SCA nel senso classico. È un registratore. Esegue i Suoi job GitHub Actions e registra ciò che hanno scaricato. È pensato per stare accanto a uno strumento SCA, non per sostituirlo.
Che cosa fanno gli strumenti SCA
Quasi tutti gli strumenti SCA seguono gli stessi passaggi. La differenza sta in quanto bene svolgono ciascuno di essi. Per le basi, veda che cos'è la software composition analysis, come funziona una scansione SCA, SAST vs SCA e l'analisi di raggiungibilità.
- Identificare i componenti. Leggere manifest e lockfile, analizzare il codice sorgente o ricavare l'impronta dei binari per elencare le dipendenze dirette e transitive.
- Individuare le vulnerabilità. Controllare ogni componente e versione in database come NVD, GitHub Advisory Database e OSV.
- Controllare le licenze rispetto alla Sua policy.
- Dare priorità. Ordinare i risultati per gravità, dati sugli exploit come EPSS e, in molti strumenti, raggiungibilità.
- Correggere. Suggerire aggiornamenti o aprire pull request.
- Monitorare e fare report. Avvisare delle nuove vulnerabilità ed esportare una SBOM.
Il primo passaggio decide tutto il resto. Un componente che lo strumento non ha mai identificato non può essere confrontato, prioritizzato né elencato nella SBOM, ed è per questo che la prima riga delle tabelle qui sotto chiede da dove proviene l'elenco dei componenti di ogni strumento. Per le basi, veda che cos'è la software composition analysis e in che cosa differisce dal SAST.
Come scegliere
Alcune domande distinguono questi strumenti più in fretta degli elenchi di funzionalità:
- Prima del merge o dopo la release? Gli strumenti SCA danno il meglio sulle pull request e nell'IDE. Se la domanda più difficile per Lei è che cosa è entrato in una release distribuita, Le serve una registrazione della build.
- Solo le dipendenze o anche il Suo codice? La maggior parte di questi prodotti oggi include il SAST. Alcuni aggiungono secret, IaC, container o cloud.
- Quanto rumore di avvisi può assorbire? L'analisi di raggiungibilità, che verifica se il Suo codice può chiamare la funzione vulnerabile, è il terreno su cui competono diversi vendor.
- Deve fermare i pacchetti malevoli all'ingresso? I repository firewall e i package proxy li bloccano prima del download. Gli scanner si limitano a segnalarli in seguito.
- Quale CI usa? La maggior parte degli strumenti SCA qui presenti si adatta a molti sistemi CI. Oggi CRACI supporta solo GitHub Actions, con GitLab CI e Jenkins in roadmap.
- Copre i Suoi linguaggi e sistemi di build? Verifichi ogni ecosistema che distribuisce, compresi i monorepo e le parti della Sua build che nessun lockfile descrive.
- Che cosa deve consegnare? Se i clienti o il Cyber Resilience Act dell'UE chiedono una SBOM per release, verifichi i formati, quale piano include l'esportazione e se lo strumento Le dice quando l'elenco è incompleto.
- Come preferisce pagare? Per sviluppatore, per committer, per contributor, per piano o su preventivo.
In sintesi
Dieci colonne non stanno in una sola tabella, quindi i prodotti sono divisi in due. Entrambe le tabelle usano le stesse righe. "Non dichiarato" significa che le pagine dei vendor che citiamo non lo dicono né in un senso né nell'altro. Prezzi a settembre 2026.
Suite SCA e AppSec per le aziende
| Funzionalità | CRACI | Sonatype | Black Duck | Mend.io | Checkmarx One |
|---|---|---|---|---|---|
| Registra le dipendenze durante la build | Proxy sul runner che riconosce i pacchetti | Scansiona l'output della build | Scansiona codice e binari | Scansiona dopo la build | Archivio dei sorgenti caricato |
| Policy di egress di rete per la build | Fail closed | ||||
| Provenance firmata degli artefatti | Nessuna provenance firmata | Non dichiarato | Non dichiarato | Non dichiarato | Non dichiarato |
| Esportazione SBOM | Completezza dichiarata | ||||
| Monitoraggio continuo | SBOM Manager | Non dichiarato | |||
| Prioritizzazione per raggiungibilità | |||||
| SAST per il Suo codice | Non dichiarato | Coverity | Mend SAST | ||
| Scansione o policy delle licenze | La policy sulle licenze può bloccare una build | ||||
| Blocco dei pacchetti malevoli | Blocklist di pacchetti | Repository Firewall | Li segnala | Li rileva | Può bloccare le build |
| CI oltre GitHub Actions | GitLab CI e Jenkins | ||||
| Prezzi | $0.002 per vCPU-minuto ($0.004 per 2 vCPU), misurati al secondo; nessun canone mensile | Su preventivo; Firewall Pro da $4,800 all'anno | Su preventivo | Fino a $1,000 per sviluppatore all'anno | Su preventivo |
- Incluso
- In parte
- Non incluso
- In roadmap
Strumenti developer-first e di piattaforma
| Funzionalità | CRACI | Snyk | Endor Labs | Semgrep | GitHub (GHAS) | Aikido |
|---|---|---|---|---|---|---|
| Registra le dipendenze durante la build | Proxy sul runner che riconosce i pacchetti | Manifest e lockfile | Analizza il codice sorgente | Legge le dipendenze dal codice | Manifest più dati inviati | Manifest e lockfile |
| Policy di egress di rete per la build | Fail closed | |||||
| Provenance firmata degli artefatti | Nessuna provenance firmata | Non dichiarato | endorctl | Non dichiarato | Artifact attestations | Non dichiarato |
| Esportazione SBOM | Completezza dichiarata | Solo piani Enterprise | CycloneDX | SPDX | ||
| Monitoraggio continuo | Non dichiarato | Avvisi di Dependabot | Non dichiarato | |||
| Prioritizzazione per raggiungibilità | A livello di funzione | Non dichiarato | ||||
| SAST per il Suo codice | Snyk Code | AI SAST | Semgrep Code | CodeQL | ||
| Scansione o policy delle licenze | La policy sulle licenze può bloccare una build | Non dichiarato | Non dichiarato | |||
| Blocco dei pacchetti malevoli | Blocklist di pacchetti | Non dichiarato | Package Firewall | Li rileva | Non dichiarato | Safe Chain |
| CI oltre GitHub Actions | GitLab CI e Jenkins | Non dichiarato | ||||
| Prezzi | $0.002 per vCPU-minuto ($0.004 per 2 vCPU), misurati al secondo; nessun canone mensile | Piano gratuito; Team da $25 al mese | Piano Developer gratuito; piani a pagamento tramite il reparto vendite | Gratuito fino a 10 contributor; Teams da $30 per contributor al mese | $19 e $30 per committer al mese | Piano gratuito; a pagamento da $350 al mese |
- Incluso
- In parte
- Non incluso
- In roadmap
Gli strumenti, uno per uno
CRACI
CRACI è un registratore, non uno scanner. I Suoi job GitHub Actions vengono eseguiti sui runner CRACI, e un proxy che riconosce i pacchetti registra ciò che ogni job scarica, con le evidenze sulle dipendenze che viaggiano attraverso le cache CI. Da quella registrazione produce una SBOM CycloneDX o SPDX che dichiara la propria completezza, continua a rivalutare le SBOM monitorate, instrada ogni risultato verso il team responsabile della correzione e può bloccare una build in base a una licenza. Ideale per i team che devono dimostrare che cosa è entrato in ogni release. Attenzione: niente SAST, secret, scansione IaC né raggiungibilità, e oggi solo job Linux su GitHub Actions (altri sistemi CI, Windows e macOS sono in roadmap). Generazione di SBOM in fase di build
Snyk
Snyk è una piattaforma developer-first: SCA più Snyk Code (SAST), Snyk Container e Snyk IaC, in esecuzione nell'IDE, nella
CLI, nelle integrazioni SCM e in CI. Dà priorità ai risultati sulle dipendenze con raggiungibilità, maturità degli exploit, EPSS e CVSS,
e apre pull request di aggiornamento. Ideale per i team che vogliono che gli sviluppatori correggano i problemi fin dall'editor. Attenzione:
il suo albero delle dipendenze proviene da manifest e lockfile, e il comando snyk sbom è disponibile
solo nei piani Enterprise.
CRACI vs Snyk
Sonatype
Sonatype è costruito attorno alla governance dell'open source. Lifecycle applica policy di sicurezza e di licenza (le sue policy sulle licenze coprono più di 2.000 licenze), usa Advanced Binary Fingerprinting su ciò che la build ha prodotto e apre Golden Pull Requests. Repository Firewall mette in quarantena i componenti prima che entrino nei Suoi repository, e SBOM Manager monitora le SBOM importate. Ideale per le grandi organizzazioni che vogliono un gate a livello di repository. Attenzione: l'offerta sta cambiando, e i nuovi clienti ora acquistano Sonatype Guide. CRACI vs Sonatype
Black Duck
Black Duck trova l'open source ovunque si nasconda: scansioni del package manager, scansione per firme e snippet e analisi binaria di eseguibili e firmware senza codice sorgente. La sua KnowledgeBase traccia più di 2.750 licenze, e Coverity aggiunge il SAST per 22 linguaggi. Ideale per codice con una lunga storia di open source copiato o incluso nel repository, e per controllare i binari di terze parti. Attenzione: il prezzo è su preventivo, e i suoi Fix PR coprono le dipendenze dirette. CRACI vs Black Duck
Mend.io
Mend AppSec abbina Mend SCA, che segue il grafo delle chiamate attraverso le dipendenze transitive, a Mend SAST per più di 30 linguaggi. Mend Renovate mantiene aggiornate le dipendenze su 90 o più package manager, e la Renovate CLI è gratuita. Ideale per i team con un grande backlog che vogliono prioritizzazione e aggiornamenti automatizzati insieme. Attenzione: la documentazione di Mend raccomanda di scansionare dopo lo step di build, quindi l'accuratezza dipende dal punto della pipeline in cui viene eseguita la scansione. CRACI vs Mend.io
Checkmarx One
Checkmarx One è un'ampia piattaforma AppSec: SAST, SCA, secret, IaC, sicurezza delle API, DAST, container e protezione dai pacchetti malevoli, con un livello ASPM al di sopra. La sua SCA usa l'analisi dei percorsi sfruttabili, e le policy possono interrompere le build. Ideale per le organizzazioni che vogliono un solo vendor per i test di sicurezza applicativa. Attenzione: la GitHub Action carica un archivio zip dei Suoi sorgenti per la scansione (in alternativa SCA Resolver può analizzare on premises), e il prezzo è su preventivo. CRACI vs Checkmarx One e Alternative a Checkmarx
Endor Labs
Endor Labs è costruito attorno alla raggiungibilità a livello di funzione, seguendo i percorsi di codice dai Suoi sorgenti alla funzione vulnerabile nelle dipendenze dirette e transitive. Aggiunge l'analisi dell'impatto degli aggiornamenti, Endor Patches che esegue il backport delle correzioni, AI SAST, scansione di secret e container, un Package Firewall e la firma degli artefatti. Ideale per i team sommersi dagli avvisi sulle dipendenze. Attenzione: quando una build completa non è possibile, ripiega su una raggiungibilità meno precisa a livello di dipendenza. CRACI vs Endor Labs
Semgrep Supply Chain
Semgrep Supply Chain è il prodotto SCA della piattaforma AppSec di Semgrep, accanto a Semgrep Code (SAST) e Semgrep Secrets. Classifica i risultati come raggiungibili, condizionalmente raggiungibili o non raggiungibili, e Semgrep afferma che questo riduce i falsi positivi fino al 98%. Dove i lockfile sono incompleti, Dynamic Dependency Resolution combina il parsing dei manifest con il package manager per completare l'elenco. Controlla anche le licenze rispetto alla Sua policy, rileva le dipendenze malevole, apre pull request di aggiornamento ed esporta SBOM CycloneDX. Ideale per i team che già scrivono regole Semgrep, o per i piccoli team: il piano gratuito copre fino a 10 contributor. Attenzione: i prodotti a pagamento hanno prezzi separati, da $30 per contributor al mese per Supply Chain nel piano Teams.
GitHub Advanced Security
GitHub ora vende Secret Protection e Code Security (CodeQL, Copilot Autofix, dependency review) in aggiunta al dependency graph e a Dependabot, inclusi in tutti i piani GitHub. Le artifact attestations aggiungono provenance firmata a SLSA v1.0 Build Level 2. Ideale per i team già su GitHub che vogliono la sicurezza dentro le pull request. Attenzione: il dependency graph descrive i manifest e i lockfile del repository, e per i prodotti a pagamento i repository privati richiedono un piano Team o Enterprise. CRACI vs GitHub Advanced Security
Aikido
Aikido riunisce SCA, SAST, secret, IaC, cloud posture, container, DAST e scansione delle licenze in un'unica dashboard. La sua SCA usa la raggiungibilità a livello di funzione, AutoFix apre pull request e lo strumento gratuito Safe Chain blocca il malware noto nelle installazioni npm e PyPI. Ideale per i team più piccoli che vogliono un'ampia copertura in tempi rapidi, o report SOC 2 e ISO 27001 a partire dai risultati AppSec. Attenzione: quei report di conformità partono dal piano Advanced, e le dipendenze provengono da manifest e lockfile. CRACI vs Aikido
Strumenti SCA gratuiti e open source
Se il vincolo è il budget, quattro strumenti open source coprono il nucleo della SCA. Sono tutti gratuiti con licenza Apache-2.0. Li esegue Lei stesso, quindi monitoraggio, triage e reporting deve realizzarli Lei.
| Funzionalità | Che cosa scansiona | Dati sulle vulnerabilità | Da sapere |
|---|---|---|---|
| Trivy | Immagini, filesystem, repository, immagini VM, Kubernetes | Advisory dei vendor, GitHub Advisory Database, NVD | Trova anche configurazioni IaC errate, secret e licenze |
| Grype | Immagini, filesystem e SBOM | Un proprio database, scaricato in locale | EPSS, KEV e punteggio di rischio; filtro OpenVEX; fa fallire le build con --fail-on |
| OSV-Scanner | Lockfile, immagini container, SBOM, codice C e C++ incluso nel repository | OSV.dev | Analisi delle chiamate opzionale; remediation guidata per npm e Maven |
| OWASP Dependency-Check | Dipendenze di progetto, pieno supporto per Java e .NET | NVD, con corrispondenza tramite CPE | CLI, plugin per Maven, Gradle e Ant, e integrazioni CI |
Trivy, di Aqua Security, legge i lockfile in un repository e i metadati dei pacchetti installati in un'immagine, e scrive SBOM CycloneDX o SPDX. CRACI vs Trivy. Grype, di Anchore, scansiona ciò che elenca il suo complemento Syft e viene eseguito interamente in locale, a parte il download del suo database. CRACI vs Syft e Grype. OSV-Scanner, di Google, è il client ufficiale del database OSV.dev e supporta 19 o più tipi di lockfile. OWASP Dependency-Check identifica i componenti tramite CPE e li confronta con NVD, il che si adatta meglio ai progetti Java e .NET. Per sapere come i generatori di SBOM gratuiti alla base di questi scanner leggono un repository, e perché divergono, veda che cosa non vedono i generatori di SBOM open source.
Dove si colloca CRACI
Tutti gli altri strumenti qui sopra sono scanner. Leggono un manifest, un lockfile, un archivio di sorgenti o un binario e ricavano che cosa c'è
dentro. CRACI è un registratore. I Suoi job GitHub Actions vengono eseguiti sui runner CRACI (cambi runs-on in
craci), e un proxy che riconosce i pacchetti registra ciò che ogni job scarica da npm, PyPI, RubyGems, Cargo, Go,
Nix, OCI, apt, apk e sorgenti Git, oltre ai preset di download. Le evidenze sulle dipendenze viaggiano con le cache CI.
La vista inventario di CRACI mostra esattamente quali versioni del software sono distribuite in quali prodotti, a livello globale.
Da quella registrazione CRACI produce una SBOM CycloneDX o SPDX che dichiara la propria completezza per job e per cache. Applica una policy di egress in modalità fail closed, restituisce SBOM, tracce di rete e provenance tramite la sua API, continua a rivalutare le SBOM monitorate e consente ai team di sicurezza di esaminare i risultati e assegnare ciascuno al team responsabile della correzione. Ogni componente riporta la sua licenza dichiarata, quindi le licenze copyleft e altre licenze restrittive emergono prima della distribuzione, e la policy sulle licenze può bloccare una build in base a una licenza. Automatizza una parte significativa della visibilità e delle evidenze sulla software supply chain di cui le aziende hanno bisogno per il loro più ampio processo di conformità al CRA.
CRACI non è la scelta giusta quando:
- Le serve la scansione SAST, di secret o IaC (non ne esegue nessuna),
- la raggiungibilità è la Sua priorità (CRACI non la offre), oppure Le servono blocklist di pacchetti oggi (in roadmap),
- le Sue pipeline girano su GitLab, Jenkins o CircleCI, oppure Le servono runner Windows o macOS (oggi CRACI esegue job Linux su GitHub Actions; altri sistemi CI, Windows e macOS sono in roadmap).
In questi casi scelga tra gli strumenti qui sopra. Se deve anche dimostrare che cosa è entrato in ogni release, usi CRACI come runner e mantenga la Sua SCA sulle pull request. Per approfondire il confronto tra scanner e registratore, veda CRACI vs strumenti SCA e SBOM e gli strumenti SBOM a confronto, si informi sulla generazione di SBOM in fase di build e sui prezzi, oppure prenoti una demo per vedere la registrazione di una build GitHub Actions.
CRACI a confronto con ciascuno strumento
- CRACI e Snyk a confronto Ciò che dichiarano i Suoi manifest contro ciò che ha fatto la Sua build.
- CRACI e Aikido a confronto Un'ampia suite AppSec contro evidenze deterministiche delle build.
- CRACI e Sonatype a confronto Controllo dei repository e SCA contro evidenze delle build.
- CRACI e Black Duck a confronto Scansione di codice, snippet e binari contro evidenze delle build.
- CRACI e Mend.io a confronto Scansione delle dipendenze contro osservazione delle dipendenze.
- CRACI e Checkmarx a confronto Piattaforma di test AppSec contro evidenze in fase di build.
- CRACI e Endor Labs a confronto Analisi della raggiungibilità contro osservazione della build.
- CRACI e JFrog a confronto Gestione degli artefatti contro evidenze per ogni build.
- CRACI e GitHub Advanced Security a confronto Scansione di codice, secret e dipendenze contro evidenze delle build.
- CRACI e Dependabot a confronto Aggiornamenti di versione contro sapere che cosa hanno usato le Sue build.
Fianco a fianco
Più strumenti in una sola pagina, per quando sceglie una categoria e non un singolo prodotto.
Strumenti SCA: FAQ
Risposte brevi alle domande più comuni sulla software composition analysis
Che cos'è uno strumento SCA?
Uno strumento di software composition analysis (SCA) individua i componenti open source e di terze parti nel Suo software, li confronta con database di vulnerabilità come NVD, GitHub Advisory Database o OSV e segnala vulnerabilità note e rischi di licenza. La maggior parte degli strumenti SCA dà anche priorità ai risultati, suggerisce o apre pull request di aggiornamento, esporta una SBOM e continua a monitorare le nuove vulnerabilità.
Che cos'è la scansione SCA?
Una scansione SCA legge i manifest, i lockfile, i pacchetti installati o un'immagine container di un progetto, individua quali componenti contiene e li confronta con i dati su vulnerabilità e licenze. La maggior parte degli strumenti la esegue a ogni pull request e secondo una pianificazione, così vengono rilevati anche i nuovi advisory per le versioni che Lei usa già.
Qual è la differenza tra SCA e SAST?
Il SAST analizza il codice scritto dal Suo team alla ricerca di difetti come i bug di injection. La SCA analizza i componenti da cui Lei dipende alla ricerca di vulnerabilità note e problemi di licenza. La maggior parte degli strumenti commerciali in questa pagina oggi vende entrambi, ma rispondono a domande diverse.
Qual è la differenza tra SCA e SBOM?
La SCA è il processo di individuazione e valutazione dei componenti. Una SBOM è un elenco leggibile da macchina di quei componenti, di solito in formato CycloneDX o SPDX. La maggior parte degli strumenti SCA può esportarne una, e la SBOM è completa solo quanto il metodo che l'ha prodotta: una scansione dei manifest, una scansione dei binari o una registrazione della build.
Quali sono i migliori strumenti SCA gratuiti?
Trivy, Grype, OSV-Scanner e OWASP Dependency-Check sono gratuiti e open source. Tra gli strumenti commerciali, Semgrep ha un piano gratuito fino a 10 contributor, Snyk, Endor Labs e Aikido hanno piani gratuiti, e gli avvisi di Dependabot sono inclusi in tutti i piani GitHub. Gli strumenti gratuiti di solito lasciano a Lei monitoraggio, triage e reporting.
Che cos'è l'analisi di raggiungibilità nella SCA?
L'analisi di raggiungibilità verifica se il Suo codice può effettivamente chiamare la funzione vulnerabile in una dipendenza, così i risultati non raggiungibili scendono nell'elenco. Snyk, Endor Labs, Mend, Checkmarx, Semgrep, Aikido, Sonatype e Black Duck ne offrono tutti una forma. CRACI no.
CRACI è uno strumento SCA?
Non nel senso classico. Gli strumenti SCA scansionano i file per capire che cosa c'è dentro. CRACI è un registratore: esegue i Suoi job GitHub Actions e registra i pacchetti effettivamente scaricati da ciascun job, produce una SBOM CycloneDX o SPDX che dichiara la propria completezza e continua a monitorarla per individuare nuove vulnerabilità. I team lo eseguono accanto a uno strumento SCA che copre pull request e SAST.
Veda che cosa hanno scaricato davvero le Sue build
Prenoti una demo per confrontare la SBOM registrata da CRACI durante una build GitHub Actions con quella prodotta dal Suo strumento SCA.
Prenota una demo