123% más CVE notificadas al día en 2026 que el año pasado.

Comparativa

Las 13 mejores herramientas de análisis de composición de software (SCA) en 2026

Las herramientas de análisis de composición de software (SCA) encuentran los componentes de código abierto de su código y señalan las vulnerabilidades conocidas y los riesgos de licencia. Aquí tiene nueve herramientas comerciales de SCA y cuatro gratuitas, en qué se diferencian y dónde encaja junto a ellas CRACI, que registra el build en lugar de escanearlo.

Actualizado el

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

Para quién es esta página

Esta página es para equipos que están eligiendo una herramienta de SCA o comprobando si la que tienen sigue siendo adecuada. Nosotros desarrollamos CRACI, así que téngalo en cuenta. Toda afirmación sobre otro producto procede de la propia documentación de ese proveedor, y la mayoría de los productos tienen una página más extensa de CRACI frente a X.

Una cosa por adelantado: CRACI no es un escáner de SCA en el sentido clásico. Es un registrador. Ejecuta sus jobs de GitHub Actions y registra lo que descargaron. Está pensado para estar junto a una herramienta de SCA, no para sustituirla.

Qué hacen las herramientas de SCA

Casi todas las herramientas de SCA siguen los mismos pasos. Se diferencian en lo bien que hacen cada uno. Para lo básico, consulte qué es el análisis de composición de software, cómo funciona un escaneo SCA, SAST frente a SCA y el análisis de alcanzabilidad.

  1. Identificar los componentes. Leen manifiestos y lockfiles, analizan el código fuente o toman huellas de binarios para enumerar las dependencias directas y transitivas.
  2. Cotejar las vulnerabilidades. Comprueban cada componente y versión en bases de datos como la NVD, GitHub Advisory Database y OSV.
  3. Comprobar las licencias con su política.
  4. Priorizar. Ordenan los hallazgos por gravedad, por datos de explotación como EPSS y, en muchas herramientas, por alcanzabilidad.
  5. Corregir. Sugieren actualizaciones o abren pull requests.
  6. Monitorizar e informar. Alertan de nuevas vulnerabilidades y exportan una SBOM.

El primer paso lo decide todo. Un componente que la herramienta nunca identificó no se puede cotejar, priorizar ni incluir en la SBOM, y por eso la primera fila de las tablas siguientes pregunta de dónde sale la lista de componentes de cada herramienta. Para lo básico, consulte qué es el análisis de composición de software y en qué se diferencia del SAST.

Cómo elegir

Unas pocas preguntas separan estas herramientas más rápido que las listas de funcionalidades:

  • ¿Antes de la fusión o después del lanzamiento? Las herramientas de SCA destacan en las pull requests y en el IDE. Si su pregunta difícil es qué entró en una versión distribuida, necesita un registro del build.
  • ¿Solo dependencias, o también su propio código? La mayoría de estos productos incluyen ya SAST. Algunos añaden secretos, IaC, contenedores o nube.
  • ¿Cuánto ruido de alertas puede absorber? El análisis de alcanzabilidad, que comprueba si su código puede invocar la función vulnerable, es donde compiten varios proveedores.
  • ¿Necesita detener los paquetes malos en la puerta? Los firewalls de repositorios y los proxies de paquetes los bloquean antes de la descarga. Los escáneres solo los indican después.
  • ¿Qué CI utiliza? La mayoría de las herramientas de SCA de esta página encajan en muchos sistemas de CI. CRACI es compatible hoy solo con GitHub Actions, con GitLab CI y Jenkins en la hoja de ruta.
  • ¿Cubre sus lenguajes y sistemas de build? Compruebe cada ecosistema que distribuye, incluidos los monorepos y las partes de su build que ningún lockfile describe.
  • ¿Qué tiene que entregar? Si los clientes o el Cyber Resilience Act de la UE piden una SBOM por versión, compruebe los formatos, qué plan incluye la exportación y si la herramienta le avisa cuando la lista está incompleta.
  • ¿Cómo quiere pagar? Por desarrollador, por committer, por colaborador, por plan o mediante presupuesto.

De un vistazo

Diez columnas no caben en una tabla, así que los productos se dividen en dos. Ambas tablas usan las mismas filas. «No indicado» significa que las páginas de los proveedores que citamos no dicen ni una cosa ni otra. Precios a septiembre de 2026.

Suites empresariales de SCA y AppSec

