Mais 123% CVE comunicadas por dia em 2026 do que no ano passado.

Comparação

As 13 melhores ferramentas de análise de composição de software (SCA) em 2026

As ferramentas de análise de composição de software (SCA) encontram os componentes open source do seu código e assinalam vulnerabilidades conhecidas e riscos de licenças. Apresentamos nove ferramentas de SCA comerciais e quatro gratuitas, em que diferem e onde se enquadra junto delas o CRACI, que regista o build em vez de o analisar.

Atualizado a

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

A quem se destina

Esta página destina-se às equipas que estão a escolher uma ferramenta de SCA, ou a verificar se a que têm ainda é adequada. Somos nós que desenvolvemos o CRACI, por isso tenha isso em conta. Cada afirmação sobre outro produto vem da documentação do próprio fornecedor, e a maioria dos produtos tem uma página CRACI vs X mais longa.

Uma ressalva desde já: o CRACI não é um scanner de SCA no sentido clássico. É um registador. Executa os seus jobs de GitHub Actions e regista o que obtiveram. Foi feito para funcionar ao lado de uma ferramenta de SCA, não para a substituir.

O que fazem as ferramentas de SCA

Quase todas as ferramentas de SCA seguem os mesmos passos. A diferença está em quão bem fazem cada um. Para o essencial, consulte o que é a análise de composição de software, como funciona uma análise SCA, SAST vs SCA e análise de alcançabilidade.

  1. Identificar componentes. Ler manifestos e lockfiles, analisar o código-fonte ou obter impressões digitais de binários para listar dependências diretas e transitivas.
  2. Cruzar vulnerabilidades. Verificar cada componente e versão em bases de dados como a NVD, a GitHub Advisory Database e a OSV.
  3. Verificar licenças face à sua política.
  4. Priorizar. Ordenar as conclusões por gravidade, por dados de exploração como o EPSS e, em muitas ferramentas, por alcançabilidade.
  5. Corrigir. Sugerir atualizações ou abrir pull requests.
  6. Monitorizar e reportar. Alertar para novas vulnerabilidades e exportar uma SBOM.

O primeiro passo decide tudo o que vem depois. Um componente que a ferramenta nunca identificou não pode ser cruzado, priorizado nem listado na SBOM, e é por isso que a primeira linha das tabelas abaixo pergunta de onde vem a lista de componentes de cada ferramenta. Para o essencial, consulte o que é a análise de composição de software e em que difere da SAST.

Como escolher

Algumas perguntas separam estas ferramentas mais depressa do que as listas de funcionalidades:

  • Antes do merge ou depois do lançamento? As ferramentas de SCA brilham nos pull requests e no IDE. Se a sua pergunta difícil é o que entrou numa versão distribuída, precisa de um registo do build.
  • Apenas dependências, ou também o seu próprio código? A maioria destes produtos inclui hoje SAST. Alguns acrescentam segredos, IaC, contentores ou cloud.
  • Quanto ruído de alertas consegue absorver? A análise de alcançabilidade, que verifica se o seu código pode chamar a função vulnerável, é onde vários fornecedores competem.
  • Precisa de travar pacotes maliciosos à porta? As firewalls de repositório e os proxies de pacotes bloqueiam-nos antes da transferência. Os scanners só os reportam depois.
  • Que CI utiliza? A maioria das ferramentas de SCA aqui presentes adapta-se a muitos sistemas de CI. O CRACI suporta hoje apenas GitHub Actions, com GitLab CI e Jenkins no roadmap.
  • Cobre as suas linguagens e sistemas de build? Verifique cada ecossistema que distribui, incluindo monorepos e as partes do seu build que nenhum lockfile descreve.
  • O que tem de entregar? Se os clientes ou o Cyber Resilience Act da UE pedirem uma SBOM por versão, verifique os formatos, que plano inclui a exportação e se a ferramenta lhe diz quando a lista está incompleta.
  • Como quer pagar? Por programador, por committer, por contribuidor, por plano ou sob orçamento.

Visão geral

Dez colunas não cabem numa tabela, por isso os produtos estão divididos em duas. Ambas as tabelas usam as mesmas linhas. "Não indicado" significa que as páginas de fornecedores que citamos não dizem nem que sim nem que não. Preços em setembro de 2026.

Suites empresariais de SCA e AppSec

