Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
DependencyCheck — OWASP dependency-check ist ein Dienstprogramm zur Analyse der Softwarezusammensetzung, das öffentlich bekannt gemachte Schwachstellen in Anwendungsabhängigkeiten erkennt. | Kitploit
Tools/GitHubGitHub/dependency-check/dependencycheck
SchwachstellenscannerSchwachstellenanalyseDevSecOpsLieferkettensicherheit
GitHubdependency-check/dependencycheck

DependencyCheck

OWASP dependency-check ist ein Dienstprogramm zur Analyse der Softwarezusammensetzung, das öffentlich bekannt gemachte Schwachstellen in Anwendungsabhängigkeiten erkennt.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite
7.7k1.4kvor 2 TagenVon Kitploit geprüft

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 ist ein Software-Composition-Analysis-Tool (SCA), das versucht, öffentlich bekannt gemachte Schwachstellen zu erkennen, die in den Abhängigkeiten eines Projekts enthalten sind. Dazu wird ermittelt, ob es für eine bestimmte Abhängigkeit eine Common-Platform-Enumeration-Kennung (CPE) gibt. Wird eine gefunden, erstellt das Tool einen Bericht mit Links zu den zugehörigen CVE-Einträgen.

Dokumentation und Links zu den Produktions-Binärversionen finden Sie auf den GitHub-Seiten. Darüber hinaus finden Sie weitere Informationen zur Architektur und zu Möglichkeiten, dependency-check zu erweitern, im Wiki.

Hinweis

Dieses Produkt verwendet die NVD-API, wird jedoch von der NVD weder unterstützt noch zertifiziert.

Zwingendes Upgrade auf 12.1.0+

Aufgrund von Kompatibilitätsänderungen der NVD-API ist ein Upgrade zwingend erforderlich. Weitere Informationen finden Sie unter #7463.

Inkompatible Änderungen in 11.0.0

  • Java 11 ist nun erforderlich, um dependency-check 11.0.0 oder höher auszuführen

  • H2-Datenbank-Upgrade

    11.0.0 enthält inkompatible Änderungen bei der Verwendung der lokalen H2-Datenbank. Es wird ein vollständiger Download der NVD-Daten erfolgen. Beachten Sie, dass die H2-Datenbankdatei bei Verwendung eines gemeinsamen Datenverzeichnisses nicht mit älteren Versionen von dependency-check kompatibel ist. Wenn Sie auf Probleme stoßen, müssen Sie möglicherweise eine Bereinigung (Purge) durchführen:

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

Weitere Hinweise

NVD-API-Schlüssel dringend empfohlen

Dependency-check ist seit 9.0.0+ (Januar 2024) von der Verwendung des NVD-Data-Feeds auf die NVD-API umgestiegen. Benutzer von dependency-check werden dringend gebeten, einen NVD-API-Schlüssel zu beantragen; siehe https://nvd.nist.gov/developers/request-an-api-key Ohne einen NVD-API-Schlüssel werden die Updates von dependency-check extrem langsam sein. Informationen zum Festlegen des NVD-API-Schlüssels finden Sie in der Dokumentation für die CLI-, Maven-, Gradle- oder Ant-Integrationen.

Der NVD-API-Schlüssel, CI und Ratenbegrenzung

Die NVD-API setzt Ratenlimits durch. Wenn Sie einen einzelnen API-Schlüssel verwenden und mehrere Builds durchgeführt werden, können Sie das Ratenlimit erreichen und 403-Fehler erhalten. In einer CI-Umgebung muss eine Caching-Strategie verwendet werden.

Sonatype OSS Index: verpflichtende Authentifizierung und Migration zu Sonatype Guide

Im September 2025 begann Sonatype OSS Index, die Verwendung von API-Tokens zur Authentifizierung durchzusetzen. Im April 2026 begann eine anschließende Migration zu Sonatype Guide, die einen Übergang zur Verwendung von Sonatype-Guide-API-Tokens einleitete, die die bisherigen OSS-Index-API-Schlüssel/-Tokens vor Ende 2026 ersetzen sollen.

