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

新型PyPI攻击技术可能导致超2.2万软件包被劫持

1725499957_66d90a355bc5fd946b26d.png!small

一种针对 Python 软件包索引(PyPI)注册表的新型供应链攻击技术已在野外被利用,并且目前正试图渗透到下游组织中。

软件供应链安全公司 JFrog 将其代号定为Revival Hijack,并称这种攻击方法可用于劫持 2.2万个现有 PyPI 软件包,并导致数十万次恶意软件包下载。这些易受攻击的软件包下载量已超过 10 万次,或已活跃超过 6 个月。

JFrog安全研究人员Andrey Polkovnychenko和Brian Moussalli在与《黑客新闻》分享的一份报告中说:"这种攻击技术涉及劫持PyPI软件包,一旦这些软件包被原所有者从PyPI索引中删除,就操纵重新注册这些软件包的选项。

这种被称为“Revival Hijack”的技术利用了一项政策漏洞,允许攻击者在原始开发人员将软件包从PyPI中删除后重新注册并劫持软件包名称。

与传统的域名抢注攻击不同,Revival Hijack攻击利用的是用户拼写错误的软件包名称,而传统域名抢注攻击则利用了热门软件包的删除和重新注册。当开发人员从PyPI中删除他们的项目时,软件包名称就会可供其他任何人注册。然后,攻击者可以上传这些软件包的恶意版本,毫无戒心的用户可能会下载并安装这些软件包,并认为它们是合法的。

JFrog 分享的统计数据显示,平均每月约有 309 个软件包被删除。出现这些情况的原因有很多,比如:缺乏维护(即废弃软件)、软件包以不同的名称重新发布,或将相同的功能引入官方库或内置 API。

这也构成了一个有利可图的攻击面,它比错别字抢注更有效,攻击者可以利用自己的账户,以相同的名称和更高的版本发布恶意软件包,感染开发者环境。

虽然PyPI确实有防止冒充作者和抢注的措施,但JFrog的分析发现,运行 “pip list--outdated ”命令会将假冒软件包列为原始软件包的新版本,而前者对应的是来自完全不同作者的不同软件包。

更令人担忧的是,运行 “pip install -upgrade ”命令会将实际软件包替换为虚假软件包,而软件包的作者却没有任何警告,这可能会让不知情的开发者面临巨大的软件供应链风险。

JFrog 表示,它采取的措施是创建一个名为 “security_holding ”的新 PyPI 用户账户,用来安全地劫持易受攻击的软件包,并用空的占位符取代它们,以防止恶意行为者利用被删除的软件包。

此外,每个软件包的版本号都被指定为 0.0.0.1,这与依赖关系混乱攻击的情况正好相反,以避免在运行 pip 升级命令时被开发人员调用。

更令人不安的是,Revival 劫持已经在野外被利用,一个名为 Jinnis 的未知威胁行为者于 2024 年 3 月 30 日引入了一个名为 “pingdomv3 ”的软件包的良性版本,而就在同一天,原所有者(cheneyyan)从 PyPI 中删除了该软件包。

2024 年 4 月 12 日,新的开发者发布了一个更新,其中包含一个 Base64 编码的有效载荷,该有效载荷会检查是否存在 “JENKINS_URL ”环境变量,如果存在,则会执行从远程服务器获取的未知下一阶段模块。

JFrog认为攻击者可能推迟了攻击的发送时间,或者将其设计得更有针对性,将其限制在特定的IP范围内。

新的攻击行为表明,威胁行为者正盯上更大规模的供应链攻击,以删除的 PyPI 软件包为目标,从而扩大攻击范围。建议企业和开发人员检查他们的 DevOps 管道,以确保他们没有安装已经从版本库中删除的软件包。

JFrog安全研究团队负责人Moussalli表示:利用处理已删除软件包的漏洞行为,攻击者可以劫持现有软件包,从而在不改变用户工作流程的情况下将其安装到目标系统中。

