Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
DependencyCheck — OWASP dependency-checkは、アプリケーションの依存関係に存在する公開済みの脆弱性を検出するソフトウェア構成分析ユーティリティです。 | Kitploit
ツール/GitHubGitHub/dependency-check/dependencycheck
脆弱性スキャナー脆弱性分析DevSecOpsサプライチェーンセキュリティ
GitHubdependency-check/dependencycheck

DependencyCheck

OWASP dependency-checkは、アプリケーションの依存関係に存在する公開済みの脆弱性を検出するソフトウェア構成分析ユーティリティです。

リポジトリを見る
7.7k1.4k2日前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 は、プロジェクトの依存関係に含まれる公開済みの脆弱性を検出するソフトウェア構成分析(SCA)ツールです。これは、特定の依存関係に Common Platform Enumeration (CPE) 識別子が存在するかどうかを判定することで実現されます。見つかった場合、関連する CVE エントリにリンクするレポートを生成します。

ドキュメントと本番用バイナリリリースへのリンクは、github pages にあります。さらに、アーキテクチャの詳細や dependency-check を拡張する方法については wiki を参照してください。

注意

この製品は NVD API を使用していますが、NVD の推奨または認定を受けたものではありません。

12.1.0+ への必須アップグレード

NVD API の互換性の変更により、アップグレードが必須です。詳細は #7463 を参照してください。

11.0.0 における破壊的変更

  • dependency-check 11.0.0 以降を実行するには Java 11 が必要になりました

  • H2 データベースのアップグレード

    11.0.0 には、ローカル H2 データベースに関する破壊的変更が含まれています。NVD データの完全なダウンロードが行われます。共有データディレクトリを使用している場合、h2 データベースファイルは古いバージョンの dependency-check と互換性がないことに注意してください。問題が発生した場合は、パージを実行する必要があるかもしれません:

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

その他のお知らせ

NVD API キーを強く推奨

Dependency-check は、9.0.0+(2024年1月)より、NVD データフィードの代わりに NVD API を使用するようになりました。 dependency-check のユーザーには、NVD API キーの取得を強くお勧めします。https://nvd.nist.gov/developers/request-an-api-key を参照してください。 NVD API キーがない場合、dependency-check の更新は非常に遅くなります。 NVD API キーの設定方法については、cli、maven、gradle、ant 統合のドキュメントを参照してください。

NVD API キー、CI、およびレート制限

NVD API にはレート制限が適用されています。単一の API キーを使用していて複数のビルドが発生する場合、レート制限に達して 403 エラーが発生する可能性があります。CI 環境ではキャッシュ戦略を使用する必要があります。

Sonatype OSS Index の必須認証と Sonatype Guide への移行

2025年9月に Sonatype OSS Index は認証用の API トークンの使用を強制し始めました。2026年4月には引き続き Sonatype Guide への移行が始まり、2026年末までにレガシーな OSS Index API キー/トークンを置き換える予定の Sonatype Guide API トークンの使用への移行が開始されました。

認証情報がない場合、Dependency Check は OSS Index アナライザーを自動的に無効化します。Sonatype Guide トークンまたはレガシーな OSS Index API キーを使用するためのアナライザー認証情報の設定方法については、CLI、Maven、Gradle、または Ant 統合のドキュメントを参照してください。

Sonatype OSS Index(Guide 経由)を使用する場合は、Dependency-Check を設定し、商業/利用モデルが変更された Sonatype Guide への移行への影響を考慮する必要があります。詳細については アナライザーのドキュメント を参照してください。

Gradle ビルド環境

9.0.0+ では、依存関係の解決により NoSuchMethodError 例外の問題が発生する可能性があります。この問題が発生した場合は、dependency-check の推移的依存関係の一部を特定のバージョンに固定する必要があります。例:

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

要件

Java バージョン

最低 Java バージョン: Java 11

インターネットアクセス

OWASP dependency-check は、外部でホストされているいくつかのリソースへのアクセスを必要とします。詳細については 必要なインターネットアクセス を参照してください。

ビルドツール

一部のテクノロジースタックを分析するために、dependency-check は他の開発ツールのインストールを必要とする場合があります。下記の分析の一部は実験的なものであり、実験的アナライザーを有効にする必要がある場合があります。

  1. .NET アセンブリを分析するには、dotnet 8 ランタイムまたは SDK をインストールする必要があります。
    • 他のランタイムを対象とするアセンブリも分析できますが、分析を実行するには 8 が必要です。
  2. GoLang プロジェクトを分析する場合は go をインストールする必要があります。
  3. Elixir プロジェクトの分析には mix_audit が必要です。
  4. npm、pnpm、yarn プロジェクトの分析には、npm、pnpm、または yarn をインストールする必要があります。
    • 実行される分析は、それぞれの audit 機能を利用します。
  5. Ruby の分析は bundle-audit のラッパーであり、bundle-audit をインストールする必要があります。

現在のリリース