Ohne Anmeldedaten deaktiviert Dependency Check den OSS-Index-Analyzer automatisch. Informationen zum Festlegen der Analyzer-Anmeldedaten für die Verwendung eines Sonatype-Guide-Tokens oder eines bisherigen OSS-Index-API-Schlüssels finden Sie in der Dokumentation für die CLI-, Maven-, Gradle- oder Ant-Integrationen.

Wenn Sie Sonatype OSS Index (über Guide) verwenden 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.

Gradle-Build-Umgebung

Ab 9.0.0+ können Benutzer aufgrund der Abhängigkeitsauflösung auf Probleme mit NoSuchMethodError-Ausnahmen stoßen. Wenn Sie auf dieses Problem stoßen, müssen Sie einige der transitiven Abhängigkeiten von dependency-check auf bestimmte Versionen festpinnen. Zum Beispiel:

/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")
    }
}

Anforderungen

Java-Version

Mindest-Java-Version: Java 11

Internetzugriff

OWASP dependency-check benötigt Zugriff auf mehrere extern gehostete Ressourcen. Weitere Informationen finden Sie unter Erforderlicher Internetzugriff.

Build-Tools

Um bestimmte Technologie-Stacks zu analysieren, müssen möglicherweise weitere Entwicklungswerkzeuge installiert sein. Einige der unten aufgeführten Analysen können experimentell sein und erfordern, dass die experimentellen Analyzer aktiviert werden.

  1. Zur Analyse von .NET-Assemblys muss die dotnet-8-Laufzeit oder das SDK installiert sein.
    • Assemblys, die auf andere Laufzeiten abzielen, können analysiert werden - aber 8 ist erforderlich, um die Analyse auszuführen.
  2. Bei der Analyse von GoLang-Projekten muss go installiert sein.
  3. Die Analyse von Elixir-Projekten erfordert mix_audit.
  4. Die Analyse von npm-, pnpm- und yarn-Projekten erfordert, dass npm, pnpm oder yarn installiert ist.
    • Die durchgeführte Analyse nutzt die jeweilige audit-Funktion der einzelnen Werkzeuge.
  5. Die Analyse von Ruby ist ein Wrapper um bundle-audit, das installiert sein muss.

Aktuelle Releases

Jenkins-Plugin

Anweisungen zur Verwendung des Jenkins-Plugins finden Sie auf der OWASP-Dependency-Check-Plugin-Seite.

Befehlszeile

Ausführlichere Anweisungen finden Sie auf den GitHub-Seiten von dependency-check. Die neueste CLI kann von GitHub im Releases-Bereich heruntergeladen werden.

Herunterladen der neuesten Version:

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

Unter *nix

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

Unter Windows

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

Auf dem Mac mit Homebrew Hinweis: Homebrew-Benutzer, die von 5.x auf 6.0.0 aktualisieren, müssen dependency-check.sh --purge ausführen.

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

Maven-Plugin

Ausführlichere Anweisungen finden Sie auf den GitHub-Seiten von dependency-check-maven. Standardmäßig ist das Plugin an die verify-Phase gekoppelt (d. h. mvn verify). Alternativ kann das Plugin direkt über mvn org.owasp:dependency-check-maven:check aufgerufen werden.

Das dependency-check-Plugin kann wie folgt konfiguriert werden:

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>

Gradle-Plugin

Anweisungen zur Verwendung des Gradle-Plugins finden Sie auf der GitHub-Seite von dependency-check-gradle.

Ant-Task

Anweisungen zur Verwendung der Ant-Task finden Sie auf der GitHub-Seite von dependency-check-ant.

Voraussetzungen für die Entwicklung

Damit die Installation erfolgreich durchläuft, müssen die folgenden Komponenten installiert sein:

  • Java: java -version 25.0
  • Maven: mvn -version 3.6.3 und höher

Die Testfälle erfordern:

  • dotnet core Version 8.0
  • Go: go version 1.12 und höher
  • Ruby bundler-audit
  • Yarn
  • pnpm

Verwendung für die Entwicklung

Die folgenden Anweisungen beschreiben, wie der aktuelle Snapshot kompiliert und verwendet wird. Auch wenn es die erklärte Absicht ist, einen stabilen Snapshot zu pflegen, wird empfohlen, die oben aufgeführten Release-Versionen zu verwenden.

