使用DependencyCheck工具检测JAR依赖包的安全漏洞
创作时间:
作者:
@小白创作中心
使用DependencyCheck工具检测JAR依赖包的安全漏洞
引用
CSDN
1.
https://blog.csdn.net/kennylee26/article/details/138440301
DependencyCheck是一个开源工具,用于检测软件项目中使用的第三方库和组件是否存在已知的安全漏洞。它可以帮助开发团队及时发现和解决项目中的潜在安全风险,从而提高软件的安全性。本文将详细介绍DependencyCheck工具的使用方法,包括通过命令行和Maven插件进行漏洞检测。
DependencyCheck项目
- GitHub项目地址:https://github.com/jeremylong/DependencyCheck
- 文档地址:https://jeremylong.github.io/DependencyCheck/
使用方法
注意网络因素
由于漏洞数据库和一些依赖文件需要从国外网站下载,因此在使用时需要注意网络环境。
通过命令行使用
MacOS
安装命令
通过Homebrew安装:
$ brew install dependency-check执行命令
// 扫描本地的foo-0.0.1-SNAPSHOT.jar文件,报告文件输出到Desktop目录 $ dependency-check --out ~/Desktop/ --scan ./foo-0.0.1-SNAPSHOT.jar可以直接扫描项目中的所有JAR目录(libs),或者生成JAR文件(Spring Boot)后进行扫描。
漏洞数据库
DependencyCheck漏洞检测依赖一些数据库文件,如NVD漏洞数据库。首次使用时,需要花费较长时间下载这些数据库文件(视网络条件等因素)。界面参考如下:
其次是RetireJS。如果下载报错,例如遇到以下错误:
Caused by: org.owasp.dependencycheck.utils.DownloadFailedException: Download failed, unable to copy 'https://raw.githubusercontent.com/Retirejs/retire.js/master/repository/jsrepository.json' to '/opt/homebrew/Cellar/dependency-check/9.1.0/libexec/data/jsrepository.json'; Error downloading file https://raw.githubusercontent.com/Retirejs/retire.js/master/repository/jsrepository.json; unable to connect. at org.owasp.dependencycheck.utils.Downloader.fetchFile(Downloader.java:152) at org.owasp.dependencycheck.utils.Downloader.fetchFile(Downloader.java:100) at org.owasp.dependencycheck.data.update.RetireJSDataSource.initializeRetireJsRepo(RetireJSDataSource.java:150) ... 7 common frames omitted可以手动下载
jsrepository.json文件,然后将其拷贝到本地目录/opt/homebrew/Cellar/dependency-check/9.1.0/libexec/data/jsrepository.json(根据实际本地提示进行操作)。
其他操作系统
到下载页面https://github.com/jeremylong/DependencyCheck/releases/下载最新版本,如`dependency-check-9.1.0-release.zip`。
解压压缩包。
找到工具目录,如:
bin目录为命令行工具目录。Windows系统:
> .\bin\dependency-check.bat -h > .\bin\dependency-check.bat --out . --scan [path to jar files to be scanned]Unix Like系统:
$ ./bin/dependency-check.sh -h $ ./bin/dependency-check.sh --out . --scan [path to jar files to be scanned]
- 工具依赖和漏洞数据库文件的处理方式与MacOS类似。
通过Maven插件使用
在pom.xml文件中加入DependencyCheck插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- dependency-check插件 -->
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>9.1.0</version>
<configuration>
<skipProvidedScope>true</skipProvidedScope>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
通过上述配置,可以在构建过程中自动进行依赖项安全检查。
热门推荐
国庆邂逅非遗:品味传统文化的魅力
苏州必打卡网红美食:哑巴生煎、朱鸿兴面馆、得月楼
轻型坦克缘何热度再起
苏州必打卡!平江路、金鸡湖、苏博全攻略
惠州美食攻略:必尝经典与地道小吃推荐
春节晚会筹备秘籍大揭秘!
2024春晚传统文化大赏:《唯我青白》等节目展现东方美学新魅力
春节晚会策划秘籍大揭秘!
重大突破!大脑结构或影响个体患抑郁症风险
抑郁症发作怎么安慰文案
飞机行李箱规定及超重收费完全解析
超过20kg托运如何收费?一篇看懂,不再为超重行李发愁!
同样是春节,为啥公历日期总是不一样?
雪绒花,匈牙利的国花(探寻雪绒花在匈牙利的地位和文化背景)
梅花的寓意与花语:坚强、纯洁与希望
国医大师李济仁的五脏养生法
出行行李箱选择指南!
揭秘实时变声器:声音魔术背后的科技
冬游西安:探访杨虎城将军故居——止园别墅
西安皮影戏表演:打卡必去的网红景点!
五香珍珠丸子制作教程:从选料到成品的完整步骤
情绪劳动——帮助员工展现积极的面孔
晋作家具:传统设计美学的新潮流
晋作家具:古代豪宅里的匠心之作
探访襄汾晋作家具专业镇:匠心传承与经济腾飞
第六届文博会:晋作家具大放异彩
亮闪闪头饰戴法大揭秘:你get了吗?
职场中的情绪劳动:如何有效管理与应对
C视觉·记录我的城㊷丨德阳罗江:翰林遗风润桑梓 蜀道门厅开新篇
通过感恩治愈思想、身体和灵魂