Jenkins プラグイン

Jenkins プラグインの使用方法については、OWASP Dependency-Check プラグインページ を参照してください。

コマンドライン

より詳細な手順は dependency-check github pages にあります。最新の CLI は github の リリースセクション からダウンロードできます。

最新リリースのダウンロード:

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

*nix の場合

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

Windows の場合

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

Mac で Homebrew を使用する場合 注 - 5.x から 6.0.0 にアップグレードする homebrew ユーザーは 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]

Maven プラグイン

より詳細な手順は dependency-check-maven github pages にあります。デフォルトでは、プラグインは verify フェーズ(すなわち mvn verify)に結び付けられています。あるいは、mvn org.owasp:dependency-check-maven:check でプラグインを直接呼び出すこともできます。

dependency-check プラグインは次のように設定できます:

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 プラグイン

Gradle プラグインの使用方法については、dependency-check-gradle github page を参照してください。

Ant タスク

Ant タスクの使用方法については、dependency-check-ant github page を参照してください。

開発の前提条件

インストールを成功させるには、以下のコンポーネントがインストールされている必要があります:

  • Java: java -version 25.0
  • Maven: mvn -version 3.6.3 以上

テストケースには以下が必要です:

  • dotnet core バージョン 8.0
  • Go: go version 1.12 以上
  • Ruby bundler-audit
  • Yarn
  • pnpm

開発での使用方法

以下の手順は、現在のスナップショットをコンパイルして使用する方法を説明しています。安定したスナップショットを維持することを意図していますが、上記のリリースバージョンを使用することをお勧めします。

リポジトリにはテストリソースのため大きいファイルがいくつかあります。チームは履歴を可能な限り整理しようとしました。ただし、時間を節約するためにシャロークローンを実行することをお勧めします:

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

*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

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

その後、生成された 'dependency-check-report.html' をお好みのブラウザで開いてください。

テストを実行せずにビルドする

ターンアラウンドサイクルを短縮するために、毎回テストを実行せずにコンパイルすることもできます:
mvn -s settings.xml install -DskipTests=true

PR を開く前に、少なくとも一度はテストを実行することを忘れないでください。:)

IntelliJ Idea

IntelliJ Idea でテストをデバッグできるようにするには、テストを実行してブレークポイントなどによるデバッグを有効にする Maven 設定を導入できます。
基本的には、https://www.jetbrains.com/help/idea/work-with-tests-in-maven.html#run_single_test に記載されている手順を行い、forkCount を 0 に設定します。そうしないとデバッグは機能しません。

手順:

  • Run -> Edit Configurations
  • + (Add new configuration) -> Maven
  • 設定に名前を付けます(例: Run tests)
  • 作業ディレクトリを選択します(例: core)
  • command line に -DforkCount=0 -f pom.xml -s ../settings.xml test と入力します
  • OK を押します
  • Run -> Debug を選択し、新しく作成した実行構成を選択します

IntelliJ はデバッグを有効にして core サブプロジェクトのテスト実行を実行します。コード内のどこに設定したブレークポイントでも機能するはずです。

1つの関数または1つのクラスのみをテストする

ターンアラウンドサイクルを短縮したい場合は、1つの関数または1つのテストクラスのみをテストすることもできます。これは、実行構成に -Dtest=MyTestClass または -Dtest=MyTestClass#myTestFunction を追加することで機能します。実行構成の完全なコマンドラインは次のようになります:

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

Docker

以下の例では、チェック対象のソースが現在の作業ディレクトリにあり、レポートが $(pwd)/odc-reports に書き込まれることを想定しています。永続的なデータディレクトリとキャッシュディレクトリが使用されるため、実行後にコンテナを破棄できます。

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"

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"

ソースからのビルド

dependency-check をビルドするには(Java 11 を使用)、次のコマンドを実行します:

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

dependency-check に対する dependency-check の実行

Dependency-check は、テストリソースとしてのみ使用されるいくつかの脆弱な依存関係を参照しています。これらのオプションのテスト依存関係はすべて test-dependencies プロファイルに含まれています。dependency-check をそれ自身に対して実行するには、test-dependencies プロファイルを除外するだけです:

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

ドキュメントのビルド

github pages のドキュメントはこのリポジトリから生成されます:

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

完了したら、ブラウザで ./target/staging/index.html を開いてください。

Docker イメージのビルド

dependency-check の Docker イメージをビルドするには、次のコマンドを実行します:

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

ライセンス

修正および再配布の許可は、Apache 2.0 ライセンスの条件に基づいて付与されます。完全なライセンスについては LICENSE.txt ファイルを参照してください。

Dependency-Check は他のいくつかのオープンソースライブラリを利用しています。詳細については NOTICE.txt ファイルを参照してください。

この製品は NVD API を使用していますが、NVD の推奨または認定を受けたものではありません。

Copyright (c) 2012-2025 Jeremy Long. All Rights Reserved.

ツールをダウンロード