当前位置: 首页 > news >正文

Provides transitive vulnerable dependency maven 提示依赖存在漏洞问题的解决方法

问题描述

如下图所示,对于 java 项目某些依赖,IDEA 提示,引用了含有漏洞的依赖。如果是单个依赖,可以考虑直接升级版本即可。但是对于传递性依赖,比如 flink 项目中,依赖的部分模块,它们自己依赖了一些含有漏洞的依赖,应该如何解决呢 ?(现实开发环境更新flink版本往往会带来非常多的麻烦和较大的风险)

在这里插入图片描述

解决方法

根据提示,找到提示包含漏洞的依赖包,然后前往 https://mvnrepository.com/ 搜索最新的依赖包。注意一定要查询一下是否兼容

步骤 1:使用 exclusion 排除有漏洞的依赖

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.smileyan</groupId><artifactId>hello-flink-1.18</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><flink.version>1.18.1</flink.version></properties><dependencies><dependency><groupId>org.apache.flink</groupId><artifactId>flink-clients</artifactId><version>${flink.version}</version><scope>provided</scope><!-- 解决传递性依赖 vulnerable 问题 --><exclusions><exclusion><groupId>commons-io</groupId><artifactId>commons-io</artifactId></exclusion><exclusion><groupId>org.apache.commons</groupId><artifactId>commons-compress</artifactId></exclusion></exclusions></dependency><!-- 解决传递性依赖 vulnerable 问题 --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.18.0</version><scope>provided</scope></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-compress</artifactId><version>1.27.1</version><scope>provided</scope></dependency></dependencies>
</project>

更新后,记得重新加载 maven 依赖。

Step 2:修改 flink 环境

如果设置线上的 flink 环境,建议上传无漏洞版本的依赖到 flink-1.18.1/lib 目录下。flink 在启动任务的时候,将会自动优先加载 这个目录下的依赖,而不是加载默认的以前的老版本依赖。

