Bootstrap

Java依赖包漏洞检测命令

1、漏洞扫描工具

  • maven插件方式:Dependency-Check

2、命令

检查单个 Maven 工程的安全漏洞

mvn dependency-check:check

这个命令会在 target 目录下生成一个 dependency-check-report.html 文件,其中包含了依赖项的安全漏洞分析报告。

检查多个 Maven 子工程并汇总一个报告

mvn dependency-check:aggregate

这个命令会分析当前项目及其子项目,并生成一个汇总的报告。

更新本地漏洞数据库

mvn dependency-check:update-only

这个命令只会更新本地的漏洞数据库,而不会分析项目的依赖项。

清除本地漏洞数据副本

mvn dependency-check:purge

这个命令用于清除本地的漏洞数据副本。

3、快速生成报告

跳过数据库更新

在执行 mvn dependency-check:check 命令时,可以通过添加 -DskipAssembly=true 参数来跳过自动更新 CVE 数据库的步骤,这样可以加快扫描速度。完整的命令如下:

mvn dependency-check:check -DskipAssembly=true

这个参数会告诉 Maven 跳过依赖检查插件的默认行为,即自动下载最新的 CVE 数据库,从而加快扫描过程。

使用已有的 CVE 数据库

如果你已经下载了 CVE 数据库并且不想每次都更新,可以通过配置 dataDirectory 来指定一个本地的 CVE 数据库路径。这样,Dependency-Check 将使用本地数据库而不是每次都从网上下载最新的数据。配置示例如下:

<plugin>
    <groupId>org.owasp</groupId>
    <artifactId>dependency-check-maven</artifactId>
    <version>你的插件版本</version>
    <configuration>
        <dataDirectory>你的CVE数据库路径</dataDirectory>
        <autoUpdate>false</autoUpdate>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>
</plugin>

        这样配置后,Dependency-Check 将使用指定路径下的 CVE 数据库进行扫描,而不会每次都更新。

        通过上述步骤,你可以在修复漏洞后快速进行依赖项的安全检查,并生成新的报告,而不需要等待 CVE 数据库的下载和更新。这样可以显著提高扫描的效率。

;