Dependency Check来检查代码中是否存在任何已知的,公开披露的安全漏洞。他检查依赖项中是否存在漏洞的原理也跟我们熟知的病毒查杀软件一样,预先定义好目前已知的安全漏洞库,检查依赖包时,发现这些漏洞就会报错,最后定期更新安全漏洞库即可!关于Dependcy check 的原理和基础使用方式我在前面的文章中已经介绍了,具体参考文章:

代码依赖包安全漏洞检测神器 —— Dependency Check

本文我会重点介绍一下dependency check的实战使用细节,主要包括在maven中的使用配置和命令行方式的使用细节。

Maven方式

在maven构建时,执行dependency check的jar包依赖检测工作。

基础配置如下:

如果需要添加参数,需要在<configuration> 中添加,例如下面配置表示错误级别在CVSS 8以上将会构建失败。

dependency maven中常用的配置如下所示:

其中cveUrlModified 和cveUrlBase可以指定本地的nvd库来提高更新效率;

outputDirectory 指定了检测报告的生成位置,默认是html报告;

excludes 设置不需要检测的jar包,在实际项工作中,经常有一些维护类的项目,使用的框架版本很低,例如spring 3.x版本,会有很多的jar包安全问题,基于某些原因这些jar包不能升级,因此使用dependency check检测时需要跳过对这些jar包的检测,这时就需要使用excludes参数了。注意:这个格式是固定的,采用groupId:artifactId::version的形式(此处花费我很多时间调试)

如果想参考更多关于dependency check maven configuration的配置请参考:

https://jeremylong.github.io/DependencyCheck/dependency-check-maven/configuration.html

命令行方式

关于dependency-check的命令行参数的具体使用大家可以通过下面命令查看详情

dependency-check.bat --advancedHelp

在这里我给大家介绍几点需要特别注意的地方

参数--format 用来指定输出报告的格式,默认是html

如果设置--format ALL,将会分别生成HTML, XML, CSV, JSON形式的检测报告。如果需要生成多种格式的测试报告可以进行如下设置:

--format HTML --format CSV

会只生成html 和csv两种格式的测试报告,命名为dependency-check-report.csv和dependency-check-report.html

--out 报告路径,会指定生成报告的路径

--exclude A.jar,不检测A.jar,如果不检测多个jar包,则需要设置如下:

--exclude A.jar --exclude B.jar --exclude C.jar…形式比较麻烦。

--scan ./ 对当前目录进行扫描,可以直接扫描maven工程的项目。

Dependency Check的实战应用相关推荐

  1. Dependency check配置Mysql数据库存储nvd数据

    使用过Dependency check的同学,一定会遇到这个痛点-- 每次执行依赖扫描时,由于网络问题会导致NVD下载种子数据的过程中的种种失败,不仅浪费了大量时间,还会因为下载文件的不完整性直接导致 ...

  2. 如何使用OWASP Dependency Check的命令行(CLI)模式进行依赖库安全漏洞扫描

    OWASP Dependency Check是一款用于识别项目的依赖项是否有已知漏洞的工具,本文介绍一下如何使用Dependency Check工具的命令行模式进行依赖库漏洞扫描. [下载地址]:安装 ...

  3. Java项目代码依赖包安全漏洞检测插件Dependency Check

    最近在搞Java的后端项目,需要更新jar依赖包,找到了一个jar包漏洞检测的插件Dependency Check. Dependency-Check是OWASP(Open WebApplicatio ...

  4. Centos6.6下编译安装Apache2.2.31

    安装环境: [root@apache ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@apache ~]# uname -r ...

  5. 你还在费力的从零搭建项目吗?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者 | 无知者云 链接 | https://www.cnblog ...

  6. 你还在从零搭建项目 ?

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 作者 | 无知者云 链接 | https://www.cnblogs.com/davenkin ...

  7. spring beans源码解读之--Bean的定义及包装

    bean的定义,包装是java bean的基础.再怎么强调它的重要性都不为过,因此深入 了解这块的代码对以后的代码研究可以起到事半功倍的功效. 1. Bean的定义BeanDefinition 1.1 ...

  8. spring beans源码解读之--BeanFactory进化史

    BeanFactory是访问bean容器的根接口,它是一个bean容器的基本客户端视图. 先让我们看看beanfactory的前生后世吧! beanFactory有四个重要的子接口: SimpleJn ...

  9. CoordinatorLayout与滚动的处理

    本博文专门讲解和CoordinatorLayout相关的知识点,这也是Design Support Library中最重要与最难的部分. 概览 CoordinatorLayout实现了多种Materi ...

最新文章

  1. 一文详解鱼眼相机的车位线感知
  2. Leetcode: Intersection of Two Arrays
  3. 【WebGL】WebGL入门
  4. 【剑指offer - C++/Java】11、二进制中1的个数
  5. 读取html文件,让其中的内容和notepad打开这个html的样子一样。
  6. 概率论(基本概念术语)的理解
  7. sqlserver openrowset mysql_sqlserver连接mysql
  8. C语言:ASCII码对照表
  9. PopClip翻译插件开发记录-microsoft_translate.popclipext
  10. 二级计算机题世界动物日,计算机二级考试真题-PPT-张宇-世界动物日介绍
  11. 财富杂志推荐的75本必读书
  12. 怎么读取cf卡id_simotion读写CF卡,保存/读取变量
  13. 云服务器被攻击了怎么解决
  14. NFT 推荐|Funguys 王国作品集第一弹
  15. *p++,*(p++),*++p,(*p)++区别?
  16. 快速数论变换与多项式常用运算
  17. 赵神牛的游戏(过程分析与结果分析)
  18. 常用的14个获取数据的网站。
  19. 最全Airtest接口功能介绍和示例总结,新手同学千万不能错过呀!(一)
  20. 2014Android Demo源码 文件夹 PATH 列表

热门文章

  1. 两个自变量和一个因变量spss_SPSS学习笔记:因变量二分类资料的logistic回归分析...
  2. 基于Oracle的SQL优化(崔华著)-学习笔记
  3. esseract-ocr很不错的orc识别系统
  4. 帮我用matlab写一段copula函数预测
  5. 罗胖发明的这个概念,可以解释整个互联网的下半场了
  6. 使用Python批量查询ip地址的信息
  7. 波士顿动力真的无可企及吗?一步步剖析四足机器人技术(一)
  8. dedecms后台验证码显示不正常的四种处理办法
  9. 静电等级管理中的HBM CDM MM
  10. 【编程实践】用 go 语言实现一个SQL DSL