OWASP dependency-check es una utilidad de análisis de composición de software que detecta vulnerabilidades divulgadas públicamente en las dependencias de las aplicaciones.
Dependency-Check es una herramienta de Análisis de Composición de Software (SCA) que intenta detectar vulnerabilidades divulgadas públicamente contenidas en las dependencias de un proyecto. Esto lo determina verificando si existe un identificador de Enumeración Común de Plataforma (CPE) para una dependencia dada. Si se encuentra, generará un informe que enlaza con las entradas de CVE asociadas.
La documentación y los enlaces a las versiones binarias de producción se pueden encontrar en las páginas de github. Además, más información sobre la arquitectura y formas de extender dependency-check se puede encontrar en el [wiki].
Este producto utiliza la API de NVD pero no está respaldado ni certificado por NVD.
Debido a cambios de compatibilidad en la API de NVD, una actualización es obligatoria. Consulte #7463 para más información.
Ahora se requiere Java 11 para ejecutar dependency-check 11.0.0 o superior
Actualización de la base de datos H2
11.0.0 contiene cambios incompatibles al usar la base de datos H2 local. Se realizará una descarga completa de los datos de NVD. Tenga en cuenta que si está utilizando un directorio de datos compartido, el archivo de base de datos h2 no es compatible con versiones anteriores de dependency-check. Si encuentra problemas, es posible que deba ejecutar una purga:
./gradlew dependencyCheckPurgemvn org.owasp:dependency-check-maven:11.0.0:purgedependency-check.sh --purgeDependency-check dejó de usar el feed de datos de NVD y pasó a usar la API de NVD desde 9.0.0+ (enero de 2024).
Se recomienda encarecidamente a los usuarios de dependency-check obtener una clave de API de NVD; consulte https://nvd.nist.gov/developers/request-an-api-key
Sin una clave de API de NVD, las actualizaciones de dependency-check serán extremadamente lentas.
Consulte la documentación de las integraciones CLI, Maven, Gradle o Ant para saber cómo configurar la clave de API de NVD.
La API de NVD tiene límites de tasa aplicados. Si está utilizando una única CLAVE DE API y ocurren múltiples compilaciones, podría alcanzar el límite de tasa y recibir errores 403. En un entorno de CI, se debe utilizar una estrategia de caché.
En septiembre de 2025, Sonatype OSS Index comenzó a aplicar el uso de tokens de API para la autenticación. En abril de 2026 comenzó una migración posterior a Sonatype Guide, iniciando una transición hacia el uso de tokens de API de Sonatype Guide que están planificados para reemplazar las claves/tokens heredados de OSS Index antes de finales de 2026.
Sin credenciales, Dependency Check desactivará automáticamente el analizador de OSS Index. Consulte la documentación de las integraciones CLI, Maven, Gradle o Ant para saber cómo configurar las credenciales del analizador para usar un token de Sonatype Guide o una clave de API heredada de OSS Index.
Si desea usar Sonatype OSS Index (vía Guide), debe configurar Dependency-Check y considerar las implicaciones de la migración a Sonatype Guide, cuyo modelo comercial/de uso ha cambiado. Consulte la documentación del analizador para más información.
Con 9.0.0+, los usuarios pueden encontrar problemas con excepciones NoSuchMethodError debido a la resolución de dependencias. Si encuentra este problema, deberá fijar algunas de las dependencias transitivas de dependency-check a versiones específicas. Por ejemplo:
/buildSrc/build.gradle
dependencies {
constraints {
// org.owasp.dependencycheck needs at least this version of jackson. Other plugins pull in older versions..
add("implementation", "com.fasterxml.jackson:jackson-bom:2.21.2")
// org.owasp.dependencycheck needs these versions. Other plugins pull in older versions..
add("implementation", "org.apache.commons:commons-lang3:3.20.0")
add("implementation", "org.apache.commons:commons-text:1.15.0")
}
}
Versión mínima de Java: Java 11
OWASP dependency-check requiere acceso a varios recursos alojados externamente. Para más información, consulte Acceso a Internet requerido.
Para analizar algunos conjuntos tecnológicos, dependency-check puede requerir que otras herramientas de desarrollo estén instaladas. Algunos de los análisis enumerados a continuación pueden ser experimentales y requerir que los analizadores experimentales estén habilitados.
go.Elixir requiere mix_audit.npm, pnpm e yarn requiere que npm, pnpm o yarn estén instalados.
audit correspondiente de cada uno.bundle-audit, el cual debe estar instalado.Para instrucciones sobre el uso del complemento de Jenkins, consulte la página del complemento OWASP Dependency-Check.
Instrucciones más detalladas se pueden encontrar en las páginas de github de dependency-check. La última versión de la CLI se puede descargar desde github en la sección de lanzamientos.
Descarga del último lanzamiento:
$ VERSION=$(curl -s https://dependency-check.github.io/DependencyCheck/current.txt)
$ curl -Ls "https://github.com/dependency-check/DependencyCheck/releases/download/v$VERSION/dependency-check-$VERSION-release.zip" --output dependency-check.zip