前言
随机选取测试包下的jar包,使用两个工具同时对该jar包进行扫描,以Maven仓库 记录的信息为准来比对来比对两个工具扫描的准确性。
由于采样较小或者作为标准的maven中记录的信息不准确的等因素暂不考虑,本文档
主要记录工具对比的方式和思路,供大家参考。
对比工具
Snyk
- 地址:https://snyk.io/
- 需要使用token授权,单个账号每月扫描次数受限制
Dependency-check
- 地址:https://owasp.org/www-project-dependency-check/
- 开源插件, 在有限制的范围内使用次数无限制
对比方式
- 针对 项目中 accessors-smart-1.2.jar 分别使用以上两种工具分别扫描该jar包,比对扫描结果
- 针对该jar包的版本,查看mave仓库官方文档给出的漏洞详情,比对结果是否正确
对比步骤
下载测试包
- 如下图所示:
解压缩测试包
- 在本地任选一个目录,解压缩步骤1下载的安装包,
- 进入/server/jars/
- 检查该目录下是否包含accessors-smart-1.2.jar , 也可随机选取其他jar
> tar -xzvf Kyligence-Enterprise-4.5.7.3091-GA.tar.gz # 解压缩KE安装包
> cd Kyligence-Enterprise-4.5.7.3091-GA/server/jars/ # 进入KE 代码依赖的jar目录
> ls *accessors-smart-1.2.jar* # 检查是否包含指定jar, 结果:包含
使用snyk扫描
- 扫描环境安装:https://blog.csdn.net/weixin_42176112/article/details/116654787
- 在jar包所在的目录,执行如下命令:
snyk test --file=accessors-smart-1.2.jar >> ../../4x_snyk_test_20220126ast12.txt
- snyk扫描结果 :无直接高危漏洞
Testing /Users/xxx.xxx/sykap/Kyligence-Enterprise-4.5.7.3091-GA/server/jars... Organization: xxxxxx211 Package manager: maven Target file: accessors-smart-1.2.jar Project name: jars:accessors-smart-1.2.jar Open source: no Project path: /Users/xxx.xxx/sykap/Kyligence-Enterprise-4.5.7.3091-GA/server/jars Licenses: enabled ✔ Tested 2 dependencies for known issues, no vulnerable paths found. Next steps: - Run `snyk monitor` to be notified about new related vulnerabilities. - Run `snyk test` as part of your CI/test.
- 使用denpendence-check 扫描
-
扫描环境搭建:https://blog.csdn.net/weixin_42176112/article/details/122953855
-
在jar包所在的目录,执行如下命令:
> dependency-check -n -o ../ --format HTML --scan ./accessors-smart-1.2.jar
-
dependence-check 扫描结果:发现高危漏洞 :CVE-2021-27568
核对结果
- 在信息安全漏洞门户网站,查找dependency-check扫描发现的漏洞: CVE-2021-27568
- 获取漏洞名称
- 在Maven仓库 查找 accessors-smart-1.2.jar
- 无直接漏洞 且关联漏洞的CVE也不一致
- 查找该组织/公司其他产品,是否有 CVE-2021-27568 # json-smart 1.2有dependence-check 误报的高危安全漏洞
对比结论
针对 ke_server/jars 中的 accessors-smart-1.2.jar 以Maven仓库中的记录为准的前提下
- Snyk 的扫描结果 是准确的
- Denpendence-check 的扫描结果 CVE-2021-27568 属于不准确的误报