Función CRACI Sonatype Black Duck Mend.io Checkmarx One
Registra las dependencias durante el build Proxy en el runner que entiende de paquetes Escanea la salida del build Escanea código y binarios Escanea después del build Archivo de código fuente subido
Política de egress de red en el build Si falla, bloquea
Procedencia firmada de artefactos Sin procedencia firmada No indicado No indicado No indicado No indicado
Exportación de SBOM Indica su completitud
Monitorización continua SBOM Manager No indicado
Priorización por alcanzabilidad
SAST para su propio código No indicado Coverity Mend SAST
Análisis o política de licencias La política de licencias puede bloquear un build
Bloqueo de paquetes maliciosos Listas de bloqueo de paquetes Repository Firewall Los señala Los detecta Puede bloquear builds
CI más allá de GitHub Actions GitLab CI y Jenkins
Precios $0.002 por vCPU-minuto ($0.004 para 2 vCPU), medido por segundo; sin cuota mensual Bajo presupuesto; Firewall Pro desde $4,800 al año Bajo presupuesto Hasta $1,000 por desarrollador al año Bajo presupuesto
  • Incluido
  • En parte
  • No incluido
  • En la hoja de ruta

Herramientas centradas en el desarrollador y de plataforma

Función CRACI Snyk Endor Labs Semgrep GitHub (GHAS) Aikido
Registra las dependencias durante el build Proxy en el runner que entiende de paquetes Manifiestos y lockfiles Analiza el código fuente Lee las dependencias del código Manifiestos y datos enviados Manifiestos y lockfiles
Política de egress de red en el build Si falla, bloquea
Procedencia firmada de artefactos Sin procedencia firmada No indicado endorctl No indicado Artifact attestations No indicado
Exportación de SBOM Indica su completitud Solo planes Enterprise CycloneDX SPDX
Monitorización continua No indicado Alertas de Dependabot No indicado
Priorización por alcanzabilidad A nivel de función No indicado
SAST para su propio código Snyk Code AI SAST Semgrep Code CodeQL
Análisis o política de licencias La política de licencias puede bloquear un build No indicado No indicado
Bloqueo de paquetes maliciosos Listas de bloqueo de paquetes No indicado Package Firewall Los detecta No indicado Safe Chain
CI más allá de GitHub Actions GitLab CI y Jenkins No indicado
Precios $0.002 por vCPU-minuto ($0.004 para 2 vCPU), medido por segundo; sin cuota mensual Nivel gratuito; Team desde $25 al mes Nivel Developer gratuito; niveles de pago a través de ventas Gratis hasta 10 colaboradores; Teams desde $30 por colaborador al mes $19 y $30 por committer al mes Plan gratuito; de pago desde $350 al mes
  • Incluido
  • En parte
  • No incluido
  • En la hoja de ruta

Las herramientas, una por una

CRACI

La página de inicio de CRACI
craci.com

CRACI es un registrador, no un escáner. Sus jobs de GitHub Actions se ejecutan en runners de CRACI, y un proxy que entiende de paquetes registra lo que descarga cada job, y la evidencia de dependencias viaja con las cachés de CI. A partir de ese registro produce una SBOM en CycloneDX o SPDX que indica su propia completitud, sigue reevaluando las SBOM monitorizadas, envía cada hallazgo al equipo responsable de la corrección y puede bloquear un build por una licencia. Ideal para equipos que deben demostrar qué entró en cada versión. Tenga en cuenta que no ofrece SAST, escaneo de secretos ni de IaC, ni alcanzabilidad, y que hoy solo admite jobs de Linux en GitHub Actions (otros sistemas de CI, Windows y macOS están en la hoja de ruta). Generación de SBOM durante el build

Snyk

La página de inicio de Snyk
snyk.io

Snyk es una plataforma centrada en el desarrollador: SCA más Snyk Code (SAST), Snyk Container y Snyk IaC, que funciona en el IDE, la CLI, las integraciones con SCM y el CI. Prioriza los hallazgos de dependencias con alcanzabilidad, madurez de los exploits, EPSS y CVSS, y abre pull requests de actualización. Ideal para equipos que quieren que los desarrolladores corrijan los problemas desde el editor en adelante. Tenga en cuenta que su árbol de dependencias procede de manifiestos y lockfiles, y que el comando snyk sbom solo está disponible en los planes Enterprise. CRACI frente a Snyk

Sonatype

La página de inicio de Sonatype
sonatype.com