Funcionalidade CRACI Sonatype Black Duck Mend.io Checkmarx One
Regista dependências durante o build Proxy que reconhece pacotes no runner Analisa o resultado do build Analisa código e binários Analisa após o build Arquivo de código-fonte carregado
Política de egress de rede do build Falha em modo fechado
Proveniência assinada de artefactos Sem proveniência assinada Não indicado Não indicado Não indicado Não indicado
Exportação de SBOM Completude indicada
Monitorização contínua SBOM Manager Não indicado
Priorização por alcançabilidade
SAST para o seu próprio código Não indicado Coverity Mend SAST
Análise ou política de licenças A política de licenças pode bloquear um build
Bloqueio de pacotes maliciosos Listas de bloqueio de pacotes Repository Firewall Assinala-os Deteta-os Pode bloquear builds
CI para além do GitHub Actions GitLab CI e Jenkins
Preço $0.002 por vCPU-minuto ($0.004 com 2 vCPU), medido ao segundo; sem mensalidade Sob orçamento; Firewall Pro a partir de $4,800 por ano Sob orçamento Até $1,000 por programador por ano Sob orçamento
  • Incluído
  • Em parte
  • Não incluído
  • No roadmap

Ferramentas de plataforma e orientadas para programadores

Funcionalidade CRACI Snyk Endor Labs Semgrep GitHub (GHAS) Aikido
Regista dependências durante o build Proxy que reconhece pacotes no runner Manifestos e lockfiles Analisa o código-fonte Lê as dependências a partir do código Manifestos e dados submetidos Manifestos e lockfiles
Política de egress de rede do build Falha em modo fechado
Proveniência assinada de artefactos Sem proveniência assinada Não indicado endorctl Não indicado Artifact attestations Não indicado
Exportação de SBOM Completude indicada Apenas em planos Enterprise CycloneDX SPDX
Monitorização contínua Não indicado Alertas do Dependabot Não indicado
Priorização por alcançabilidade Ao nível da função Não indicado
SAST para o seu próprio código Snyk Code AI SAST Semgrep Code CodeQL
Análise ou política de licenças A política de licenças pode bloquear um build Não indicado Não indicado
Bloqueio de pacotes maliciosos Listas de bloqueio de pacotes Não indicado Package Firewall Deteta-os Não indicado Safe Chain
CI para além do GitHub Actions GitLab CI e Jenkins Não indicado
Preço $0.002 por vCPU-minuto ($0.004 com 2 vCPU), medido ao segundo; sem mensalidade Plano gratuito; Team a partir de $25 por mês Plano Developer gratuito; planos pagos através da equipa comercial Gratuito até 10 contribuidores; Teams a partir de $30 por contribuidor por mês $19 e $30 por committer por mês Plano gratuito; pago a partir de $350 por mês
  • Incluído
  • Em parte
  • Não incluído
  • No roadmap

As ferramentas, uma a uma

CRACI

A página inicial de CRACI
craci.com

O CRACI é um registador, não um scanner. Os seus jobs de GitHub Actions são executados em runners do CRACI, e um proxy que reconhece pacotes regista o que cada job obtém, com as evidências das dependências a acompanhar as caches de CI. A partir desse registo, produz uma SBOM CycloneDX ou SPDX que indica a sua própria completude, continua a reavaliar as SBOM monitorizadas, encaminha cada conclusão para a equipa responsável pela correção e pode bloquear um build com base numa licença. Ideal para equipas que têm de provar o que entrou em cada versão. A ter em conta: sem SAST, segredos, análise de IaC ou alcançabilidade, e hoje apenas jobs Linux em GitHub Actions (outros sistemas de CI, Windows e macOS estão no roadmap). Geração de SBOM durante o build

Snyk

A página inicial de Snyk
snyk.io

O Snyk é uma plataforma orientada para programadores: SCA mais Snyk Code (SAST), Snyk Container e Snyk IaC, a funcionar no IDE, na CLI, em integrações de SCM e na CI. Prioriza as conclusões de dependências com alcançabilidade, maturidade de exploits, EPSS e CVSS, e abre pull requests de atualização. Ideal para equipas que querem que os programadores corrijam problemas logo a partir do editor. A ter em conta: a sua árvore de dependências vem de manifestos e lockfiles, e o comando snyk sbom só está disponível nos planos Enterprise. CRACI vs Snyk

Sonatype

A página inicial de Sonatype
sonatype.com

