OWASP dependency-check est un utilitaire d'analyse de composition logicielle qui détecte les vulnérabilités publiquement divulguées dans les dépendances d'applications.
Dependency-Check est un outil d'Analyse de la Composition Logicielle (SCA) qui tente de détecter les vulnérabilités publiquement divulguées contenues dans les dépendances d'un projet. Il détermine s'il existe un identifiant Common Platform Enumeration (CPE) pour une dépendance donnée. Si trouvé, il génère un rapport reliant les entrées CVE associées.
La documentation et les liens vers les versions binaires de production se trouvent sur les pages GitHub. De plus, davantage d'informations sur l'architecture et les moyens d'étendre dependency-check sont disponibles sur le [wiki].
Ce produit utilise l'API NVD mais n'est ni endossé ni certifié par la NVD.
En raison de modifications de compatibilité de l'API NVD, une mise à jour est obligatoire. Consultez #7463 pour plus d'informations.
Java 11 est désormais requis pour exécuter dependency-check 11.0.0 ou supérieur
Mise à niveau de la base de données H2
11.0.0 contient des changements incompatibles avec la base de données H2 locale. Un téléchargement complet des données NVD sera effectué. Notez que si vous utilisez un répertoire de données partagé, le fichier de base de données h2 n'est pas compatible avec les anciennes versions de dependency-check. Si vous rencontrez des problèmes, vous devrez peut-être exécuter une purge :
./gradlew dependencyCheckPurgemvn org.owasp:dependency-check-maven:11.0.0:purgedependency-check.sh --purgeDependency-check a migré de l'utilisation du flux de données NVD vers l'API NVD depuis la version 9.0.0+ (janvier 2024). Les utilisateurs de dependency-check sont fortement encouragés à obtenir une clé API NVD ; consultez https://nvd.nist.gov/developers/request-an-api-key. Sans clé API NVD, les mises à jour de dependency-check seront extrêmement lentes. Veuillez consulter la documentation relative aux intégrations CLI, Maven, Gradle ou Ant pour savoir comment définir la clé API NVD.
L'API NVD applique des limites de débit strictes. Si vous utilisez une seule clé API et que plusieurs builds sont effectués, vous pourriez atteindre cette limite et recevoir des erreurs 403. Dans un environnement CI, il est nécessaire d'utiliser une stratégie de mise en cache.
En septembre 2025, Sonatype OSS Index a commencé à appliquer l'utilisation de jetons API pour l'authentification. En avril 2026, une migration subséquente vers Sonatype Guide a débuté, amorçant une transition vers l'utilisation de jetons API Sonatype Guide qui devraient remplacer les clés/jetons API OSS Index hérités avant la fin de 2026.
Sans identifiants, Dependency Check désactivera automatiquement l'analyseur OSS Index. Veuillez consulter la documentation des intégrations CLI, Maven, Gradle ou Ant pour savoir comment configurer les identifiants de l'analyseur afin d'utiliser un jeton Sonatype Guide ou une clé API OSS Index héritée.
Si vous souhaitez utiliser Sonatype OSS Index (via Guide), vous devez configurer Dependency-Check et tenir compte des implications de la migration vers Sonatype Guide, dont le modèle commercial/d'utilisation a changé. Consultez la documentation de l'analyseur pour plus d'informations.
Avec la version 9.0.0+, les utilisateurs peuvent rencontrer des exceptions NoSuchMethodError en raison de la résolution des dépendances. Si vous rencontrez ce problème, vous devrez épingler certaines des dépendances transitives de dependency-check à des versions spécifiques. Par exemple :
/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")
}
}
Version minimale de Java : Java 11
OWASP dependency-check nécessite l'accès à plusieurs ressources hébergées externement. Pour plus d'informations, consultez Accès Internet requis.
Afin d'analyser certaines piles technologiques, dependency-check peut nécessiter qu'autres outils de développement soient installés. Certaines des analyses ci-dessous peuvent être expérimentales et nécessiteront que les analyseurs expérimentaux soient activés.
go doit être installé.Elixir nécessite mix_audit.npm, pnpm et yarn nécessite que npm, pnpm ou yarn soit installé.
audit respective de chacun.bundle-audit, qui doit être installé.Pour les instructions d'utilisation du plugin Jenkins, veuillez consulter la page du plugin OWASP Dependency-Check.
Des instructions plus détaillées sont disponibles sur les pages GitHub de dependency-check. Le dernier CLI peut être téléchargé depuis GitHub dans la section des versions.
Téléchargement de la dernière version :
$ 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