Python 库 PyPI 危机!

article/2025/8/29 1:59:16

据 BleepingComputer 报道,Python 官方软件包存储库 PyPI 遭受了黑客攻击,攻击者通过注入大量垃圾邮件包的形式发起了洪水攻击,这些垃圾邮件及软件包通过采用电影,电视节目名称来命名,有些还包含了年份、在线、免费等字样,例如:“watch-army-of-the-dead-2021-full-online-movie-free-hd-quality”,其格式通常与提供盗版下载的 “torrent ” 或 “warez” 网站相关。

在这里插入图片描述

图源:BleepingComputer

这些软件包中的每一个都由唯一的假维护者帐户发布,这使得 PyPI 官方在删除删除恶意软件包时遇到了挑战。

Sonatype 高级软件工程师 Adam Boesch 首先发现了这些以热门电影电视节目命名的可疑 PyPI 组件。Boesch 在接受 BleepingComputer 采访时提供了发现细节:

“我在浏览数据集时对一个以 ‘wandavision’ 命名的程序包感到有点奇怪。仔细观察后,我在 PyPI 上进行了查找。在 npm 等其他生态系统中,这种情况并不罕见,那里有数百万个软件包。幸运的是,像这样的软件包很容易发现和避免。”
尽管一些软件包已经存在了好几周,但垃圾邮件发送者仍不断向 PyPI 添加新包。搜索结果显示有“ 10,000+”,但 PyPI 存储库中显示的垃圾邮件程序包要比实际数量少得多,这些伪造软件包的网页上都显示了垃圾邮件关键字,并指向电影流媒体网站,但它们的合法性令人怀疑,例如:

https://besflix[.]com/movie/XXXXX/profile.html

在这里插入图片描述

图源:BleepingComputer

除了通过垃圾关键词和非法视频流网站的链接,在 PyPI 上发现的垃圾软件包还包含从合法 Python 软件包中窃取的功能代码和作者信息。

例如,一个名为“ watch-army-the-dead-2021-full-online-movie-free-hd-quality”的垃圾邮件包里面就包含了作者信息,以及一些来自“ jedi-language-server”PyPI 软件包的代码。

在这里插入图片描述

图源:BleepingComputer

目前,PyPI 官方维护者已清理了大部分恶意软件包,但开发者在搜索下载这些包时,仍需谨慎行事,因为它们很可能包含恶意软件或其他恶意代码。

Boesch 笑着说,在使用之前,大家最好先进行检查验证。

在今年 2 月,ZDNet 就报道了 PyPI 和 GitLab 上充斥着大量垃圾邮件包,Python 软件基金会执行董事 Ewa Jodlowska 当时表示:我们的管理员正在努力解决这些垃圾邮件“,但他也补充到,由于任何人都可以在 pypi.org 上面进行发布,因为这种现象也是比较普遍的。正如本文所提到的,当恶意的与合法的软件包并存时,官方及开发人员如何识别正确的软件包就遇到了非常大的挑战。

参考链接:

  • https://www.bleepingcomputer.com/news/security/spammers-flood-pypi-with-pirated-movie-links-and-bogus-packages/

  • https://www.zdnet.com/article/pypi-gitlab-dealing-with-spam-attacks/


http://chatgpt.dhexx.cn/article/TOTj1CA0.shtml

相关文章

【Python包管理系列1】python打包发布到PyPI全过程(入门版)

文章目录 目的准备知识PyPIPyPAsetuptoolsbuildtwine 实战过程总结 目的 如果发布一个python包到pypi上,共他人使用,本文试图讲清楚。 准备知识 PyPI 官网地址:https://pypi.org/ 全称Python Package Index(Python包索引&#…

PyPy

pypy 原理 pypy 原理为何 PyPy 是趋势?即时编译: PyPy和它的未来PyPy is Hard to Understand结尾总之: GIL,即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具&…

Linux系统安装DB2数据库详解

1、上传DB2安装文件 将 DB2 安装文件及 DB2 补丁文件上传到服务器上 打开终端对其进行解压 2、安装前注意事项 (1)要求服务器磁盘空间至少为1000M (2)安装之前不要创建 db2inst1、db2fenc 等用户 (3)db…

windows下db2创建数据库

windows下db2创建数据库 1.找到命令行dbcmd 打开电脑,进入电脑操作系统,使用快捷键组合WINR键可以直接打开运行,输入dbcmd命令行,即可直接打开db2命令行dbcmd。 2.使用db2start启动db2数据库 通过以上方法,在电脑…

db2数据库(db2数据库安装)

db2是什么,它和oracle有什么本质的区别? oracle和SQL SERVER都是用SQL语句可以编写数据库,但语法有区别,我楼上说的SQL SERVER说不稳定,也不一定吧~这里我说的都是正版,不过ORACLE确实是现在企业…

JDBC连接DB2数据库

前言 分享一个工作上遇到的问题,使用JDBC连接DB2数据库,我这里使用的是Gradle,我发现网上使用Gradle的太少了,大部分使用的是maven,不论使用哪一个,都建议下载jar包到本地,使用手动添加进项目里…

【windows版本】 db2数据库安装与使用

