OWASP dependency-check ist ein Dienstprogramm zur Analyse der Softwarezusammensetzung, das öffentlich bekannt gemachte Schwachstellen in Anwendungsabhängigkeiten erkennt.
Dependency-Check ist ein Software Composition Analysis (SCA)-Tool, das versucht, öffentlich gemachte Schwachstellen zu erkennen, die sich in den Abhängigkeiten eines Projekts befinden. Dies geschieht, indem geprüft wird, ob eine Common Platform Enumeration (CPE)-Kennung für eine bestimmte Abhängigkeit existiert. Falls gefunden, wird ein Bericht generiert, der zu den zugehörigen CVE-Einträgen verlinkt.
Dokumentation und Links zu Produktions-Binary-Releases finden Sie auf den GitHub-Seiten. Zusätzlich finden Sie weitere Informationen zur Architektur und Möglichkeiten zur Erweiterung von dependency-check im [Wiki].
Dieses Produkt nutzt die NVD-API, wird jedoch weder von der NVD unterstützt noch zertifiziert.
Aufgrund von Änderungen an der NVD-API-Kompatibilität ist ein Upgrade obligatorisch. Weitere Informationen finden Sie unter #7463.
Java 11 ist nun erforderlich, um dependency-check 11.0.0 oder höher auszuführen
H2-Datenbank-Upgrade
11.0.0 enthält umbruchsrelevante Änderungen bei der Verwendung der lokalen H2-Datenbank. Es erfolgt ein vollständiger Download der NVD-Daten. Beachten Sie, dass die H2-Datendatei nicht mit älteren Versionen von dependency-check kompatibel ist, wenn Sie ein gemeinsames Datenverzeichnis verwenden. Falls Probleme auftreten, müssen Sie möglicherweise einen Purge-Vorgang durchführen:
./gradlew dependencyCheckPurgemvn org.owasp:dependency-check-maven:11.0.0:purgedependency-check.sh --purgeDependency-Check hat seit 9.0.0+ (Januar 2024) den Wechsel vom NVD-Datenfeed zur NVD-API vollzogen.
Nutzer von dependency-check wird dringend empfohlen, einen NVD-API-Schlüssel zu erhalten; siehe https://nvd.nist.gov/developers/request-an-api-key
Ohne einen NVD-API-Schlüssel werden die Updates von dependency-check extrem langsam.
Bitte beachten Sie die Dokumentation für die CLI-, Maven-, Gradle- oder Ant-Integrationen, wie der NVD-API-Schlüssel festgelegt wird.
Die NVD-API hat durchgesetzte Ratenbegrenzungen. Wenn Sie einen einzelnen API-Schlüssel verwenden und mehrere Builds ausgeführt werden, können Sie das Ratenlimit erreichen und 403-Fehler erhalten. In einer CI-Umgebung muss eine Caching-Strategie verwendet werden.
Im September 2025 begann Sonatype OSS Index, die Verwendung von API-Tokens zur Authentifizierung durchzusetzen. Im April 2026 startete eine nachfolgende Migration zu Sonatype Guide, die einen Übergang zur Nutzung von Sonatype Guide API-Tokens einleitete, die vor Ende 2026 die legacy OSS Index API-Schlüssel/Tokens ersetzen sollen.
Ohne Anmeldeinformationen wird Dependency Check den OSS Index Analyzer automatisch deaktivieren. Bitte sehen Sie in der Dokumentation für die CLI-, Maven-, Gradle- oder Ant-Integrationen nach, wie die Analyzer-Anmeldeinformationen für die Verwendung eines Sonatype Guide Tokens oder eines legacy OSS Index API-Schlüssels festgelegt werden.
Wenn Sie Sonatype OSS Index (über Guide) nutzen möchten, müssen Sie Dependency-Check konfigurieren und die Auswirkungen der Migration zu Sonatype Guide berücksichtigen, dessen kommerzielles/Nutzungsmodell sich geändert hat. Weitere Informationen finden Sie in der Analyzer-Dokumentation
Ab 9.0.0+ können Nutzer aufgrund der Abhängigkeitsauflösung Probleme mit NoSuchMethodError-Ausnahmen erleben. Falls Sie auf dieses Problem stoßen, müssen Sie einige der transitiven Abhängigkeiten von dependency-check auf bestimmte Versionen fixieren. Beispiel:
/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")
}
}
Minimale Java-Version: Java 11
OWASP dependency-check benötigt Zugriff auf mehrere extern gehostete Ressourcen. Weitere Informationen finden Sie unter Internetzugriff erforderlich.
Um bestimmte Technologie-Stacks zu analysieren, kann dependency-check erfordern, dass andere Entwicklungstools installiert sind. Einige der unten aufgeführten Analysen sind möglicherweise experimentell und erfordern, dass die experimentellen Analyzer aktiviert sind.
go installiert sein.Elixir-Projekten erfordert mix_audit.npm, pnpm und yarn-Projekten erfordert, dass npm, pnpm oder yarn installiert sind.
audit-Funktion jeder Plattform.bundle-audit, welches installiert sein muss.Anleitungen zur Verwendung des Jenkins-Plugins finden Sie auf der OWASP Dependency-Check Plugin-Seite.
Detailliertere Anleitungen finden Sie auf den dependency-check GitHub-Seiten. Die neueste CLI kann im Releases-Bereich auf GitHub heruntergeladen werden.
Herunterladen des neuesten Releases:
$ 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