OWASP Dependency Check抑制规则使用及报告查找问题咨询
问题1:OWASP Dependency Check HTML报告在Circle CI中的存放位置
- 不同集成方式的默认报告输出路径不同:
- Gradle插件:默认输出路径为
build/reports/dependency-check-report.html - Maven插件:默认输出路径为
target/dependency-check-report.html - CLI命令执行:默认输出路径为当前执行目录下的
dependency-check-report.html
- Gradle插件:默认输出路径为
- Circle CI默认不会自动上传所有构建产物,你需要在
.circleci/config.yml中添加store_artifacts配置,把对应路径的HTML报告上传为构建产物,之后就能在构建任务的「Artifacts」标签页找到入口,示例配置如下:
steps: # 其余原有构建步骤 - store_artifacts: path: build/reports/dependency-check-report.html # 替换为你实际的报告路径 destination: owasp-dependency-check-report.html
问题2:抑制规则中匹配SHA1的"any file"含义
此处指代的不是所有使用该依赖的Java类,而是依赖包本身的二进制归档文件,也就是你项目中引入的jar、war等类型的依赖包文件:
- 规则中的SHA1值是对应依赖包(比如示例里的some.jar)的SHA1哈希值,只要项目依赖中存在和这个SHA1完全匹配的依赖包文件,该规则就会生效,抑制这个包匹配到的指定CPE/CVE告警。
- 如果需要更通用的抑制规则,也可以去掉
<sha1>标签,换成按包名、CVE编号匹配的规则,针对你遇到的Netty CVE的抑制规则可以参考如下写法(确认是误报的前提下使用):
<?xml version="1.0" encoding="UTF-8"?> <suppressions xmlns="https://jeremylong.github.io/DependencyCheck/dependency-suppression.1.3.xsd"> <suppress> <notes><![CDATA[ 抑制Netty 4.1.66.Final的CVE-2021-37136误报 ]]></notes> <packageUrl regex="true">^pkg:maven/io\.netty/netty-codec@4\.1\.66\.Final$</packageUrl> <cve>CVE-2021-37136</cve> </suppress> </suppressions>
内容的提问来源于stack exchange,提问作者Johnny Alpha
相关产品推荐
相关产品推荐

