DependencyCheck的实际应用,检查代码中是否存在已知的、公开披露的安全漏洞。检查依赖项是否存在漏洞的原理和我们熟悉的杀毒软件是一样的。当前已知的安全漏洞库是预定义的。在检查依赖包的时候,如果发现这些漏洞,就会报错,最后定期更新安全漏洞库。就是这样!我在上一篇文章中介绍了Dependcycheck的原理和基本用法。详细可以参考文章:代码依赖包安全漏洞检测神器——依赖检查,本文将重点介绍依赖检查在实战中的使用。细节主要包括maven中的使用配置和命令行的使用细节。Maven模式下,maven构建时,会执行依赖检查jar包依赖检测。基本配置如下:如果需要添加参数,需要在.例如下面的配置表示如果错误级别在CVSS8以上就会构建失败。8依赖maven中常用的配置如下:其中cveUrlModified和cveUrlBase可以指定本地nvd库,提高更新效率;outputDirectory指定生成检测报告的位置,默认是html报告;excludes设置不需要检测的jar包。在实际的项目工作中,经常会出现一些维护项目使用了非常低版本的框架。比如spring3.x版本会有很多jar包安全问题。由于某些原因,这些jar包无法升级,所以在使用依赖检查检测时需要跳过对这些jar包的检测。在这种情况下,您需要使用excludes参数。注意:这个格式是固定的,形式为groupId:artifactId::version(我这里debug了很多时间)。如果想参考更多依赖检查maven配置的配置,请参考:https://jeremylong.github.io/DependencyCheck/dependency-check-maven/configuration.html命令行方式关于命令行的具体使用dependency-check的参数,可以通过如下命令dependency-check.bat--advancedHelp查看详细信息,这里我会为你介绍一些需要特别注意的参数--format指定输出报告的格式。默认为html。如果设置--formatALL,将分别生成HTML、XML、CSV、JSON格式的检测报告。如果需要生成多种格式的测试报告,可以进行如下设置:--formatHTML--formatCSV只会生成html和csv格式的测试报告,命名为dependency-check-report.csv和dependency-check-report。html--outreportpath,会指定生成报告的路径--excludeA.jar,不检测A.jar,如果不检测多个jar包,需要设置如下:--excludeA.jar--excludeB.jar--excludeC.jar...形式比较麻烦。--scan./扫描当前目录,可以直接扫描maven项目的items。