Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
DependencyCheck — OWASP dependency-check 是一款软件成分分析工具,用于检测应用程序依赖项中已公开披露的漏洞。 | Kitploit
工具/GitHubGitHub/dependency-check/dependencycheck
漏洞扫描器漏洞分析DevSecOps供应链安全DevSecOps 分类第 9 名供应链安全 分类第 11 名
GitHubdependency-check/dependencycheck

DependencyCheck

OWASP dependency-check 是一款软件成分分析工具,用于检测应用程序依赖项中已公开披露的漏洞。

查看仓库
7.7k1.4k5319小时53分前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)工具,旨在检测项目中依赖项所包含的已公开披露的漏洞。它通过确定给定依赖项是否存在通用平台枚举(CPE)标识符来实现此目的。如果找到,它将生成一份报告并链接到相关的 CVE 条目。

文档和生产版本二进制文件的链接可在 GitHub 页面 上找到。此外,有关架构和扩展 dependency-check 方法的更多信息可在 [Wiki] 中找到。

注意事项

本产品使用 NVD API,但未获得 NVD 的认可或认证。

必须升级至 12.1.0+

由于 NVD API 兼容性变更,必须进行升级。有关更多信息,请参阅 #7463。

11.0.0 中的重大变更

  • 运行 11.0.0 或更高版本的 dependency-check 现在需要 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 密钥

自 9.0.0+(2024年1月)起,dependency-check 已从使用 NVD 数据源切换为 NVD API。 强烈建议 dependency-check 用户获取 NVD API 密钥;请参阅 https://nvd.nist.gov/developers/request-an-api-key 如果没有 NVD API 密钥,dependency-check 的更新将会极其缓慢。 请参阅 CLI、Maven、Gradle 或 Ant 集成的文档,了解如何设置 NVD API 密钥。

NVD API 密钥、CI 与速率限制

NVD API 实施了严格的速率限制。如果您使用单个 API 密钥且发生多次构建,可能会触发速率限制并收到 403 错误。在 CI 环境中,必须使用缓存策略。

Sonatype OSS Index 强制身份验证及迁移至 Sonatype Guide

2025年9月,Sonatype OSS Index 开始强制使用 API 令牌进行身份验证。2026年4月,随后开始了向 Sonatype Guide 的迁移,标志着过渡到使用 Sonatype Guide API 令牌,这些令牌计划于 2026 年底前取代传统的 OSS Index API 密钥/令牌。

如果没有凭据,Dependency Check 将自动禁用 OSS Index 分析器。请参阅 CLI、Maven、Gradle 或 Ant 集成的文档,了解如何设置分析器凭据以使用 Sonatype Guide 令牌或传统 OSS Index API 密钥。

如果您希望使用 Sonatype OSS Index(通过 Guide),则必须配置 Dependency-Check 并考虑迁移至 Sonatype Guide 的影响;其商业/使用模式已发生变化。有关更多信息,请参阅 分析器文档。

Gradle 构建环境

在 9.0.0+ 中,由于依赖解析问题,用户可能会遇到 NoSuchMethodError 异常。如果遇到此问题,您需要将 dependency-check 的一些传递依赖项固定到特定版本。例如:

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

要求

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 的封装,必须安装该工具。

当前发布版本

Jenkins 插件

关于 Jenkins 插件的使用说明,请参阅 OWASP Dependency-Check 插件页面。

命令行

更详细的说明可在 dependency-check GitHub 页面 上找到。 最新的 CLI 可从 GitHub 的 发布页面 下载。

下载最新版本:

$ 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 系统上

$ ./bin/dependency-check.sh -h
$ ./bin/dependency-check.sh --out . --scan [path to jar files to be scanned]

在 Windows 上

> .\bin\dependency-check.bat -h
> .\bin\dependency-check.bat --out . --scan [path to jar files to be scanned]

在配备 Homebrew 的 Mac 上 注意 - 从 5.x 升级到 6.0.0 的 Homebrew 用户需要运行 dependency-check.sh --purge。

$ 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 页面 上找到。 默认情况下,该插件绑定到 verify 阶段(即 mvn verify)。或者,可以通过 mvn org.owasp:dependency-check-maven:check 直接调用插件。

可以使用以下方式配置 dependency-check 插件:

<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 页面。

Ant 任务

关于 Ant 任务的使用说明,请参阅 dependency-check-ant GitHub 页面。

开发前置条件

要使安装通过,您必须安装以下组件:

  • 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

开发使用

以下说明概述了如何编译和使用当前的快照版本。尽管我们致力于维护稳定的快照,但仍建议使用上述发布的版本。

由于测试资源的原因,该仓库包含一些大文件。团队已尽力清理历史记录。但是,建议您执行浅克隆以节省时间:

git clone --depth 1 https://github.com/dependency-check/DependencyCheck

在 *nix 系统上

$ 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 上

> 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,否则调试将无法工作。

下载工具