O Sonatype foi construído em torno da governação de open source. O Lifecycle aplica políticas de segurança e de licenças (as suas políticas de licenças abrangem mais de 2.000 licenças), usa Advanced Binary Fingerprinting sobre o que o build produziu e abre Golden Pull Requests. O Repository Firewall coloca os componentes em quarentena antes de entrarem nos seus repositórios, e o SBOM Manager monitoriza as SBOM importadas. Ideal para grandes organizações que querem um controlo ao nível do repositório. A ter em conta: a oferta está a mudar, e os novos clientes compram agora o Sonatype Guide. CRACI vs Sonatype

Black Duck

A página inicial de Black Duck
blackduck.com

O Black Duck encontra open source onde quer que se esconda: análises de gestores de pacotes, análise de assinaturas e de excertos, e análise de binários de executáveis e firmware sem código-fonte. A sua KnowledgeBase acompanha mais de 2.750 licenças, e o Coverity acrescenta SAST em 22 linguagens. Ideal para código com um longo historial de open source copiado ou incorporado, e para verificar binários de terceiros. A ter em conta: o preço é sob orçamento, e os seus Fix PRs cobrem dependências diretas. CRACI vs Black Duck

Mend.io

A página inicial de Mend.io
mend.io

O Mend AppSec junta o Mend SCA, que segue o grafo de chamadas através das dependências transitivas, ao Mend SAST para mais de 30 linguagens. O Mend Renovate mantém as dependências atualizadas em 90 ou mais gestores de pacotes, e a Renovate CLI é gratuita. Ideal para equipas com um grande backlog que querem priorização e atualizações automatizadas em conjunto. A ter em conta: a própria documentação do Mend recomenda analisar depois do passo de build, pelo que a exatidão depende do ponto do pipeline em que a executa. CRACI vs Mend.io

Checkmarx One

A página inicial de Checkmarx
checkmarx.com

O Checkmarx One é uma plataforma alargada de AppSec: SAST, SCA, segredos, IaC, segurança de API, DAST, contentores e proteção contra pacotes maliciosos, com uma camada de ASPM por cima. A sua SCA usa análise de caminhos exploráveis, e as políticas podem fazer falhar builds. Ideal para organizações que querem um único fornecedor para os testes de segurança de aplicações. A ter em conta: a GitHub Action carrega um arquivo zip do seu código-fonte para análise (o SCA Resolver pode, em alternativa, analisar on-premises), e o preço é sob orçamento. CRACI vs Checkmarx One e alternativas ao Checkmarx

Endor Labs

A página inicial de Endor Labs
endorlabs.com

O Endor Labs foi construído em torno da alcançabilidade ao nível da função, seguindo os caminhos de código desde o seu código-fonte até à função vulnerável em dependências diretas e transitivas. Acrescenta análise do impacto de atualizações, Endor Patches que aplicam correções a versões anteriores, AI SAST, análise de segredos e de contentores, um Package Firewall e assinatura de artefactos. Ideal para equipas afogadas em alertas de dependências. A ter em conta: quando não é possível um build completo, recorre a uma alcançabilidade menos precisa, ao nível da dependência. CRACI vs Endor Labs

Semgrep Supply Chain

A página inicial de Semgrep
semgrep.dev

O Semgrep Supply Chain é o produto de SCA da plataforma AppSec do Semgrep, ao lado do Semgrep Code (SAST) e do Semgrep Secrets. Classifica as conclusões como alcançáveis, condicionalmente alcançáveis ou inalcançáveis, e o Semgrep afirma que isto reduz os falsos positivos até 98%. Quando os lockfiles estão incompletos, a Dynamic Dependency Resolution combina a análise dos manifestos com o gestor de pacotes para preencher a lista. Verifica também as licenças face à sua política, deteta dependências maliciosas, abre pull requests de atualização e exporta SBOM CycloneDX. Ideal para equipas que já escrevem regras Semgrep, ou para equipas pequenas: o plano gratuito cobre até 10 contribuidores. A ter em conta: os produtos pagos têm preços separados, a partir de $30 por contribuidor por mês para o Supply Chain no plano Teams.

GitHub Advanced Security

A página inicial de GitHub Advanced Security
github.com

