dependency-check 3.1.1执行报错:HEAD请求返回非200状态码
解决Dependency-Check 3.1.1的HEAD请求非200错误(数据源地址变更问题)
嘿,你的判断完全准确——Dependency-Check 3.1.1这个旧版本使用的默认数据源地址已经失效了,这就是你不管用命令行还是Maven运行都会碰到[ERROR] IO Exception: HEAD request returned a non-200 status code错误的原因。你提到的PR正是官方用来修复这个地址变更问题的,但这个修复并没有回传到3.1.1版本里,所以得手动调整或者升级版本来解决。
下面分两种场景给你具体的解决办法:
一、Maven插件场景
在你的pom.xml里给Dependency-Check插件添加自定义配置,覆盖默认的失效数据源地址,换成NIST当前在用的新版JSON Feed地址:
<plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>3.1.1</version> <configuration> <!-- 替换为新版NVD数据源地址 --> <cveUrlBase>https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-%d.json.gz</cveUrlBase> <cveUrlModified>https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-modified.json.gz</cveUrlModified> </configuration> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin>
配置完成后,重新运行mvn dependency-check:check就能正常拉取数据源了。
二、命令行场景
运行Dependency-Check命令时,手动指定新版的数据源参数:
# Linux/macOS dependency-check.sh --cveUrlBase https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-%d.json.gz --cveUrlModified https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-modified.json.gz --scan ./your-project-directory # Windows dependency-check.bat --cveUrlBase https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-%d.json.gz --cveUrlModified https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-modified.json.gz --scan ./your-project-directory
额外建议:升级到最新版本
虽然上述配置能临时解决问题,但更稳妥的方案是把Dependency-Check升级到当前的稳定版本(比如6.x或7.x系列)。新版本不仅默认配置了正确的数据源地址,还修复了很多旧版本的bug,同时支持NVD最新的数据源格式,后续使用会更省心。
内容的提问来源于stack exchange,提问作者Aaron Cooley
相关产品推荐
相关产品推荐