PyPI 软件包的攻击面正在不断扩大。尽管在此进行了主动干预,但用户仍应始终保持警觉,并采取必要的预防措施来保护自己和 PyPI 社区免受这种劫持技术的侵害。

相关文章:

新型PyPI攻击技术可能导致超2.2万软件包被劫持

一种针对 Python 软件包索引(PyPI)注册表的新型供应链攻击技术已在野外被利用,并且目前正试图渗透到下游组织中。 软件供应链安全公司 JFrog 将其代号定为Revival Hijack,并称这种攻击方法可用于劫持 2.2万个现有 PyPI 软件包&am…...

spring cloud gateway 之删除请求头

在使用spring gateway作为网关时,我们经常需要在将请求转发到下游服务时,过滤掉某些请求头,以避免不必要的信息泄露,而spring gateway提供了RemoveRequestHeader内置的过滤器帮我们实现该功能,此外,我们也可…...

Flutter自动打包ios ipa并且上传

该脚本会自动打包iios ipa 并自动上传,中间自动flutter clean ,自动 pod install 里面需要填写自己应用的 apiKey和apiIssuer 如我的例子中apiKey 为 1234 apiIssuer 为5678, 首先flutter 工程目录 新建 shell目录,目录下新建ipa.sh文件&…...

深入理解synchronized的原理是什么

对象头锁机制原则 Synchronized 的原理是什么 Synchronized 是由JVM实现的一种实现互斥同步的实现方式。如果查看synchronized关键字修饰的字节码,会发现在编译器生成了monitorenter和monitorexit两个字节码指令。   这两个指令的意思就是在虚拟机执行到monitore…...

Electron32-Vue3OS桌面管理os模板|vite5+electron32+arco后台os系统

原创新作electron32.xvue3arco.design仿ipad/windows桌面os系统。 基于最新跨平台技术Electron32、Vite5、Vue3 setup、Pinia2、Arco-Design、Echarts、Sortablejs实战开发桌面版osx管理系统。内置ipad/windows两种桌面风格模板、动态json配置桌面图标、自研栅格拖拽布局模板。…...

c++ 定义函数

在C中,定义函数是一个基本的编程概念。函数是执行特定任务的一段代码,可以接受参数并返回值。下面是关于如何定义和使用函数的详细介绍。 1. 函数的基本结构 函数的基本结构包括以下几个部分: 返回类型:表示函数返回值的类型。…...

【深度学习 计算机视觉】计算机视觉工程师所需的和有帮助的基本技能

计算机视觉工程师通常需要具备一系列的技术和非技术技能,以下是一些基本技能和知识领域,它们对于在这一领域取得成功非常有帮助: 技术技能 编程能力: 熟练掌握至少一种编程语言,如Python、C或Java。熟悉数据结构和算…...

【CSS】如何写渐变色文字并且有打光效果