O GitHub vende agora o Secret Protection e o Code Security (CodeQL, Copilot Autofix, dependency review) além do grafo de dependências e do Dependabot, que todos os planos do GitHub incluem. As artifact attestations acrescentam proveniência assinada no SLSA v1.0 Build Level 2. Ideal para equipas que já estão no GitHub e querem segurança dentro dos pull requests. A ter em conta: o grafo de dependências descreve os manifestos e os lockfiles do repositório, e os repositórios privados precisam de um plano Team ou Enterprise para os produtos pagos. CRACI vs GitHub Advanced Security

Aikido

A página inicial de Aikido
aikido.dev

O Aikido coloca SCA, SAST, segredos, IaC, postura de cloud, contentores, DAST e análise de licenças num único dashboard. A sua SCA usa alcançabilidade ao nível da função, o AutoFix abre pull requests, e a ferramenta gratuita Safe Chain bloqueia malware conhecido em instalações de npm e PyPI. Ideal para equipas mais pequenas que querem uma cobertura ampla rapidamente, ou relatórios SOC 2 e ISO 27001 a partir de conclusões de AppSec. A ter em conta: esses relatórios de conformidade começam no plano Advanced, e as dependências vêm de manifestos e lockfiles. CRACI vs Aikido

Ferramentas de SCA gratuitas e open source

Se o orçamento for a restrição, quatro ferramentas open source cobrem o essencial da SCA. Todas são gratuitas sob Apache-2.0. É a sua equipa que as executa, pelo que a monitorização, a triagem e os relatórios ficam por sua conta.

Funcionalidade O que analisa Dados de vulnerabilidades A saber
Trivy Imagens, sistemas de ficheiros, repositórios, imagens de VM, Kubernetes Avisos de segurança dos fornecedores, GitHub Advisory Database, NVD Encontra também configurações incorretas de IaC, segredos e licenças
Grype Imagens, sistemas de ficheiros e SBOM A sua própria base de dados, descarregada localmente EPSS, KEV e pontuação de risco; filtragem OpenVEX; faz falhar builds com --fail-on
OSV-Scanner Lockfiles, imagens de contentor, SBOM, código C e C++ incorporado OSV.dev Análise de chamadas opcional; remediação guiada para npm e Maven
OWASP Dependency-Check Dependências do projeto, com suporte total para Java e .NET NVD, com correspondência por CPE CLI, plugins para Maven, Gradle e Ant, e integrações de CI

O Trivy, da Aqua Security, lê lockfiles num repositório e metadados de pacotes instalados numa imagem, e escreve SBOM CycloneDX ou SPDX. CRACI vs Trivy. O Grype, da Anchore, analisa o que o seu complemento Syft lista e funciona inteiramente localmente, exceto para descarregar a sua base de dados. CRACI vs Syft e Grype. O OSV-Scanner, da Google, é o cliente oficial da base de dados OSV.dev e suporta 19 ou mais tipos de lockfile. O OWASP Dependency-Check identifica componentes por CPE e cruza-os com a NVD, o que se adequa melhor a projetos Java e .NET. Para saber como os geradores de SBOM gratuitos por detrás destes scanners leem um repositório, e porque discordam, consulte o que escapa aos geradores de SBOM open source.

Como o CRACI se enquadra

Todas as outras ferramentas acima são scanners. Leem um manifesto, um lockfile, um arquivo de código-fonte ou um binário e determinam o que está lá dentro. O CRACI é um registador. Os seus jobs de GitHub Actions são executados em runners do CRACI (mude runs-on para craci), e um proxy que reconhece pacotes regista o que cada job obtém de fontes npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk e Git, além de predefinições de descarga. As evidências das dependências acompanham as caches de CI. A vista de inventário do CRACI mostra exatamente que versões de software estão implementadas em que produtos, a nível global.

A partir desse registo, o CRACI produz uma SBOM CycloneDX ou SPDX que indica a sua própria completude por job e por cache. Aplica uma política de egress que falha em modo fechado, devolve SBOM, traços de rede e proveniência através da sua API, continua a reavaliar as SBOM monitorizadas e permite às equipas de segurança fazer a triagem das conclusões e encaminhar cada uma para a equipa responsável pela correção. Cada componente indica a sua licença declarada, pelo que as licenças copyleft e outras licenças restritivas surgem antes de distribuir, e a política de licenças pode bloquear um build com base numa licença. Automatiza uma parte significativa da visibilidade da cadeia de abastecimento de software e das evidências de que as empresas precisam para o seu processo mais amplo de conformidade com o CRA.

