Dependency Check检查代码中是否存在已知的公共安全漏洞。 他检查依赖关系是否存在漏洞的原理也与众所周知的病毒检测软件相同,就是预先定义好目前已知的安全漏洞库,在检查依赖包时,一旦发现这些漏洞就会报告错误,最后定期进行安全检查上一篇文章介绍了Dependcy check的原理和基础用法。 具体参考文章:
代码依赖分组安全漏洞检测神器——Dependency Check
本文重点介绍了依存检查在实战中的使用细节。 主要包括在maven中使用配置和命令行方法的详细信息。
在生成
Maven方式
maven时执行从属检查的jar软件包相关性检查工作。基本构成如下。
如果需要添加参数,则必须将其添加到配置中。 例如,以下配置表示错误级别为CVSS 8或更高时生成失败。
配置
failbuildoncvss8/failbuildoncvss
/configuration
从属管理器的常用配置为以下:
其中,cveUrlModified和cveUrlBase可以指定本地nvd库来提高更新效率;
outputDirectory指定生成发现报告的位置,默认值为html报告;
excludes设置不需要检查的jar包。 在实际工作中,框架版本较低的维护类项目很常见,例如spring 3.x版本。 使用dependency check检查时必须跳过对这些jar包的检查,因为存在许多jar包的安全问题,并且出于某些原因无法升级这些jar包。 在这种情况下,必须使用EER包。注意:此格式是固定的,采用groupid : artifact id :3360版本的格式。 在这里调试需要很多时间)
要了解更多有关dependencycheckmavenconfiguration配置的信息,请参阅:
3359 Jeremy long.github.io/dependency check/dependency-check-maven/configuration.html
有关使用
命令行方式
dependency-check命令行参数的详细信息,请参阅以下命令从属检查. bat--高级帮助
以下是一些需要特别注意的地方
参数--format用于指定输出报告的格式,默认值为html
如果设置为--format ALL,则会分别生成HTML、XML、CSV和JSON格式的检查报告。 如果需要生成多种格式的测试报告,可以执行以下操作:
---格式html----格式CSV
名为dependency-check-report.csv和dependency-check-report.html的测试报告仅以html和csv格式生成
out报告路径,指定生成报告的路径
- -不检测--exclude A.jar、A.jar。 如果未检测到多个jar包,则必须按如下方式设置:
- excludea.jar---- excludeb.jar---- excludec.jar…格式很麻烦。
--scan ./通过扫描当前目录,可以直接扫描maven项目中的项目。