Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
DependencyCheck — 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. | Kitploit
Herramientas/GitHubGitHub/dependency-check/dependencycheck
Escáneres de VulnerabilidadesAnálisis de VulnerabilidadesDevSecOpsSeguridad de Cadena de Suministro
GitHubdependency-check/dependencycheck

DependencyCheck

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.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web
7.7k1.4khace 2 díasRevisado por Kitploit

Maven Central Build and Deploy Snapshot CII Best Practices Apache 2.0 License

Black Hat Arsenal Black Hat Arsenal Black Hat Arsenal Black Hat Arsenal

Dependency-Check

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. Lo hace determinando si existe un identificador de Common Platform Enumeration (CPE) para una dependencia determinada. Si se encuentra, generará un informe con enlaces a las entradas CVE asociadas.

La documentación y los enlaces a las versiones binarias de producción se pueden encontrar en las github pages. Además, se puede encontrar más información sobre la arquitectura y las formas de extender dependency-check en el wiki.

Aviso

Este producto utiliza la API de NVD, pero no está respaldado ni certificado por NVD.

Actualización obligatoria a 12.1.0+

Debido a cambios de compatibilidad en la API de NVD, es obligatoria una actualización. Consulte #7463 para obtener más información.

Cambios que rompen la compatibilidad en 11.0.0

  • 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 que rompen la compatibilidad en el uso de 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 tiene problemas, es posible que necesite ejecutar una purga:

    • gradle: ./gradlew dependencyCheckPurge
    • maven: mvn org.owasp:dependency-check-maven:11.0.0:purge
    • cli: dependency-check.sh --purge

Otros avisos

Clave de API de NVD Altamente Recomendada

Dependency-check pasó de usar el data-feed de NVD a la API de NVD desde la versión 9.0.0+ (enero de 2024). Se recomienda encarecidamente a los usuarios de dependency-check que obtengan 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 sobre cómo configurar la clave de API de NVD.

La clave de API de NVD, CI y límite de velocidad (rate limiting)

La API de NVD impone límites de velocidad. Si está utilizando una única clave de API y se producen múltiples compilaciones, podría alcanzar el límite de velocidad y recibir errores 403. En un entorno de CI se debe utilizar una estrategia de caché.

Autenticación obligatoria de Sonatype OSS Index y migración a Sonatype Guide

En septiembre de 2025, Sonatype OSS Index comenzó a exigir el uso de tokens de API para la autenticación. En abril de 2026 comenzó una migración posterior a Sonatype Guide, dando inicio a una transición hacia el uso de tokens de API de Sonatype Guide que están planificados para reemplazar las claves/tokens de API de OSS Index heredados antes de finales de 2026.

Sin credenciales, Dependency Check deshabilitará automáticamente el analizador de OSS Index. Consulte la documentación de las integraciones CLI, Maven, Gradle o Ant sobre cómo configurar las credenciales del analizador para usar un token de Sonatype Guide o una clave de API de OSS Index heredada.

Si desea utilizar Sonatype OSS Index (a través de 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 obtener más información.

Entorno de compilación de Gradle

Con la versión 9.0.0+, los usuarios pueden encontrar problemas con excepciones NoSuchMethodError debido a la resolución de dependencias. Si se encuentra con este problema, deberá fijar algunas de las dependencias transitivas de dependency-check a versiones específicas. Por ejemplo:

/buildSrc/build.gradle

root@kitploit:~
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")
    }
}

Requisitos

Versión de Java

Versión mínima de Java: Java 11

Acceso a Internet

OWASP dependency-check requiere acceso a varios recursos alojados externamente. Para obtener más información, consulte Acceso a Internet requerido.

Herramientas de compilación

Para analizar algunas pilas tecnológicas, dependency-check puede requerir que se instalen otras herramientas de desarrollo. Algunos de los análisis enumerados a continuación pueden ser experimentales y requerir que los analizadores experimentales estén habilitados.

  1. Para analizar ensamblados .NET, se debe instalar el runtime o SDK de dotnet 8.
    • Se pueden analizar ensamblados dirigidos a otros runtimes, pero se requiere la versión 8 para ejecutar el análisis.
  2. Si se analizan proyectos GoLang, se debe instalar go.
  3. El análisis de proyectos Elixir requiere mix_audit.
  4. El análisis de proyectos npm, pnpm y yarn requiere que se instale npm, pnpm o yarn.
    • El análisis realizado utiliza la función audit respectiva de cada uno.
  5. El análisis de Ruby es un envoltorio alrededor de bundle-audit, que debe estar instalado.

Versiones actuales

Plugin de Jenkins

Para obtener instrucciones sobre el uso del plugin de Jenkins, consulte la página del plugin OWASP Dependency-Check.

Línea de comandos

