Jenkins dependency-check-plugin无法解析OWASP dependency-check 10.x XML输出求可靠方案
Jenkins dependency-check-plugin无法解析OWASP dependency-check 10.x XML报告的解决办法
问题简述
NVD引入CVSS v4.0后,使用OWASP dependency-check 10.0.1或10.0.2生成的XML报告,在Jenkins中通过dependency-check-plugin解析时会触发以下报错:
[Pipeline] dependencyCheckPublisher [DependencyCheck] Collecting Dependency-Check artifact [DependencyCheck] Parsing file <report_file>.xml [DependencyCheck] Unable to parse <report_file>.xml [DependencyCheck] Unsupported Dependency-Check schema version detected
你尝试用v10.0.1下载数据库、再用v9.2.0生成报告的方法能在Jenkins正常显示结果,但不确定该方案的可靠性,以下是具体解决思路和验证方法:
最优解决方案:升级Jenkins dependency-check-plugin
这是最彻底的解决方式。OWASP dependency-check 10.x版本的XML报告新增了CVSS v4.0相关的Schema字段,旧版Jenkins插件无法识别这些字段才会报错。直接将dependency-check-plugin升级到最新版本,先查看插件更新日志确认是否明确标注支持dependency-check 10.x的Schema——只要插件完成适配,就能直接解析10.x生成的报告,无需折腾跨版本操作。
跨版本方案的可靠性验证
如果暂时无法升级插件,你提到的“高版本下载数据库+低版本生成报告”的临时方案,可从以下三点验证可靠性:
- 数据库兼容性:OWASP dependency-check 9.x到10.x的数据库格式未发生重大变更,v9.2.0可以正常读取v10.x下载的数据库文件,不会出现解析失败问题
- CVSS v4.0数据丢失风险:v9.2.0不支持CVSS v4.0,生成的报告会丢失所有v4.0相关的评分字段,仅保留v3.x及以下的CVSS数据。如果你的场景不需要依赖v4.0的评分维度,该方案完全可用;若业务必须参考v4.0数据,此方法不适用
- 漏洞覆盖完整性:v10.x下载的数据库包含最新的漏洞数据(包括带CVSS v4.0标注的漏洞),v9.2.0生成报告时会读取漏洞的基础信息(CVE编号、描述、CVSS v3评分等),仅忽略不支持的v4.0字段,不会出现漏检情况,漏洞覆盖是完整的
其他临时替代方案
- 用dependency-check 10.x生成HTML报告,在Jenkins中通过HTML Publisher插件展示。虽然无法使用dependency-check-plugin的漏洞过滤、趋势分析等集成功能,但可以完整查看所有检测结果
- 手动修改10.x生成的XML报告,移除CVSS v4.0相关的字段,让旧版插件能够解析。但该方法需要维护自定义脚本,容易出错,不推荐长期使用
内容的提问来源于stack exchange,提问作者Zabz
相关产品推荐
相关产品推荐