Sonatype se centra en la gobernanza del código abierto. Lifecycle aplica políticas de seguridad y de licencias (sus políticas de licencias abarcan más de 2.000 licencias), usa Advanced Binary Fingerprinting sobre lo que generó el build y abre Golden Pull Requests. Repository Firewall pone en cuarentena los componentes antes de que entren en sus repositorios, y SBOM Manager monitoriza las SBOM importadas. Ideal para grandes organizaciones que quieren un control en el repositorio. Tenga en cuenta que su oferta está cambiando, y que los nuevos clientes compran ahora Sonatype Guide. CRACI frente a Sonatype

Black Duck

La página de inicio de Black Duck
blackduck.com

Black Duck encuentra el código abierto dondequiera que se esconda: escaneos de gestores de paquetes, escaneo de firmas y de fragmentos, y análisis binario de ejecutables y firmware sin código fuente. Su KnowledgeBase sigue más de 2.750 licencias, y Coverity añade SAST para 22 lenguajes. Ideal para código con una larga historia de código abierto copiado o incluido en el proyecto, y para comprobar binarios de terceros. Tenga en cuenta que el precio es mediante presupuesto y que sus Fix PRs cubren las dependencias directas. CRACI frente a Black Duck

Mend.io

La página de inicio de Mend.io
mend.io

Mend AppSec combina Mend SCA, que sigue el grafo de llamadas a través de las dependencias transitivas, con Mend SAST para más de 30 lenguajes. Mend Renovate mantiene al día las dependencias en 90 o más gestores de paquetes, y la CLI de Renovate es gratuita. Ideal para equipos con un gran backlog que quieren priorización y actualizaciones automatizadas a la vez. Tenga en cuenta que la propia documentación de Mend recomienda escanear después del paso de build, de modo que la precisión depende de en qué punto del pipeline se ejecute. CRACI frente a Mend.io

Checkmarx One

La página de inicio de Checkmarx
checkmarx.com

Checkmarx One es una amplia plataforma de AppSec: SAST, SCA, secretos, IaC, seguridad de API, DAST, contenedores y protección contra paquetes maliciosos, con una capa de ASPM por encima. Su SCA utiliza análisis de rutas explotables, y las políticas pueden hacer fallar los builds. Ideal para organizaciones que quieren un solo proveedor para las pruebas de seguridad de aplicaciones. Tenga en cuenta que la GitHub Action sube un archivo zip de su código fuente para escanearlo (SCA Resolver puede hacer el análisis on-premises en su lugar), y que el precio es mediante presupuesto. CRACI frente a Checkmarx One y Alternativas a Checkmarx

Endor Labs

La página de inicio de Endor Labs
endorlabs.com

Endor Labs se centra en la alcanzabilidad a nivel de función, y sigue las rutas de código desde su código fuente hasta la función vulnerable en las dependencias directas y transitivas. Añade análisis del impacto de las actualizaciones, Endor Patches que retroportan correcciones, AI SAST, escaneo de secretos y contenedores, un Package Firewall y firma de artefactos. Ideal para equipos desbordados por las alertas de dependencias. Tenga en cuenta que, cuando no es posible un build completo, recurre a una alcanzabilidad menos precisa, a nivel de dependencia. CRACI frente a Endor Labs

Semgrep Supply Chain

La página de inicio de Semgrep
semgrep.dev

Semgrep Supply Chain es el producto de SCA de la plataforma de AppSec de Semgrep, junto a Semgrep Code (SAST) y Semgrep Secrets. Clasifica los hallazgos como alcanzables, condicionalmente alcanzables o inalcanzables, y Semgrep afirma que esto reduce los falsos positivos hasta un 98 %. Donde los lockfiles están incompletos, Dynamic Dependency Resolution combina el análisis de manifiestos con el gestor de paquetes para completar la lista. También comprueba las licencias con su política, detecta dependencias maliciosas, abre pull requests de actualización y exporta SBOM en CycloneDX. Ideal para equipos que ya escriben reglas de Semgrep, o para equipos pequeños: el plan gratuito cubre hasta 10 colaboradores. Tenga en cuenta que los productos de pago se facturan por separado, desde $30 por colaborador al mes para Supply Chain en el plan Teams.

GitHub Advanced Security

La página de inicio de GitHub Advanced Security
github.com