Se pueden encontrar instrucciones más detalladas en las dependency-check github pages. La última CLI se puede descargar desde github en la sección de releases.

Descargando la última versión:

root@kitploit:~
$ 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

En *nix

root@kitploit:~
$ ./bin/dependency-check.sh -h
$ ./bin/dependency-check.sh --out . --scan [path to jar files to be scanned]

En Windows

root@kitploit:~
> .\bin\dependency-check.bat -h
> .\bin\dependency-check.bat --out . --scan [path to jar files to be scanned]

En Mac con Homebrew Nota - los usuarios de homebrew que actualicen de 5.x a 6.0.0 deberán ejecutar dependency-check.sh --purge.

root@kitploit:~
$ brew update && brew install dependency-check
$ dependency-check -h
$ dependency-check --out . --scan [path to jar files to be scanned]

Plugin de Maven

Se pueden encontrar instrucciones más detalladas en las dependency-check-maven github pages. De forma predeterminada, el plugin está vinculado a la fase verify (es decir, mvn verify). Alternativamente, se puede invocar directamente el plugin mediante mvn org.owasp:dependency-check-maven:check.

El plugin dependency-check se puede configurar de la siguiente manera:

root@kitploit:~
<project>
    <build>
        <plugins>
            ...
            <plugin>
              <groupId>org.owasp</groupId>
              <artifactId>dependency-check-maven</artifactId>
              <executions>
                  <execution>
                      <goals>
                          <goal>check</goal>
                      </goals>
                  </execution>
              </executions>
            </plugin>
            ...
        </plugins>
        ...
    </build>
    ...
</project>

Plugin de Gradle

Para obtener instrucciones sobre el uso del plugin de Gradle, consulte la dependency-check-gradle github page.

Tarea de Ant

Para obtener instrucciones sobre el uso de la tarea de Ant, consulte la dependency-check-ant github page.

Requisitos previos de desarrollo

Para que la instalación sea exitosa, debe tener instalados los siguientes componentes:

  • Java: java -version 25.0
  • Maven: mvn -version 3.6.3 o superior

Los casos de prueba requieren:

  • dotnet core versión 8.0
  • Go: go version 1.12 o superior
  • Ruby bundler-audit
  • Yarn
  • pnpm

Uso en desarrollo

Las siguientes instrucciones describen cómo compilar y usar la instantánea (snapshot) actual. Aunque la intención es mantener una instantánea estable, se recomienda que se utilicen las versiones publicadas enumeradas anteriormente.

El repositorio contiene algunos archivos grandes debido a los recursos de prueba. El equipo ha intentado limpiar el historial tanto como ha sido posible. Sin embargo, se recomienda realizar un clon superficial (shallow clone) para ahorrar tiempo:

root@kitploit:~
git clone --depth 1 https://github.com/dependency-check/DependencyCheck.git

En *nix

root@kitploit:~
$ mvn -s settings.xml install
$ ./cli/target/release/bin/dependency-check.sh -h
$ ./cli/target/release/bin/dependency-check.sh --out . --scan ./src/test/resources

En Windows

root@kitploit:~
> mvn -s settings.xml install
> .\cli\target\release\bin\dependency-check.bat -h
> .\cli\target\release\bin\dependency-check.bat --out . --scan ./src/test/resources

Luego cargue el archivo 'dependency-check-report.html' resultante en su navegador favorito.

Compilar sin ejecutar pruebas

Para acelerar sus tiempos de ciclo, también puede compilar sin ejecutar las pruebas cada vez:
mvn -s settings.xml install -DskipTests=true

Recuerde ejecutar las pruebas al menos una vez antes de abrir el PR. :)

IntelliJ Idea

Para poder depurar sus pruebas en IntelliJ Idea, puede crear una configuración de maven que ejecute su prueba y habilite la depuración con puntos de interrupción (breakpoints), etc.
Básicamente, haga lo que se describe en https://www.jetbrains.com/help/idea/work-with-tests-in-maven.html#run_single_test y establezca forkCount en 0; de lo contrario, la depuración no funcionará.

Paso a paso:

  • Run -> Edit Configurations
  • + (Add new configuration) -> Maven
  • Asigne un nombre a la configuración, por ejemplo, Run tests
  • Elija el directorio de trabajo, por ejemplo, core
  • En command line, introduzca -DforkCount=0 -f pom.xml -s ../settings.xml test
  • Pulse OK
  • Run -> Debug y, a continuación, elija la nueva configuración de ejecución creada

IntelliJ ejecutará ahora la ejecución de pruebas para el subproyecto core con la depuración habilitada. Los puntos de interrupción establecidos en cualquier parte del código deberían funcionar.

Probar solo una función o una clase

Si desea acelerar sus tiempos de ciclo, también puede probar solo una función o una clase de prueba.
Esto funciona añadiendo -Dtest=MyTestClass o -Dtest=MyTestClass#myTestFunction a la configuración de ejecución. La línea de comandos completa en la configuración de ejecución sería entonces:

-Dtest=MyTestClass#myTestFunction -DforkCount=0 -f pom.xml -s ../settings.xml test

Docker

En el siguiente ejemplo se asume que el código fuente a verificar está en el directorio de trabajo actual y que los informes se escribirán en $(pwd)/odc-reports. Se utilizan directorios de datos y caché persistentes, lo que le permite destruir el contenedor después de la ejecución.

Para Linux:

root@kitploit:~
#!/bin/sh

DC_VERSION="latest"
DC_DIRECTORY=$HOME/OWASP-Dependency-Check
DC_PROJECT="dependency-check scan: $(pwd)"
DATA_DIRECTORY="$DC_DIRECTORY/data"
CACHE_DIRECTORY="$DC_DIRECTORY/data/cache"

if [ ! -d "$DATA_DIRECTORY" ]; then
    echo "Initially creating persistent directory: $DATA_DIRECTORY"
    mkdir -p "$DATA_DIRECTORY"
fi
if [ ! -d "$CACHE_DIRECTORY" ]; then
    echo "Initially creating persistent directory: $CACHE_DIRECTORY"
    mkdir -p "$CACHE_DIRECTORY"
fi

# Make sure we are using the latest version
docker pull owasp/dependency-check:$DC_VERSION

docker run --rm \
    -e user=$USER \
    -u $(id -u ${USER}):$(id -g ${USER}) \
    --volume $(pwd):/src:z \
    --volume "$DATA_DIRECTORY":/usr/share/dependency-check/data:z \
    --volume $(pwd)/odc-reports:/report:z \
    owasp/dependency-check:$DC_VERSION \
    --scan /src \
    --format "ALL" \
    --project "$DC_PROJECT" \
    --out /report
    # Use suppression like this: (where /src == $pwd)
    # --suppression "/src/security/dependency-check-suppression.xml"

Para Windows:

root@kitploit:~
@echo off

set DC_VERSION="latest"
set DC_DIRECTORY=%USERPROFILE%\OWASP-Dependency-Check
SET DC_PROJECT="dependency-check scan: %CD%"
set DATA_DIRECTORY="%DC_DIRECTORY%\data"
set CACHE_DIRECTORY="%DC_DIRECTORY%\data\cache"

IF NOT EXIST %DATA_DIRECTORY% (
    echo Initially creating persistent directory: %DATA_DIRECTORY%
    mkdir %DATA_DIRECTORY%
)
IF NOT EXIST %CACHE_DIRECTORY% (
    echo Initially creating persistent directory: %CACHE_DIRECTORY%
    mkdir %CACHE_DIRECTORY%
)

rem Make sure we are using the latest version
docker pull owasp/dependency-check:%DC_VERSION%

docker run --rm ^
    --volume %CD%:/src ^
    --volume %DATA_DIRECTORY%:/usr/share/dependency-check/data ^
    --volume %CD%/odc-reports:/report ^
    owasp/dependency-check:%DC_VERSION% ^
    --scan /src ^
    --format "ALL" ^
    --project "%DC_PROJECT%" ^
    --out /report
    rem Use suppression like this: (where /src == %CD%)
    rem --suppression "/src/security/dependency-check-suppression.xml"

Compilación desde el código fuente

Para compilar dependency-check (usando Java 11) ejecute el comando:

root@kitploit:~
mvn -s settings.xml install

Ejecutando dependency-check sobre dependency-check

Dependency-check hace referencia a varias dependencias vulnerables que nunca se utilizan salvo como recursos de prueba. Todas estas dependencias de prueba opcionales están incluidas en el perfil test-dependencies. Para ejecutar dependency-check sobre sí mismo, simplemente excluya el perfil test-dependencies:

root@kitploit:~
mvn org.owasp:dependency-check-maven:aggregate -P-test-dependencies -DskipProvidedScope=true

Compilación de la documentación

La documentación en las github pages se genera a partir de este repositorio:

root@kitploit:~
mvn -s settings.xml site site:stage

Una vez finalizado, apunte su navegador a ./target/staging/index.html.

Construcción de la imagen Docker

Para construir la imagen docker de dependency-check ejecute el comando:

root@kitploit:~
mvn -s settings.xml install
./docker-build.sh

Licencia

Se concede permiso para modificar y redistribuir bajo los términos de la licencia Apache 2.0. Consulte el archivo LICENSE.txt para ver la licencia completa.

Dependency-Check utiliza varias otras bibliotecas de código abierto. Consulte el archivo NOTICE.txt para obtener más información.

Este producto utiliza la API de NVD, pero no está respaldado ni certificado por NVD.

Copyright (c) 2012-2025 Jeremy Long. Todos los derechos reservados.

Descargar herramienta