O CRACI não é a escolha certa quando:

  • precisa de SAST, análise de segredos ou de IaC (não faz nenhuma delas),
  • a alcançabilidade é a sua prioridade (o CRACI não a oferece), ou precisa hoje de listas de bloqueio de pacotes (no roadmap),
  • os seus pipelines funcionam em GitLab, Jenkins ou CircleCI, ou precisam de runners Windows ou macOS (o CRACI executa hoje jobs Linux em GitHub Actions; outros sistemas de CI, Windows e macOS estão no roadmap).

Nesses casos, escolha entre as ferramentas acima. Se também precisar de provar o que entrou em cada versão, execute o CRACI como runner e mantenha a sua SCA nos pull requests. Para aprofundar a discussão entre scanner e registador, consulte CRACI vs ferramentas de SCA e SBOM e ferramentas de SBOM comparadas, leia sobre a geração de SBOM durante o build e os preços, ou marque uma demo para ver o registo de um build de GitHub Actions.

O CRACI comparado com cada ferramenta

Lado a lado

Várias ferramentas numa só página, para quando está a escolher uma categoria e não um produto.

Ferramentas de SCA: perguntas frequentes

Respostas curtas a perguntas comuns sobre a análise de composição de software

O que é uma ferramenta de SCA?

Uma ferramenta de análise de composição de software (SCA) encontra os componentes open source e de terceiros do seu software, verifica-os face a bases de dados de vulnerabilidades como a NVD, a GitHub Advisory Database ou a OSV, e assinala vulnerabilidades conhecidas e riscos de licenças. A maioria das ferramentas de SCA também prioriza as conclusões, sugere ou abre pull requests de atualização, exporta uma SBOM e continua a monitorizar novas vulnerabilidades.

O que é uma análise SCA?

Uma análise SCA lê os manifestos, os lockfiles, os pacotes instalados ou uma imagem de contentor de um projeto, determina que componentes contém e cruza-os com dados de vulnerabilidades e de licenças. A maioria das ferramentas executa-a em cada pull request e de forma agendada, para apanhar também novos avisos de segurança para versões que já usa.

Qual é a diferença entre SCA e SAST?

A SAST analisa o código que a sua equipa escreve em busca de falhas, como erros de injeção. A SCA analisa os componentes de que depende em busca de vulnerabilidades conhecidas e problemas de licenças. A maioria das ferramentas comerciais desta página vende hoje ambas, mas respondem a perguntas diferentes.

Qual é a diferença entre SCA e uma SBOM?

A SCA é o processo de encontrar e avaliar componentes. Uma SBOM é uma lista legível por máquina desses componentes, normalmente em formato CycloneDX ou SPDX. A maioria das ferramentas de SCA consegue exportar uma, e a SBOM só é tão completa quanto o método que a produziu: uma análise de manifestos, uma análise de binários ou um registo do build.

Quais são as melhores ferramentas de SCA gratuitas?

O Trivy, o Grype, o OSV-Scanner e o OWASP Dependency-Check são gratuitos e open source. Entre as ferramentas comerciais, o Semgrep tem um plano gratuito até 10 contribuidores, o Snyk, o Endor Labs e o Aikido têm planos gratuitos, e os alertas do Dependabot vêm com todos os planos do GitHub. As ferramentas gratuitas deixam normalmente a monitorização, a triagem e os relatórios a seu cargo.

O que é a análise de alcançabilidade em SCA?

A análise de alcançabilidade verifica se o seu código pode realmente chamar a função vulnerável de uma dependência, para que as conclusões inalcançáveis desçam na lista. O Snyk, o Endor Labs, o Mend, o Checkmarx, o Semgrep, o Aikido, o Sonatype e o Black Duck oferecem todos uma forma de a fazer. O CRACI não.

O CRACI é uma ferramenta de SCA?

Não no sentido clássico. As ferramentas de SCA analisam ficheiros para determinar o que está lá dentro. O CRACI é um registador: executa os seus jobs de GitHub Actions e regista os pacotes que cada job realmente obteve, produz uma SBOM CycloneDX ou SPDX que indica a sua própria completude e continua a monitorizá-la face a novas vulnerabilidades. As equipas executam-no ao lado de uma ferramenta de SCA que cobre os pull requests e a SAST.

Veja o que os seus builds realmente obtiveram

Marque uma demo para comparar a SBOM que o CRACI regista durante um build de GitHub Actions com a que a sua ferramenta de SCA produz.

Marcar demo