效果如上,其实核心除了渐变色文字的设置 background: linear-gradient(270deg, #d2a742 94%, #f6e2a7 25%, #d5ab4a 48%, #f6e2a7 82%, #d1a641 4%);color: #e8bb2c;background-clip: text;color: transparent;还有就是打光效果,原理其实就是两块遮罩&am…...

Android 14(API 级别 34)中,DexClassLoader 不再支持可写 dex/jar 文件

Android 14(API 级别 34)中,DexClassLoader 不再支持从可写文件加载 dex/jar 文件。这意味着从Android 14开始,你不能再使用 DexClassLoader 来动态加载位于内部存储中的dex/jar文件,除非这些文件被设置为只读。 解决…...

Linux -动静态库

文章目录 1.文件系统1.1 inode1.2 硬链接定义特点使用方法 1.3软链接定义特点使用方法 2.动态库和静态库2.1动态库2.11定义与特点2.12使用方法 2.2 静态库2.21定义与特点2.22 使用方法 2.3示例2.31编写库代码2.32编译生成动态库2.33 编译生成静态库 2.4总结 1.文件系统 我们使…...

原点安全荣获“AutoSec Awards 安全之星”优秀汽车数据安全合规方案奖

9月3日,「AutoSec 2024第八届中国汽车网络安全周暨第五届智能汽车数据安全展」在上海盛大开幕。本届大会由谈思实验室和谈思汽车主办、上海市车联网协会联合主办,以汽车“网络数据安全、软件安全、功能安全”为主题,汇聚了国内外的技术专家、…...

2024前端面试题分享

前言 最近忙着面试很久没有更新文章了,分享一下我收集的前端面经,当然题目仅供参考(乞求秋招offer) 面试题 响应式布局 ---根据用户的的窗口变化而变化的布局方式 react 的hooks ---官方提供的钩子和自定义的钩子&#xf…...

数学基础 -- 线性代数之正交矩阵

正交矩阵 正交矩阵是线性代数中的一个重要概念,具有许多优良的性质,在数值计算、线性变换、信号处理等领域有着广泛的应用。 1. 正交矩阵的定义 一个 n n n \times n nn 的方阵 Q Q Q 如果满足以下条件: Q T Q Q Q T I Q^T Q Q Q^T …...

PostgreSQL 17即将发布,新功能Top 3

按照计划,PostgreSQL 17 即将在 2024 年 9 月 26 日发布,目前已经发布了第一个 RC 版本,新版本的功能增强可以参考 Release Notes。 本文给大家分享其中 3 个重大的新增功能。 MERGE 语句增强 MERGE 语句是 PostgreSQL 15 增加的一个新功能…...

心觉:别再做单线程的打工人!换个思路突破

Hi,我是心觉,与你一起玩转潜意识、脑波音乐和吸引力法则,轻松搞定人生挑战,实现心中梦想! 挑战日更写作161/1000(完整记录在下面) 公门洞开纳百川 众心逐梦越千山 号召引领潜力绽 心觉潜意识无间 想让财富翻个2倍…...

深度学习-用神经网络NN实现足球大小球数据分析软件

文章目录 前言一、 数据收集1.1特征数据收集代码实例 二、数据预处理清洗数据特征工程: 三、特征提取四、模型构建五、模型训练与评估总结 前言 预测足球比赛走地大小球(即比赛过程中进球总数是否超过某个预设值)的深度学习模型是一个复杂但有…...

linux 9系统分区扩容

1.可以看到我的是9.2的系统,系统分区:/dev/mapper/rl-root 83G 8.0G 75G 10% / 2.接下来,我们新增一块新的硬盘,而不是直接对这个硬盘的基础上再扩容。 关机,加30G硬盘,再开机 fdisk -l fdisk /dev/…...

Solidity初体验

一、概念知识 什么是智能合约? 智能合约是仅在满足特定条件时才在区块链上部署和执行的功能,无需任何第三方参与。 由于智能合约本质上是不可变的和分布式的,因此它们在编写和部署后无法修改或更新。此外,分布式的意义在于任何…...

大模型笔记01--基于ollama和open-webui快速部署chatgpt

大模型笔记01--基于ollama和open-webui快速部署chatgpt 介绍部署&测试安装ollama运行open-webui测试 注意事项说明 介绍 近年来AI大模型得到快速发展,各种大模型如雨后春笋一样涌出,逐步融入各行各业。与之相关的各类开源大模型系统工具也得到了快速…...

html前段小知识点

1. 什么是HTML? 超文本标记语言是一种 用于创建网页的标准标记语言 HTML 文档包含了HTML 标签及文本内容 也叫文档1.什么是css? CSS (层叠样式表),是一种用来为结构化文档添加样式的计算机语言,CSS 文件扩展名为 .css。 可以设…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

<6>-MySQL表的增删查改

目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表&#xf…...

大话软工笔记—需求分析概述

需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...

云计算——弹性云计算器(ECS)

弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来&#xf…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如&#xff1a…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...