GitHub vende ahora Secret Protection y Code Security (CodeQL, Copilot Autofix, revisión de dependencias) además del grafo de dependencias y Dependabot, que incluyen todos los planes de GitHub. Artifact attestations añade procedencia firmada de nivel SLSA v1.0 Build Level 2. Ideal para equipos que ya están en GitHub y quieren la seguridad dentro de las pull requests. Tenga en cuenta que el grafo de dependencias describe los manifiestos y lockfiles del repositorio, y que los repositorios privados necesitan un plan Team o Enterprise para los productos de pago. CRACI frente a GitHub Advanced Security

Aikido

La página de inicio de Aikido
aikido.dev

Aikido reúne SCA, SAST, secretos, IaC, postura de nube, contenedores, DAST y análisis de licencias en un solo panel. Su SCA utiliza alcanzabilidad a nivel de función, AutoFix abre pull requests y la herramienta gratuita Safe Chain bloquea el malware conocido en las instalaciones de npm y PyPI. Ideal para equipos más pequeños que quieren una cobertura amplia rápidamente, o informes SOC 2 e ISO 27001 a partir de los hallazgos de AppSec. Tenga en cuenta que esos informes de cumplimiento empiezan en el plan Advanced, y que las dependencias proceden de manifiestos y lockfiles. CRACI frente a Aikido

Herramientas de SCA gratuitas y de código abierto

Si el presupuesto es la limitación, cuatro herramientas de código abierto cubren lo esencial del SCA. Todas son gratuitas con licencia Apache-2.0. Las ejecuta usted, así que la monitorización, el triaje y los informes corren por su cuenta.

Función Qué escanea Datos de vulnerabilidades Conviene saber
Trivy Imágenes, sistemas de archivos, repositorios, imágenes de máquina virtual, Kubernetes Avisos de proveedores, GitHub Advisory Database, NVD También encuentra errores de configuración de IaC, secretos y licencias
Grype Imágenes, sistemas de archivos y SBOM Su propia base de datos, descargada en local EPSS, KEV y puntuación de riesgo; filtrado OpenVEX; hace fallar los builds con --fail-on
OSV-Scanner Lockfiles, imágenes de contenedor, SBOM, código C y C++ incluido en el proyecto OSV.dev Análisis de llamadas opcional; corrección guiada para npm y Maven
OWASP Dependency-Check Dependencias del proyecto, con compatibilidad total para Java y .NET NVD, cotejo por CPE CLI, plugins para Maven, Gradle y Ant, e integraciones con CI

Trivy, de Aqua Security, lee los lockfiles de un repositorio y los metadatos de los paquetes instalados en una imagen, y escribe SBOM en CycloneDX o SPDX. CRACI frente a Trivy. Grype, de Anchore, escanea lo que enumera su complemento Syft y funciona íntegramente en local, salvo por la descarga de su base de datos. CRACI frente a Syft y Grype. OSV-Scanner, de Google, es el cliente oficial de la base de datos OSV.dev y admite 19 o más tipos de lockfile. OWASP Dependency-Check identifica los componentes por CPE y los coteja con la NVD, lo que encaja mejor con proyectos Java y .NET. Para saber cómo leen un repositorio los generadores gratuitos de SBOM que hay detrás de estos escáneres, y por qué discrepan, consulte lo que se les escapa a los generadores de SBOM de código abierto.

Cómo encaja CRACI

Todas las demás herramientas de esta página son escáneres. Leen un manifiesto, un lockfile, un archivo de código fuente o un binario y averiguan qué hay dentro. CRACI es un registrador. Sus jobs de GitHub Actions se ejecutan en runners de CRACI (cambie runs-on a craci), y un proxy que entiende de paquetes registra lo que cada job descarga de fuentes npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk y Git, además de los presets de descarga. La evidencia de dependencias viaja con las cachés de CI. La vista de inventario de CRACI muestra exactamente qué versiones de software están desplegadas en qué productos, a escala global.

A partir de ese registro, CRACI produce una SBOM en CycloneDX o SPDX que indica su propia completitud por job y por caché. Aplica una política de egress que, si falla, bloquea, devuelve SBOM, trazas de red y procedencia mediante su API, sigue reevaluando las SBOM monitorizadas y permite a los equipos de seguridad hacer el triaje de los hallazgos y enviar cada uno al equipo responsable de la corrección. Cada componente lleva su licencia declarada, de modo que el copyleft y otras licencias restrictivas aparecen antes de la distribución, y la política de licencias puede bloquear un build por una licencia. Automatiza una parte importante de la visibilidad y la evidencia de la cadena de suministro de software que las empresas necesitan para su proceso más amplio de cumplimiento del CRA.

