运行OWASP Dependency-Check Maven插件时遭遇日期解析错误
解决OWASP Dependency-Check Maven插件因CISA JSON日期格式错误导致的构建失败
问题背景
运行org.owasp:dependency-check-maven(版本8.2.1/9.0.0)时,因CISA已知被利用漏洞JSON文件中dateReleased字段格式错误(值为"2023-12-01T15:09:26..642Z",多了一个点),Jackson无法反序列化日期,导致构建失败。
临时绕过方案
1. 禁用CISA漏洞数据源
直接跳过CISA数据源的拉取和解析,是最快捷的临时解决办法:
- 在pom.xml中配置插件:
<plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>9.0.0</version> <configuration> <!-- 跳过CISA漏洞数据的处理 --> <skipCisa>true</skipCisa> </configuration> </plugin>
- 或者使用命令行参数临时生效:
mvn dependency-check:check -DskipCisa=true
2. 手动修复本地缓存的JSON文件
找到插件的本地缓存目录(不同系统路径不同):
- Linux/macOS:
~/.m2/repository/org/owasp/dependency-check-data/ - Windows:
C:\Users\<你的用户名>\.m2\repository\org\owasp\dependency-check-data\
在缓存目录中找到对应的CISA JSON文件,将错误的日期字符串"2023-12-01T15:09:26..642Z"修改为正确格式"2023-12-01T15:09:26.642Z",保存后重新运行构建。
⚠️ 注意:该方法是临时的,下次插件自动更新缓存数据时,错误文件可能会被重新下载覆盖。
长期解决方案
如果需要保留CISA漏洞数据的检测,只能等待CISA修复该JSON文件的格式错误,或者关注OWASP Dependency-Check插件的后续版本,看是否会增加日期解析的容错机制来兼容这类格式错误。
内容的提问来源于stack exchange,提问作者ahmed
相关产品推荐
相关产品推荐

