Comparativa
CRACI y Dependabot
Dependabot suele ser la primera herramienta de cadena de suministro que activa un equipo en GitHub, y debe seguir activada. CRACI añade lo que Dependabot nunca se diseñó para ver: lo que hicieron realmente sus builds.
Actualizado el
Mantenga Dependabot. Esto es lo que cubre.
Si su código está en GitHub, probablemente ya utilice Dependabot. Hace tres cosas útiles. Las alertas de Dependabot le avisan cuando una dependencia de su repositorio coincide con una vulnerabilidad conocida. Las actualizaciones de seguridad abren pull requests que actualizan las dependencias vulnerables. Las actualizaciones de versión mantienen las dependencias al día aunque no haya nada vulnerable.
Todo esto se apoya en el grafo de dependencias de GitHub, que analiza los manifiestos y lockfiles de su repositorio. GitHub puede exportar ese grafo como SBOM en SPDX. Para ecosistemas como Go, Gradle y Maven, hay actions ya preparadas que pueden enviar las dependencias resueltas durante el build mediante la dependency submission API.
Para mantener las dependencias parcheadas con poco esfuerzo, Dependabot es difícil de superar, y CRACI no abre pull requests. Lo que aporta CRACI es la otra mitad: un registro de lo que descargó realmente cada build, monitorizado en busca de nuevas vulnerabilidades, para que sepa a qué builds distribuidos afecta un nuevo aviso y qué pull requests de actualización debe fusionar primero.
Las preguntas que Dependabot no responde
Dependabot está construido en torno al repositorio. Escanea la rama por defecto y depende de sus manifiestos y lockfiles. La documentación de GitHub es directa al respecto: las alertas no pueden detectar todos los problemas de seguridad, debe mantener actualizados los manifiestos y lockfiles para una detección precisa, y solo los avisos revisados por GitHub activan alertas.
Eso deja preguntas que a un responsable de seguridad o cumplimiento acabarán planteándole:
- ¿Qué descargó realmente el build de la versión 4.2, incluidas las herramientas e imágenes que no están en ningún manifiesto?
- ¿Podía un build acceder a cualquier host de internet mientras se ejecutaba?
- ¿Puede demostrar que el binario que recibió un cliente procede de ese build?
- ¿Puede presentar esa evidencia a un auditor meses después?
Responderlas requiere una visión desde dentro del build, que es donde se ejecuta CRACI.
| Función | CRACI | Dependabot |
|---|---|---|
| Ejecuta sus builds | Los jobs se ejecutan en runners de CRACI | Lee datos del repositorio, no del build |
| Dependencias registradas desde el build | Descargas observadas, incluidas las restauraciones de cachés de CI | Manifiestos y lockfiles, además de la dependency submission API |
| Exportación de SBOM | CycloneDX y SPDX, completitud por job y caché | Exportación en SPDX del grafo de dependencias |
| Política de egress de red del build | Denegar o permitir por defecto; si falla, bloquea | Fuera de su alcance |
| Alertas de vulnerabilidades | Agregadas de todos los builds y repositorios | A partir de avisos revisados por GitHub |
| Monitorización de nuevos avisos | SBOM monitorizadas reevaluadas de forma continua | Alertas de la rama por defecto a medida que se añaden avisos |
| Abre pull requests de actualización | Actualizaciones de seguridad y de versión | |
| Triaje y envío a los equipos responsables | En todos los builds y repositorios | Alertas por repositorio |
| Funciona sin cambiar de runner | Los jobs deben ejecutarse en CRACI | Integrado en los repositorios de GitHub |
| Evidencias de cumplimiento | SBOM en CycloneDX o SPDX, registros mediante API; sin exportación de informes | Vistas de alertas y la exportación en SPDX en GitHub |
- Incluido
- En parte
- No incluido
Qué aporta CRACI
Visibilidad durante el build
CRACI es un runner compatible con GitHub Actions. Usted cambia runs-on a craci y sus jobs se
ejecutan en CRACI en máquinas virtuales aisladas, mientras las ejecuciones siguen apareciendo en la interfaz de GitHub.
Durante cada job, un proxy que entiende de paquetes registra el tráfico hacia las fuentes de paquetes: fuentes npm, PyPI,
RubyGems, Cargo, Go, Nix, OCI, apt, apk y Git, además de los presets de descarga. Los paquetes restaurados desde cachés de
CI se conservan, porque las evidencias de dependencias viajan con la caché.
Cada SBOM indica su grado de completitud, por job y por caché: Complete, Complete with connections, Incomplete, Unavailable o Not recorded. Eso es distinto de un grafo cuya calidad depende de los archivos que analiza.
La diferencia se nota en la práctica. La exportación del grafo de dependencias de GitHub se construye a partir de lo que GitHub sabe del repositorio, así que puede incluir componentes que ningún escáner basado en archivos encuentra, y refleja la rama por defecto, no el commit que usted compiló. Ninguno de los dos comportamientos es erróneo para la función con la que se diseñó el grafo. Muestran por qué una vista del repositorio y un registro del build son cosas distintas. (CRACI no se puede comparar de esa manera, ya que registra builds en lugar de escanear directorios.)
Controles en tiempo de ejecución
Dependabot le informa de un paquete vulnerable cuando ya está en su manifiesto. No tiene ningún control sobre a qué puede conectarse un build. CRACI sí, porque ejecuta el build. Las políticas de egress son de denegación o de permiso por defecto, con 24 presets integrados de fuentes de software, fuentes personalizadas tipadas para npm, PyPI, apt, apk, el proxy de Go, Nix, Cargo, registros OCI y Git, y reglas explícitas de TLS, TCP, UDP e ICMP. Las políticas se validan antes de que empiece el job, bloquean si fallan y activan una alerta en caso de infracción.
Procedencia
CRACI genera la SBOM dentro de su propio runner, a partir de lo que descargó el job. La API devuelve SBOM, trazas de red y procedencia.
Evidencias de cumplimiento
Normativas como el Cyber Resilience Act de la UE piden a los fabricantes que sepan qué contiene cada versión de producto y que gestionen sus vulnerabilidades. CRACI agrega las vulnerabilidades de todos los builds y repositorios, sigue reevaluando las SBOM monitorizadas a medida que aparecen nuevos avisos y exporta SBOM en CycloneDX o SPDX, con vulnerabilidades incluidas. Automatiza una parte importante de la visibilidad y las evidencias de la cadena de suministro de software que las empresas necesitan para su proceso más amplio de cumplimiento del CRA. Más información sobre qué es el CRA y las evidencias para el CRA.
Un inventario de qué está desplegado y dónde
La vista de inventario de CRACI muestra exactamente qué versiones de software están desplegadas en qué productos, a escala global. Cuando surge una nueva vulnerabilidad, puede ver qué productos ejecutan la versión afectada en lugar de reconstruirlo a partir de notas de versión y hojas de cálculo.
Cómo usan ambos los equipos
- Dependabot mantiene parcheadas las dependencias en la rama por defecto y abre pull requests cuando llegan avisos.
- CRACI ejecuta los jobs de GitHub Actions, registra lo que descargó cada build, limita adónde pueden conectarse los builds, monitoriza lo que descargó cada build en busca de nuevas vulnerabilidades y conserva las evidencias de cada versión.
No hay nada que migrar. Dependabot sigue funcionando en sus repositorios, y sus workflows siguen ejecutándose en GitHub Actions, solo que en otro runner.
CRACI es compatible hoy con GitHub Actions, el mismo lugar donde funciona Dependabot. Más información sobre la generación de SBOM durante el build, el seguimiento de vulnerabilidades y los precios.
CRACI y Dependabot: preguntas frecuentes
Qué cubre cada herramienta, SBOM, precios y cumplimiento
¿Sustituye CRACI a Dependabot?
No. Mantenga Dependabot activado. Señala las dependencias vulnerables de sus repositorios y abre pull requests que las actualizan. CRACI ejecuta sus jobs de GitHub Actions y registra lo que descargó realmente cada build, controla adónde pueden conectarse los builds y monitoriza lo distribuido en busca de nuevas vulnerabilidades.
¿Sustituyen las vistas de vulnerabilidades de CRACI a las alertas de Dependabot?
No. Responden a otra pregunta. Las alertas de Dependabot se refieren a la rama por defecto de un repositorio. CRACI agrega las vulnerabilidades de todos los builds y repositorios y sigue reevaluando las SBOM monitorizadas, de modo que puede ver qué builds comparten una dependencia vulnerable, y los equipos de seguridad pueden hacer el triaje de los hallazgos y enviarlos al equipo responsable de la corrección. Los controles de políticas pueden bloquear un build; las alertas por umbral están en la hoja de ruta.
¿Abre CRACI pull requests como Dependabot?
No. Las actualizaciones de seguridad y de versión de Dependabot abren pull requests; CRACI no. Lo que aporta CRACI es el registro del build, de modo que, cuando llega un nuevo aviso, usted sabe a qué builds distribuidos afecta y qué pull requests de actualización debe fusionar primero.
¿En qué se diferencian las SBOM de GitHub y de CRACI?
GitHub exporta el grafo de dependencias como SBOM en SPDX, construida a partir de los manifiestos y lockfiles del repositorio y de la dependency submission API, y refleja la rama por defecto. CRACI registra la SBOM mientras se ejecuta cada build y la exporta en CycloneDX o SPDX, con un estado de completitud por job y por caché que le indica si el registro tuvo algún hueco.
¿Ayuda CRACI cuando una dependencia no está en ningún manifiesto?
Sí, si el build la descarga de una fuente de paquetes. Como CRACI registra el tráfico durante el job, una herramienta descargada por un script o un paquete restaurado desde una caché aparecen igualmente en el registro del build, y el estado de completitud de la SBOM le indica si algo no pudo registrarse.
¿Cuánto cuestan Dependabot y CRACI?
Las actualizaciones de seguridad y de versión de Dependabot están incluidas en todos los planes de GitHub, incluido Free (a septiembre de 2026). CRACI solo cobra por los minutos de build: $0.002 por minuto de vCPU ($0.004 para un runner de 2 vCPU por defecto), medidos por segundos, sin cuota mensual ni cargo por SBOM. Consulte los precios para conocer las condiciones actuales.
¿Es CRACI solo para equipos con requisitos de cumplimiento?
No, pero ahí es donde más rinden las evidencias. Si vende software en la UE, el Cyber Resilience Act hace que un inventario de componentes por versión y la gestión de vulnerabilidades formen parte del trabajo. Para todos los demás, saber lo que descargan sus builds sigue siendo la base de la respuesta a incidentes de la cadena de suministro. Reserve una demo para ver el registro del build de uno de sus propios workflows.
Vea lo que Dependabot no puede ver
Ejecute un workflow de GitHub Actions en CRACI y compare su registro del build con su grafo de dependencias.
Reservar una demo