根据外媒 BleepingComputer 近日的少打报道,多个 PyPI 软件包被发现含有后门
,个字个原因是母多这些软件包的某些版本存在恶意的 request 依赖
,涉及的引入依赖软件包包括 pyanxdns
、api-res-py,恶意以及 keep。少打 以 keep 为例,个字个它会使用合法的母多 Python 模块 requests 来进行 HTTP 请求 ,但 keep v.1.2 版本中包含了一个名为 request 的引入依赖模块(注 :后者缺少末尾的字母 s),免费模板虽然仅有一个字母的恶意差异但没有 s 的 request 被认定为恶意依赖
。 受影响的少打各个软件包版本及 CVE ID 如下: 早在 5 月,就有研究人员注意到上述软件包的个字个部分版本包含拼写错误的 request 依赖,而不是母多合法的 requests。虽然 pyanxdns 和 api-res-py 规模相对较小 ,引入依赖用户数量也不算多 ,恶意但 keep 则是一个周下载量平均超过 8000 次的软件包,云计算如上所述其 1.2 版本使用了恶意依赖。 通过查看 keep v1.2 版本的代码可以发现该版本包含恶意后门,而这个恶意后门就是 request 依赖。即使 request 被 PyPI 删除,但还有许多镜像网站没有完全删除这个版本的软件包,所以不知情的用户仍有可能会安装这个包含恶意依赖的软件包 。 进一步查看可以发现,代码的第 57 行包含一个 base64 编码的 URL,指向下面显示的服务器租用 check.so 恶意软件。分析员还发现了另一个 URL(x.pyx)
,也与 request 依赖关系有关。 其中 check.so 传递了一个远程访问木马(RAT),而 x.pyx 包含信息窃取恶意软件,可以从 Chrome
、Firefox、Yandex、Brave 等网络浏览器窃取 cookies 和个人信息
。 在多个 PyPI 软件包中同时出现相同的恶意依赖,确实给人们提出了一个关键问题 —— 这是怎么发生的? 外媒 BleepingComputer 尝试联系了这些软件包的作者 ,以了解这个问题是高防服务器由单纯的打错了字产生的,还是维护者账户被劫持所导致。从 pyanxdns 作者和维护者 Marky Egebäck 那里得到的回复确认,这个错误确实是由打错字所造成的
。 Egebäck 表示 : 很抱歉,在 setup.py 文件中出现了一个打字错误
,根据 git 历史记录显示,这是在我添加 install_requires 的时候添加的亿华云



