如何处理pom文件中没有找到HUB检查到高危漏洞的依赖包
最近使用HUB工具检查到maven工程中存在高危险漏洞,虽然定位到具体的引用包了,但是在pom文件中却没有发现该依赖包。此时,我们就需要用到这条命令mvn dependency:tree,该命令会将maven工程所依赖的包按照树形格式展示出来,我们可以将输出内容导入到一个文本中,例如:mvn dependency:tree > jar.txt ,输出信息类似于下图所示:

从上图的示例中可以看到该工程直接依赖了两个jar包,分别是com.alibaba:fastjson:jar:1.2.51和org.apache.poi:poi-examples:jar:4.0.1,但是org.apache.poi:poi-examples:jar:4.0.1包中又引用了其它的包,也就是说该工程中间接依赖了其它的包。注意了,上图中的 "+-" 和"\-"并没有什么意义,只是为了让分级看起来更加直观;当然我们可以根据缩进情况可以确定哪些包是工程直接引用的,而哪些包又是间接引用的。最近用HUB工具检查产品代码质量时发现一个高风险漏洞,但是该漏洞是在一个间接引用包中,所以在pom文件中是不能检索的到的,这是我们就需要借助上述命令了。那现在知道方法,如何处理呢?首先,看看HUB工具检查到的问题现象,如下图所示:

接着,通过mvn dependency:tree > jar.txt命令将maven工程所依赖的包关系导出,如下图所示:

从上面两幅图中分析可知:工程中间接用到的包commons-collections:commons-collections:jar版本是3.2.1,经过HUB工具检查,发现该版本存在高风险漏洞,需要升级到3.2.2版本,才可以解决该高危问题。此外,从上图中我们还可以知道commons-collections:commons-collections:jar:3.2.1包是在net.sf.json-lib:json-lib:jar:jdk15:2.4包中被依赖的,那么若想升级commons-collections:commons-collections:jar的版本,那么就需要升级net.sf.json-lib:json-lib:jar:jdk15版本。据此,我当时就认为只要从maven官网查看一下net.sf.json-lib:json-lib:jar:jdk15包最新的版本是多少,然后在被涂鸦的包中修改一下pom文件中依赖该包 的版本号就可以了;可结果很意外,并非我所期望。我在maven官网看到的net.sf.json-lib:json-lib:jar:jdk15包最新版本就是2.4,如下图所示:

既然上述的修改策略不可用,那么在被涂鸦的包中可以直接使用net.sf.json-lib:json-lib:jar:jdk15:2.4依赖包,但是不要间接使用该包中的commons-collections:commons-collections:jar:3.2.1依赖包,我们可以在涂鸦的包中直接依赖commons-collections:commons-collections:jar包。在maven官网中可以找到commons-collections:commons-collections:jar包的3.2.2版本,如下图所示:

最后,我们再看看maven中所依赖包的情况,如下图所示:

从上图中可以看出,commons-collections:commons-collections:jar:3.2.2包和net.sf.json-lib:json-lib:jar:jdk15:2.4处于同一级,都是被直接依赖的包。到此,我们的产品高危漏洞也就得到解决了。
------20191230闪
如何处理pom文件中没有找到HUB检查到高危漏洞的依赖包的更多相关文章
- Maven项目中在properties 中使用 ${} 来引用pom文件中的属性
比如在pom文件中定义了属性如下: <jdbc.host.global>127.0.0.1</jdbc.host.global> <jdbc.databasename.g ...
- idea中的pom文件中的jar包下载不了,手动下载jar包的方法
问题描述: 在pom文件中添加依赖的时候,程序怎么着都是下载不了,而且实验了各种方式: IDEA引MAVEN项目jar包依赖导入问题解决 https://www.cnblogs.com/a845701 ...
- 【IDEA】Maven踩坑:pom文件中的默认profiles不生效+IDEA中Maven的profiles使用说明
一.问题即分析 项目pom文件中的profiles有3个配置:dev.test和production 默认配置的是dev,如下图: 但在本地起服务时,读取的配置始终是test里的. 二.原因 2.1 ...
- Maven pom文件中dependency scope用法
在Maven中依赖的域有:compile.provided.runtime.system.test.import 一.compile(默认) 当依赖的scope为compile的时候,那么当前这个依赖 ...
- maven在pom文件中引入了icepdf-core包,pom文件却莫名的报错,说jai_core包missing
maven在pom文件中引入了icepdf-core包,却莫名的报错,说jai_core包missing,把这个jai_core包引入之后还是一样报错,PS:icepdf-core使用的时候不用引用j ...
- maven在pom文件中添加你想要的jar包
概述:POM 文件里面的依赖jar包经常需要添加, 仅需要在google中代码查找 :maven 你需的jar包名称 repository 用了Maven,所需的JAR包就不能再像往常一样,自己找到并 ...
- maven项目,导入的jar包,没有包含在pom文件中,install失败
[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[ ...
- 关于使用命令添加jar进自己的pom文件中-maven项目添加jar包
现在几乎开发项目都是使用的maven项目,但是有的时候可以使用比较偏门或者新的jar可能在网上搜不到在pom文件里的配置应该如何写,因此写下这篇博客. 比如我现在想加入的AAA.jar这个包 打开cm ...
- pom文件中maven-assembly-plugin插件学习
一.使用场景 如果项目是微服务架构,可能用到这个插件的概率比较高,平时普通的项目不需要这样的实现方式. 如果项目内的一部分通用功能,不需要挨个引用,则需要将通用功能部分达成jar包. 二.Maven- ...
随机推荐
- asp.net mvc项目实战遇见问题及解决方式----ajax请求500错误,请求多表数据
ajax请求出现500错误——但是想实现的功能是,把一个页面分成了两份,点击右边导航栏,利用ajax请求,请求数据,在右边出现相应页面,当时使用的是partialAction然后出现了这个500错误, ...
- 在命令提示符中的有关mysql命令
-h:当连接MySQL服务器不在同台主机时,填写主机名或IP地址 -u:登录MySQL的用户名 -p:登录MySQL的密码 注意:密码如果写在命令行的时候一定不能有空格.如果使用的系统为linux并且 ...
- 1,Python爬虫环境的安装
前言 很早以前就听说了Python爬虫,但是一直没有去了解:想着先要把一个方面的知识学好再去了解其他新兴的技术. 但是现在项目有需求,要到网上爬取一些信息,然后做数据分析.所以便从零开始学习Pytho ...
- Docker基础(1) 原理篇
Docker是什么 Docker的构成 Docker的分层和写时拷贝策略 Docker与主流虚拟机的区别 Docker镜像与容器的关系 镜像的变更管理 Docker是什么 Docker是一个开源的应用 ...
- java 正则表达式空格无法匹配
举个例子 Boolean xx= Pattern.matches("^[a-zA-Z0-9\\s]*$", " 801 Tampines Ave 4 Singapore ...
- 共同战“疫”,CODING 帮助研发团队高效协同
新冠疫情下,家里蹲的日子继续延长.部分企业虽然受困于不能回公司办公,但都陆续开启了远程协作办公,远程协作领域被推上了风口.但「远程协同」看不见摸不着工作伙伴,个人的自律能力也无法保证,难免出现沟通响应 ...
- Dijkstra算法2
// 再来一手精髓的Dijkstra // 复杂度O( E*log(V) ) #include <cstdio> #include <iostream> #include &l ...
- javaConfig&springBoot入门
javaConfig&springBoot入门 1. javaConfig基础 1.1 为什么要学习javaConfig 因为:Springboot原理基于它的!!!(为学习springBoo ...
- python-21-生成器又是什么东西?
前言 生成器,只要含有yield关键字的函数都是生成器函数,但yield不能和return共用且需要写在函数内. 生成器,是返回一个迭代器的函数,说白了生成器也是迭代器. 一.生成器简介 1.只要含有 ...
- [菜b]Isaunoya 的一些学习笔记…[保持咕咕咕]
fread/fwrite标记永久化 分块 树链剖分 莫比乌斯反演 斜率优化/单调队列 kruskal重构树 回滚莫队 可持久化线段树/trie树 Link-Cut-Tree dsu on tree F ...