少打一个字母,多个 PyPI 软件包引入恶意依赖(图)

行业动态 创建于:2022-06-16
  根据外媒 BleepingComputer 近日的报道,多个 PyPI 软件包被发现含有后门,原因是这些软件包的某些版本存在恶意的 'request' 依赖,涉及的软件包包括 pyanxdns、api-res-py,以及 keep。   以 keep 为例,它会使用合法的
Python 模块 requests 来进行 HTTP 请求,但 keep v.1.2 版本中包含了一个名为 request 的模块(注:后者缺少末尾的字母 s),虽然仅有一个字母的差异但没有 s 的 request 被认定为
恶意依赖。   受影响的各个软件包版本及 CVE ID 如下:   
·CVE-2022-30877:keep v1.2 版本受到影响   
· CVE-2022-30882:pyanxdns v0.2 版本受到影响   
· CVE-2022-31313:api-res-py v0.1 版受到影响
  早在 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 依赖关系有关。   <http://dexy>[.]top/request/check.so    <http://dexy>[.]top/x.pyx

  其中 check.so 传递了一个远程访问木马(RAT),而 x.pyx 包含信息窃取恶意软件,可以从 Chrome、Firefox、Yandex、Brave 等网络
浏览器窃取 cookies 和个人信息。
  在多个 PyPI 软件包中同时出现相同的恶意依赖,确实给人们提出了一个关键问题 —— 这是怎么发生的?   外媒 BleepingComputer 尝试联系了这些软件包的作者,以了解这个问题是由单纯的打错了字产生的,还是维护者账户被劫持所导致。从 pyanxdns 作者和维护者 Marky Egeb?ck 那里得到的回复确认,这个错误确实是由打错字所造成的。   Egeb ck 表示:   很抱歉,在 setup.py 文件中出现了一个打字错误,根据 git 历史
记录显示,这是在我添加 install_requires 的时候添加的。   此后,该开发者重新向 PyPI 上传了一个新版本,并删除了引用恶意 require 依赖的版本。   目前有在项目中使用 pyanxdns、api-res-py,以及 keep 的开发者还是需要查看一下目前在使用的版本是什么,避免受到
漏洞的影响,尽快升级到最新版本,或使用其他软件包进行替换。


  
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理

21天更文挑战,赢取价值500元大礼,还有机会成为签约作者!

原文地址:http://www.51testing.com/?action-viewnews-itemid-7789476

免责声明:本文来源于互联网,版权归合法拥有者所有,如有侵权请公众号联系管理员

* 本站提供的一些文章、资料是供学习研究之用,如用于商业用途,请购买正版。

发表于:2022-6-16 09:02 作者:OSCHINA 来源:OSCHINA