CRACI no es la opción adecuada cuando:

  • necesita SAST o escaneo de secretos o IaC (no hace nada de eso),
  • la alcanzabilidad es su prioridad (CRACI no la ofrece), o necesita listas de bloqueo de paquetes hoy (están en la hoja de ruta),
  • sus pipelines se ejecutan en GitLab, Jenkins o CircleCI, o necesitan runners Windows o macOS (CRACI ejecuta hoy jobs de Linux en GitHub Actions; otros sistemas de CI, Windows y macOS están en la hoja de ruta).

En esos casos, elija entre las herramientas anteriores. Si además necesita demostrar qué entró en cada versión, use CRACI como runner y mantenga su SCA en las pull requests. Para profundizar en el argumento de escáner frente a registrador, consulte CRACI frente a las herramientas de SCA y SBOM y la comparativa de herramientas de SBOM, lea sobre la generación de SBOM durante el build y los precios, o reserve una demo para ver el registro de un build de GitHub Actions.

CRACI comparado con cada herramienta

Lado a lado

Varias herramientas en una página, para cuando elige una categoría y no un producto concreto.

Herramientas de SCA: preguntas frecuentes

Respuestas breves a preguntas habituales sobre el análisis de composición de software

¿Qué es una herramienta de SCA?

Una herramienta de análisis de composición de software (SCA) encuentra los componentes de código abierto y de terceros de su software, los coteja con bases de datos de vulnerabilidades como la NVD, GitHub Advisory Database u OSV, y señala las vulnerabilidades conocidas y los riesgos de licencia. La mayoría de las herramientas de SCA también priorizan los hallazgos, sugieren o abren pull requests de actualización, exportan una SBOM y siguen vigilando las nuevas vulnerabilidades.

¿Qué es el escaneo SCA?

Un escaneo SCA lee los manifiestos, los lockfiles, los paquetes instalados o una imagen de contenedor de un proyecto, averigua qué componentes contiene y los coteja con datos de vulnerabilidades y licencias. La mayoría de las herramientas lo ejecutan en cada pull request y de forma programada, de modo que también se detectan los nuevos avisos sobre versiones que usted ya utiliza.

¿Cuál es la diferencia entre SCA y SAST?

El SAST analiza el código que escribe su equipo en busca de fallos como los errores de inyección. El SCA analiza los componentes de los que usted depende en busca de vulnerabilidades conocidas y problemas de licencia. La mayoría de las herramientas comerciales de esta página venden ya ambos, pero responden a preguntas distintas.

¿Cuál es la diferencia entre el SCA y una SBOM?

El SCA es el proceso de encontrar y evaluar componentes. Una SBOM es una lista legible por máquina de esos componentes, normalmente en formato CycloneDX o SPDX. La mayoría de las herramientas de SCA pueden exportar una, y la SBOM solo es tan completa como el método que la generó: un escaneo de manifiestos, un escaneo de binarios o un registro del build.

¿Cuáles son las mejores herramientas gratuitas de SCA?

Trivy, Grype, OSV-Scanner y OWASP Dependency-Check son gratuitas y de código abierto. Entre las herramientas comerciales, Semgrep tiene un plan gratuito para un máximo de 10 colaboradores, Snyk, Endor Labs y Aikido tienen niveles gratuitos, y las alertas de Dependabot vienen con todos los planes de GitHub. Las herramientas gratuitas suelen dejar en sus manos la monitorización, el triaje y los informes.

¿Qué es el análisis de alcanzabilidad en el SCA?

El análisis de alcanzabilidad comprueba si su código puede invocar realmente la función vulnerable de una dependencia, de modo que los hallazgos inalcanzables bajan en la lista. Snyk, Endor Labs, Mend, Checkmarx, Semgrep, Aikido, Sonatype y Black Duck ofrecen alguna forma de este análisis. CRACI, no.

¿CRACI es una herramienta de SCA?

No en el sentido clásico. Las herramientas de SCA escanean archivos para averiguar qué hay dentro. CRACI es un registrador: ejecuta sus jobs de GitHub Actions y registra los paquetes que cada job descargó realmente, produce una SBOM en CycloneDX o SPDX que indica su propia completitud y la sigue monitorizando en busca de nuevas vulnerabilidades. Los equipos lo ejecutan junto a una herramienta de SCA que cubre las pull requests y el SAST.

Vea lo que sus builds descargaron realmente

Reserve una demo para comparar la SBOM que CRACI registra durante un build de GitHub Actions con la que produce su herramienta de SCA.

Reservar una demo