Notice`:如果不能修改 flink 环境(更推荐)

即使用新的无漏洞版本的依赖,并且 scope 去除 provided ,如下图所示:
在这里插入图片描述
这里还有一个地方需要注意,添加打包插件(在 project 级别下添加)

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.6.0</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals></execution></executions><configuration><createDependencyReducedPom>false</createDependencyReducedPom><!-- 根据实际情况设置是否 minimizeJar -->
<!--                    <minimizeJar>true</minimizeJar>--></configuration></plugin></plugins>
</build>

总结

之前写了篇博客 rovides transitive vulnerable dependency maven:commons-collections 有两位小伙伴评论,认为博客中提到的解决方案是 “掩耳盗铃”。哈哈哈哈,当时能想到的仅仅是这样了。

多谢那两位小伙伴的提醒,多谢多谢 @zyfhongyang @zhongyilangren

通过本文提到的方法,可以较好的解决 “传递性依赖存在漏洞” 的解决方法,并且针对于 flink 应用,这里根据能否编辑 flink 环境给出了两个解决方案以供选择。

希望能帮到各位小伙伴 ~ 万分感谢各位的点赞、评论与关注支持 ~

在这里插入图片描述

相关文章:

Provides transitive vulnerable dependency maven 提示依赖存在漏洞问题的解决方法

问题描述 如下图所示&#xff0c;对于 java 项目某些依赖&#xff0c;IDEA 提示&#xff0c;引用了含有漏洞的依赖。如果是单个依赖&#xff0c;可以考虑直接升级版本即可。但是对于传递性依赖&#xff0c;比如 flink 项目中&#xff0c;依赖的部分模块&#xff0c;它们自己依…...

WebAuthn 项目常见问题解决方案

WebAuthn 项目常见问题解决方案 webauthn Webauthn / passkeys helper library to make your life easier. Client side, server side and demo included. [这里是图片001] 项目地址: https://gitcode.com/gh_mirrors/webaut/webauthn 项目基础介绍 WebAuthn 项目是一个开源…...

LeetCode 844. 比较含退格的字符串 (C++实现)

1. 题目描述 给定 s 和 t 两个字符串&#xff0c;当它们分别被输入到空白的文本编辑器后&#xff0c;如果两者相等&#xff0c;返回 true 。# 代表退格字符。 注意&#xff1a;如果对空文本输入退格字符&#xff0c;文本继续为空。 示例 1&#xff1a; 输入&#xff1a;s …...

Python8-写一些小作业

记录python学习&#xff0c;直到学会基本的爬虫&#xff0c;使用python搭建接口自动化测试就算学会了&#xff0c;在进阶webui自动化&#xff0c;app自动化 python基础8-灵活运用顺序、选择、循环结构 写一些小练习题目1、给一个半径&#xff0c;求圆的面积和周长&#xff0c;…...

C++ STL vector基本原理和用法

文章目录 基本原理1. 数据存储结构2. 内存管理机制3. 迭代器实现原理4. 元素访问原理5. 插入和删除元素原理 常见用法1. 概述2. 包含头文件3. 定义和初始化4. 常用成员函数5. 迭代器6. 内存管理与性能特点7. 应用场景 基本原理 以下是关于 std::vector 的基本原理讲解&#xf…...

【计算机视觉基础CV-图像分类】05 - 深入解析ResNet与GoogLeNet:从基础理论到实际应用

引言 在上一篇文章中&#xff0c;我们详细介绍了ResNet与GoogLeNet的网络结构、设计理念及其在图像分类中的应用。本文将继续深入探讨如何在实际项目中应用这些模型&#xff0c;特别是如何保存训练好的模型、加载模型以及使用模型进行新图像的预测。通过这些步骤&#xff0c;读…...

【人工智能-初级】基于用户的协同过滤推荐算法

文章目录 1. 数据集2. 实验代码3. 代码解释4. 实验结果5. 评估基于用户的协同过滤算法是一种常见的推荐算法,它的核心思想是根据用户之间的相似性来进行推荐。 实验案例: 使用的是电影推荐数据集 MovieLens,实验中我们会通过用户评分数据计算用户之间的相似性,并使用基于用户…...

如何识别钓鱼邮件和诈骗网站?(附网络安全意识培训PPT资料)

识别钓鱼邮件和诈骗网站是网络安全中的一个重要环节。以下是一些识别钓鱼邮件和诈骗网站的方法&#xff1a; 识别钓鱼邮件&#xff1a; 检查发件人地址&#xff1a; 仔细查看发件人的电子邮件地址&#xff0c;看是否与官方域名一致。 检查邮件内容&#xff1a; 留意邮件中是否…...

Rust 在前端基建中的使用

摘要 随着前端技术的不断发展&#xff0c;前端基础设施&#xff08;前端基建&#xff09;的建设已成为提升开发效率、保障产品质量的关键环节。然而&#xff0c;在应对复杂业务场景与高性能需求时&#xff0c;传统的前端技术栈逐渐暴露出诸多不足。近年来&#xff0c;Rust语言…...

【人工智能】基于Python和OpenCV实现实时人脸识别系统:从基础到应用

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着人工智能和计算机视觉的快速发展,人脸识别技术已广泛应用于监控、安全、社交媒体、金融和医疗等领域。本文将介绍如何利用Python和Ope…...

Python 自动化 打开网站 填表登陆 例子

图样 简价&#xff1a; 简要说明这个程序的功能&#xff1a; 1. **基本功能**&#xff1a; - 自动打开网站 - 自动填写登录信息&#xff08;号、公司名称、密码&#xff09; - 显示半透明状态窗口实时提示操作进度 2. **操作流程**&#xff1a; - 打开网站后自动…...

【Chrome】浏览器提示警告Chrome is moving towards a new experience

文章目录 前言一、如何去掉 前言 Chrome is moving towards a new experience that allows users to choose to browse without third-party cookies. 这是谷歌浏览器&#xff08;Chrome&#xff09;关于隐私策略更新相关的提示 提示&#xff1a;以下是本篇文章正文内容&…...

网络下载ts流媒体

网络下载ts流媒体 查看下载排序合并 很多视频网站&#xff0c;尤其是微信小程序中的长视频无法获取到准确视频地址&#xff0c;只能抓取到.ts片段地址&#xff0c;下载后发现基本都是5~8秒时长。 例如&#xff1a; 我们需要将以上地址片段全部下载后排序后再合成新的长视频。 …...

iDP3复现代码模型训练全流程(一)——train_policy.sh

iDP3 核心脚本包括三个&#xff1a;deploy_policy.sh、vis_dataset.sh、train_policy.sh&#xff0c;分别代表了部署、预处理和训练&#xff0c;分别作为对应 py 脚本的参数设置前置环节 训练环节仅需运行指令&#xff1a; # 3d policy bash scripts/train_policy.sh idp3 gr1…...

重温设计模式--单例模式

文章目录 单例模式&#xff08;Singleton Pattern&#xff09;概述单例模式的实现方式及代码示例1. 饿汉式单例&#xff08;在程序启动时就创建实例&#xff09;2. 懒汉式单例&#xff08;在第一次使用时才创建实例&#xff09; 单例模式的注意事项应用场景 C代码懒汉模式-经典…...

【人工智能】Python中的机器学习管道:如何用scikit-learn构建高效的ML管道

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在机器学习项目中,数据预处理、特征工程、模型训练与评估是不可或缺的环节。随着项目规模的扩大和复杂度的增加,手动管理这些步骤不仅繁琐…...

Redis存在安全漏洞

Redis是美国Redis公司的一套开源的使用ANSI C编写、支持网络、可基于内存亦可持久化的日志型、键值&#xff08;Key-Value&#xff09;存储数据库&#xff0c;并提供多种语言的API。 Redis存在安全漏洞。攻击者利用该漏洞使用特制的Lua脚本触发堆栈缓冲区溢出漏洞&#xff0c;从…...

Scala图书管理系统

项目创建并实现基础UI package org.appimport scala.io.StdInobject Main {def main(args: Array[String]): Unit {var running truewhile (running) {println("欢迎来到我的图书管理系统&#xff0c;请选择")println("1.查看所有图书")println("2…...

【数据可视化案列】白葡萄酒质量数据的EDA可视化分析

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...

Postman接口测试:全局变量/接口关联/加密/解密

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 全局变量和环境变量 全局变量&#xff1a;在postman全局生效的变量&#xff0c;全局唯一 环境变量&#xff1a;在特定环境下生效的变量&#xff0c;本环境内唯一 …...

高光谱成像基础(完)光谱融合(Spectral Fusion)肆

环境安装 pip install keystone-engine capstone unicorn 这3个工具用法极其简单&#xff0c;下面通过示例来演示其用法。 Keystone 示例 from keystone import * CODE b"INC ECX; ADD EDX, ECX" try:ks Ks(KS_ARCH_X86, KS_MODE_64)encoding, count ks.asm(CODE)…...

nRF52+RFX2401C硬件实战:手把手教你配置PA+LNA(基于S132 SoftDevice)

nRF52RFX2401C硬件实战&#xff1a;从原理到调试的全链路指南 在物联网设备开发中&#xff0c;BLE通信距离常常成为制约产品落地的关键因素。nRF52系列作为低功耗蓝牙领域的明星芯片&#xff0c;其原生射频输出功率往往难以满足复杂环境下的覆盖需求。RFX2401C这颗经典的前端芯…...

IP地址什么?工业场景网络注意事项有哪些?僬

OCP原则 ocp指开闭原则&#xff0c;对扩展开放&#xff0c;对修改关闭。是七大原则中最基本的一个原则。 依赖倒置原则&#xff08;DIP&#xff09; 什么是依赖倒置原则 核心是面向接口编程、面向抽象编程&#xff0c; 不是面向具体编程。 依赖倒置原则的目的 降低耦合度&#…...

Nigate:Mac NTFS全功能读写解决方案——面向跨平台用户的高效文件交互指南

Nigate&#xff1a;Mac NTFS全功能读写解决方案——面向跨平台用户的高效文件交互指南 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting…...

告别‘选择困难症’:用Envelope Q-Learning让AI学会在《超级马里奥》里权衡金币与速度

告别‘选择困难症’&#xff1a;用Envelope Q-Learning让AI学会在《超级马里奥》里权衡金币与速度 想象一下&#xff0c;你正在玩《超级马里奥》&#xff0c;面对前方闪闪发光的金币和即将关闭的关卡大门&#xff0c;必须在"快速通关"和"收集财富"之间做出…...

告别盲调!用逻辑分析仪抓取STM32F429 TIM1的PWM波形,一步步教你分析频率、占空比和死区

从代码到波形&#xff1a;STM32F429 TIM1 PWM硬件验证全流程实战 调试PWM输出时最令人头疼的莫过于代码看似正确&#xff0c;但硬件端却毫无反应——引脚电压纹丝不动&#xff0c;或者波形完全不符合预期。这种"软件配置正确&#xff0c;硬件行为未知"的困境&#xf…...

基于STM32LXXX的数字电位器(MAX5402EUA+T)驱动应用程序设计

一、简介: MAX5402EUA+T 是Maxim Integrated(现Analog Devices)推出的一款256抽头、低漂移数字电位器,采用MAX-8封装。 二、主要技术特性: 参数 值 抽头数 256个 端到端电阻 10kΩ 每级步进电阻 39.2Ω (10kΩ/255) 接口类型 SPI兼容,3线串行 电源电压 2.7V ~ 5.5V 温度…...

轴向磁通电机仿真避坑指南:ANSYS Maxwell 3D建模时气隙与对称性的7个关键设置

轴向磁通电机3D仿真进阶指南&#xff1a;从参数校准到高效求解的实战技巧 轴向磁通电机因其紧凑结构和高效能特性&#xff0c;正在新能源车、航空航天等领域获得广泛应用。但不同于传统径向电机&#xff0c;其三维电磁场分布的复杂性使得仿真过程常成为工程师的"噩梦"…...

1995-1996 年阿拉斯加北坡 ARCSS/LAII 通量站点的北极植被样地

Arctic Vegetation Plots at ARCSS/LAII Flux Sites, North Slope, Alaska, 1995-1996 简介 本数据集提供了 1995 年和 1996 年 8 月在北坡北极系统科学/陆地-大气-冰相互作用&#xff08;ARCSS/LAII&#xff09;项目通量塔站点采集的植被覆盖、环境样地和土壤数据。19 个 AR…...

LeetCode 108. 将有序数组转换为二叉搜索树 详细技术解析

LeetCode 108. 将有序数组转换为二叉搜索树 详细技术解析本文针对 LeetCode 108. 将有序数组转换为二叉搜索树 问题&#xff0c;从题目解析、核心原理、思路拆解、代码实现、边界处理到面试拓展&#xff0c;进行全方位拆解&#xff0c;适合算法入门及进阶开发者阅读&#xff0c…...