Das Repository enthält aufgrund von Testressourcen einige große Dateien. Das Team hat versucht, die Historie so weit wie möglich zu bereinigen. Es wird jedoch empfohlen, einen Shallow Clone durchzuführen, um sich Zeit zu sparen:

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

Unter *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

Unter 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

Laden Sie anschließend die resultierende Datei 'dependency-check-report.html' in Ihren bevorzugten Browser.

Erstellen ohne Ausführen der Tests

Um Ihre Turnaround-Zeiten zu verkürzen, können Sie auch kompilieren, ohne jedes Mal die Tests auszuführen:
mvn -s settings.xml install -DskipTests=true

Denken Sie bitte daran, die Tests vor dem Öffnen des PR mindestens einmal auszuführen. :)

IntelliJ Idea

Um Ihre Tests in IntelliJ Idea debuggen zu können, können Sie eine Maven-Konfiguration einführen, die Ihren Test ausführt und das Debugging mit Haltepunkten usw. ermöglicht.
Im Grunde führen Sie das aus, was unter https://www.jetbrains.com/help/idea/work-with-tests-in-maven.html#run_single_test beschrieben ist, und setzen forkCount auf 0, andernfalls funktioniert das Debugging nicht.

Schritt für Schritt:

  • Run -> Edit Configurations
  • + (Add new configuration) -> Maven
  • Geben Sie der Konfiguration einen Namen, z. B. Run tests
  • Wählen Sie das Arbeitsverzeichnis, z. B. core
  • Geben Sie in command line Folgendes ein: -DforkCount=0 -f pom.xml -s ../settings.xml test
  • Klicken Sie auf OK
  • Run -> Debug, und wählen Sie dann die neu erstellte Run-Konfiguration

IntelliJ führt nun den Testlauf für das Unterprojekt core mit aktiviertem Debugging aus. Haltepunkte, die an beliebiger Stelle im Code gesetzt werden, sollten funktionieren.

Nur eine Funktion oder eine Klasse testen

Wenn Sie Ihre Turnaround-Zeiten verkürzen möchten, können Sie auch nur eine einzelne Funktion oder eine Testklasse testen.
Dies funktioniert, indem Sie -Dtest=MyTestClass oder -Dtest=MyTestClass#myTestFunction zur Run-Konfiguration hinzufügen. Die vollständige Befehlszeile in der Run-Konfiguration wäre dann:

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

Docker

Im folgenden Beispiel wird davon ausgegangen, dass sich die zu prüfende Quelle im aktuellen Arbeitsverzeichnis befindet und die Berichte nach $(pwd)/odc-reports geschrieben werden. Es werden persistente Daten- und Cache-Verzeichnisse verwendet, sodass Sie den Container nach der Ausführung zerstören können.

Für 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"

Für 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"

Erstellen aus dem Quellcode

Um dependency-check (mit Java 11) zu erstellen, führen Sie den folgenden Befehl aus:

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

Dependency-check auf dependency-check ausführen

Dependency-check referenziert mehrere verwundbare Abhängigkeiten, die außer als Testressourcen nie verwendet werden. Alle diese optionalen Testabhängigkeiten sind im Profil test-dependencies enthalten. Um dependency-check gegen sich selbst auszuführen, schließen Sie einfach das Profil test-dependencies aus:

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

Erstellen der Dokumentation

Die Dokumentation auf den GitHub-Seiten wird aus diesem Repository generiert:

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

Wenn Sie fertig sind, rufen Sie in Ihrem Browser ./target/staging/index.html auf.

Erstellen des Docker-Images

Um das Docker-Image von dependency-check zu erstellen, führen Sie den folgenden Befehl aus:

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

Lizenz

Die Erlaubnis zur Änderung und Weiterverbreitung wird unter den Bedingungen der Apache-2.0-Lizenz erteilt. Die vollständige Lizenz finden Sie in der Datei LICENSE.txt.

Dependency-Check verwendet mehrere andere Open-Source-Bibliotheken. Weitere Informationen finden Sie in der Datei NOTICE.txt.

Dieses Produkt verwendet die NVD-API, wird jedoch von der NVD weder unterstützt noch zertifiziert.

Copyright (c) 2012-2025 Jeremy Long. Alle Rechte vorbehalten.

Tool herunterladen