我今天尝试使用 Maven 发布插件执行我的项目的发布。由于dependency-check-maven插件尝试下载尚未上传的2020版CVD文件而失败:
无法下载元文件:https : //nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2020.meta ; 收到 404 -- 未找到资源
对NVD 数据馈送页面的简要阅读显示该文件尚未上传。

显然我可以等待大约 24 小时,这个问题可能会消失;但是,我仍然想知道如何覆盖此 URL 以在今天发布我的项目。我尝试了一些命令行选项,包括以下方面的变化:
mvn dependency-check:check -DcveUrlBase= https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2019.json.gz
但是,它们仍然会导致错误。我知道我可以跳过此检查,但更愿意在 2020 年之前检查所有文件。
这个问题建议使用nist-data-mirror插件创建一个本地存储库,但与等待 24 小时相比,这似乎有很多开销。
是否有任何命令行或易于恢复的pom.xml编辑可以让我今天发布我的项目?
我尝试在 Jenkins 的每个测试构建作业中使用 dependency-check-maven:
mvn org.owasp:dependency-check-maven:6.2.2:aggregate -DskipSystemScope=true -Dformat=ALL -DprettyPrint=true -DcentralAnalyzerEnabled=false -DassemblyAnalyzerEnabled=false -DyarnAuditAnalyzerEnabled=false -DbundleAuditAnalyzerEnabled=false -DversionCheckEnabled=true
Run Code Online (Sandbox Code Playgroud)
不幸的是,我对一些项目和检查文件的节点审计分析器有问题package-lock.json。
运行 Maven 插件时,日志中出现警告:
[WARNING] An error occurred while analyzing '/var/lib/jenkins/workspace/testbuild/project/module-web/src/main/resources/dev/package-lock.json' (Node Audit Analyzer).
Run Code Online (Sandbox Code Playgroud)
这会导致最终错误:
[ERROR] Failed to execute goal org.owasp:dependency-check-maven:6.2.2:aggregate (default-cli) on project project: One or more exceptions occurred during dependency-check analysis: One or more exceptions occurred during analysis:
[ERROR] AnalysisException: Failed to read results from the NPM Audit API (NodeAuditAnalyzer); the analyzer is being disabled and may result in false negatives.
[ERROR] …Run Code Online (Sandbox Code Playgroud) 我正在尝试将某些已经承认风险的库列入白名单 - 理想情况下我想从内部执行此操作pom.xml,但看来这是不可能的。
我创建了一个带有依赖项 (H2) 的简单项目,该项目具有出色的 CVE,并dependency-check-maven配置了一个suppressions文件以忽略该依赖项,使用从Dependency-Check-Report
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.me</groupId>
<artifactId>test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>6.5.3</version>
<configuration>
<suppressionFile>path\to\owasp-suppressions.xml</suppressionFile>
<failBuildOnCVSS>8</failBuildOnCVSS>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
</dependency>
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)
owasp-suppressions.xml:
<?xml version="1.0" encoding="UTF-8"?>
<suppressions xmlns="https://jeremylong.github.io/DependencyCheck/dependency-suppression.1.3.xsd">
<suppress>
<notes><![CDATA[
file name: h2-1.4.200.jar
]]></notes>
<packageUrl regex="true">^pkg:maven/com\.h2database/h2@.*$</packageUrl>
<cpe>cpe:/a:h2database:h2</cpe>
</suppress>
</suppressions>
Run Code Online (Sandbox Code Playgroud)
但尽管如此,构建仍然失败:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] …Run Code Online (Sandbox Code Playgroud)