0.目录 1.安装DB2数据库1.创建数据库2. 配置链接参数3.工具链接4. 参考5.其他 说句真心话,真TMD讨厌IBM的软件,IBM的软件下载真是TMD不容易。要不是公司项目需求,谁TMD还喜欢用IBM的软件,真气人。 本文的目的: 1&#…

DB2数据库基本概念

http://db365.net/home.php?modspace&uid19鉴于CSDN无故删除博文,本博客不再更新,暂时迁至http://www.db365.net 1 DB2数据库基本概念 1.1数据库对象 关键的数据库对象包括:实例、数据库、节点组、表、视图、索引、模式、系统目录表。…

DBeaver连接db2数据库

DBeaver工具安装包: 链接:https://pan.baidu.com/s/1ruEF0dDkbYDy02-aYxuj8w 密码:l0t4 db2驱动包: 链接:https://pan.baidu.com/s/1OaSHGi7toIhKCk8fNEv-CQ 密码:tazm 安装好DBeaver工具后 1、新建连接 2、连接…

DB2数据库

DB2是IBM公司研制的一种关系型数据库系统,它主要应用于大型应用系统,具有很强的海量数据处理能力,具有较好的可伸缩性 教学地址 可支持从大型机到单用户环境,包括DB2工作组版(DB2Workgroup Edition)、DB2企…

socket绑定的ip为INADDR_ANY 的意义 htonl(INADDR_ANY)(0.0.0.0所有地址、不确定地址、任意地址)(htonl和htons区别)

INADDR_ANY 表示监听0.0.0.0地址,socket只绑定端口,不绑定本主机的某个特定ip,让路由表决定传到哪个ip(0.0.0.0地址表示所有地址、不确定地址、任意地址)(一台主机中如果有多个网卡就有多个ip地址&#xff…

ntohs, ntohl, htons,htonl的比较和详解

假设在x86平台上,有一个int型变量,在内存中的内部由低到高分别是:0x12,0x34,0x56,0x78当通过网络发送该数据时,正确的发送顺序是 0x78,0x56,0x34,0x12 X86 系列 CPU都是 little-endian 的,所以int 型变量值为 0x78563412, 网络发送数据时,采…

c语言中htonl函数,htonl()函数学习

今天在网上看到一篇关于htonl()函数的解释,感觉有道理,贴过来大家一起学习! htonl就是把本机字节顺序转化为网络字节顺序 h---host 本地主机 to 就是to 了 n ---net 网络的意思 l 是 unsigned long 所谓网络字节顺序(大尾顺序)就是指一个数在内存中存储的时候“高对低&#x…

ntohl()、htonl()函数

ntohl()将一个无符号长整形数从网络字节顺序转换为主机字节顺序, ntohl()返回一个以主机字节顺序表达的数。ntohl()返回一个以主机字节顺序表达的数。 htonl()将主机数转换成无符号长整型的网络字节顺序。本函数将一个32位数从主机字节顺序转换成网络字节顺序。 #…

Linux网络编程笔记 - 03 UDP - 主机字节序转换网络字节序函数

只要数据大于2个字节,发数据时一定要转成大端。 htons:一般用于转换端口号,short,2字节 htonl:一般用于转换ip,long,4字节 ntohl:将网络大端数据转换成主机可以识别的顺序,long = 4字节 ntohs:将网络大端数据转换成主机可以识别的顺序,short = 2字节 book@100a…

C语言详解:指针

文章目录 指针1. 指针的定义1.1 内存划分1.2 指针与指针变量1.3 指针的大小 2. 指针的类型2.1 指针解引用方面2.2 指针 整数方面2.3 总结 3 野指针3.1 野指针的定义3.2 野指针的成因3.3 如何规避野指针 4 指针运算4.1 指针 整数4.2 指针-指针4.3 指针关系运算 5 指针和数组6.…

C语言有关指针的详解笔记

指针 文章目录 指针1.指针是什么2.指针类型3.野指针野指针成因 4.指针运算5.指针和数组6.二级指针7.指针数组 1.指针是什么 在计算机科学中,指针是编程语言中的一个对象,利用地址,他的值直接指向存在电脑存储器中另一个地方的值。由于通过地…

初阶C语言——指针【详解】

文章目录 1.指针是什么2.指针和指针类型2.1 指针的解引用2.2 指针 -整数 3.野指针3.1 野指针成因3.2 如何规避野指针 4. 指针运算4.1 指针-整数4.2 指针-指针4.3 指针的关系运算 5. 指针和数组6. 二级指针7. 指针数组 1.指针是什么 指针理解的2个要点: 指针是内存中…

C语言——指针初阶详解

🐒博客名:平凡的小苏 📚学习格言:别人可以拷贝我的模式,但不能拷贝我不断往前的激情 目录 1. 指针是什么 2. 指针和指针类型 2.1指针类型的第一个意义 2.2指针类型的第二个意义 3. 野指针 3.1 野指针成因 3.2 如何…

C语言中指针的详解

文章目录 前提一.指针基础1.1 变量指针1.2 数据指针1.3 指针的本质1.4 指针数组1.5 指针的移动1.5 Scanf函数的解释 二.指针的进阶玩法2.1 二维指针2.2 结构体指针 结语 前提 指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针也…