依赖性检查工具Snyk与Dependency-check对比
文章目录
- 前言
- 对比工具
- Snyk
- Dependency-check
- 对比方式
- 对比步骤
- 下载测试包
- 解压缩测试包
- 使用snyk扫描
- 核对结果
- 对比结论
前言
随机选取测试包下的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 属于不准确的误报
依赖性检查工具Snyk与Dependency-check对比相关推荐
- 错别字检查工具的准确性和适用性对比分析
错别字检查工具的准确性和适用性是选择和使用工具时需要考虑的重要因素,下面进行对比分析: 1.准确性对比: a.基于规则的工具:基于规则的工具通常根据事先设定的规则和规范进行检查和纠正,准确性 ...
- DLL依赖性查看工具depends(dependency walker)
前言 软件包中常含很多扩展名DLL的文件,这些就是经常说的"动态链接库",DLL是Dynamic Link Library(即"动态链接库")的缩写.从Micr ...
- 安装EBS前期检查工具 - RDA - Health Check / Validation Engine Guide
参考文档 RDA - Health Check / Validation Engine Guide (文档 ID 250262.1) 先下载 RDA 补丁包. Download HCV ...
- HTML代码风格检查工具对比
选用一个合适的工具对 HTML 代码进行质量控制会是一件很有意义的事情.本文选择了 Bootlint.AriaLinter.htmllint.HTMLHint 及htmlcs 这五个目前最活跃的相关项 ...
- 静态代码检查工具 FindBugs
静态代码检查工具 FindBugs 使用 FindBugs的原因和方法 静态分析工具承诺无需开发人员费劲就能找出代码中已有的缺陷.当然,如果有多年的编写经验,就会知道这些承诺并不是一定能兑现.尽管如此 ...
- Flow - JS静态类型检查工具
本章的目标是提供一些Flow工具的介绍与使用建议.Flow本质上也只是个检查工具,它并不会自动修正代码中的错误,也不会强制说你没按照它的警告消息修正,就不会让你运行程序.当然,并没有要求什么时候一定要 ...
- cppcheck静态代码检查工具使用教程
0 背景 最近调研了几款 c/c++ 代码静态检查工具,包括 cppcheck.cpplint.cppdepend.splint.tscancode.sonaqube 等,对比后认为 cppcheck ...
- Android 代码检查工具SonarQube
代码检查工具能帮我们检查一些隐藏的bug,代码检查工具中sonar是比较好的一个.官网 Sonar 概述 Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具 ...
- 如何使用OWASP Dependency Check的命令行(CLI)模式进行依赖库安全漏洞扫描
OWASP Dependency Check是一款用于识别项目的依赖项是否有已知漏洞的工具,本文介绍一下如何使用Dependency Check工具的命令行模式进行依赖库漏洞扫描. [下载地址]:安装 ...
- 玩转Eclipse — 自动代码规范检查工具Checkstyle
大项目都需要小组中的多人共同完成,但是每个人都有自己的编码习惯,甚至很多都是不正确的.那么如何使小组所有开发人员都遵循某些编码规范,以保证项目代码风格的一致性呢?如果硬性地要求每个开发人员在提交代码之 ...
最新文章
- 图解插入排序--直接插入排序
- Java Script Closure(js闭包)-浅谈
- python学习(1)
- org.dom4j.DocumentException: 20 Nested exception: 20
- 分布式离线计算—Spark—基础介绍
- C++ Primer ----- 关于初始化
- IIS+ASP.NET MVC必须知道的事
- 文件方式实现完整的英文词频统计实例(9.27)
- 路透社:谷歌已停止与华为部分合作;联想否认断供华为PC;微软计划直供Linux内核;谷歌无人机快递Wing进军芬兰……...
- C语言变量初始化是必须的
- Internet信息服务找不到
- 解决Oracle11g密码180天过期,账号锁住的问题
- 带你了解HTTP协议(一)
- Swagger3 版本动态分组
- Unity3D 《拥挤城市》3D房子建筑透视效果实
- 新教育杂志新教育杂志社新教育编辑部2023年第6期目录
- substratum android8,如何在没有root的情况下在Android Oreo上安装Substratum主题
- 以太坊区块链浏览器(二)开发
- PHP 常用函数 - 其他常用函数
- Git-Git里程碑
热门文章
- Git的诞生_繁星漫天_新浪博客
- js中的四种常用数组排序方法(冒泡、选择、插入、快排)及sort排序
- 认识计算机重点知识,认识计算机教案
- 大学学计算机需要英语,大学学什么才能不被计算机淘汰
- 关于JavaScript继承与原型链的一些理解
- 在php中调用api接口,如何调用51ditu的api接口并在PHP中应用
- 51单片机按键控制数码管0~9_LED数码管精选电路方案合辑
- python欢迎你、某某某同学_python __xx__的定义和用处
- Evolutionary Clustering of Streaming Trajectories
- Halcon算子学习:distance_object_model_3d