根据外媒BleepingComputer近日的报道,多个PyPI软件包被发现含有后门,原因是这些软件包的某些版本存在恶意的“请求”依赖,涉及的软件包包括pyanxdns, api-res-py,以及保持。
以保持为例,它会使用合法的Python模块请求来进行HTTP请求,但保持v.1.2版本中包含了一个名为请求的模块(注:后者缺少末尾的字母),虽然仅有一个字母的差异但没有年代的请求被认定为恶意依赖。
受影响的各个软件包版本及CVE ID如下:
<李> cve - 2022 - 30877:保持v1.2版本受到影响李 <李> cve - 2022 - 30882: pyanxdns v0.2版本受到影响李 <李> cve - 2022 - 31313: api-res-py v0.1版受到影响李早在5月,就有研究人员注意到上述软件包的部分版本包含拼写错误的请求依赖,而不是合法的请求。虽然pyanxdns和api-res-py规模相对较小,用户数量也不算多,但保持则是一个周下载量平均超过8000次的软件包,如上所述其1.2版本使用了恶意依赖。
通过查看保持v1.2版本的代码可以发现该版本包含恶意后门,而这个恶意后门就是请求依赖。即使请求被PyPI删除,但还有许多镜像网站没有完全删除这个版本的软件包,所以不知情的用户仍有可能会安装这个包含恶意依赖的软件包。
进一步查看可以发现,代码的第57行包含一个base64编码的URL,指向下面显示的检查。所以恶意软件。分析员还发现了另一个URL (x。pyx),也与请求依赖关系有关。
<前> <代码类=" language-cpp "> & lt; http://dexy>(。)/请求/check.so & lt; http://dexy> (。)/x.pyx其中检查。所以传递了一个远程访问木马(老鼠),而x。pyx包含信息窃取恶意软件,可以从Chrome, Firefox, Yandex,勇敢等网络浏览器窃取饼干和个人信息。
在多个PyPI软件包中同时出现相同的恶意依赖,确实给人们提出了一个关键问题——这是怎么发生的?
外媒BleepingComputer尝试联系了这些软件包的作者,以了解这个问题是由单纯的打错了字产生的,还是维护者账户被劫持所导致。从pyanxdns作者和维护者挞伐Egeb吗?ck那里得到的回复确认,这个错误确实是由打错字所造成的。
Egeb吗?ck表示:
很抱歉,在设置。py文件中出现了一个打字错误,根据git历史记录显示,这是在我添加install_requires的时候添加的。
此后,该开发者重新向PyPI上传了一个新版本,并删除了引用恶意需要依赖的版本。
目前有在项目中使用pyanxdns, api-res-py,以及保持的开发者还是需要查看一下目前在使用的版本是什么,避免受到漏洞的影响,尽快升级到最新版本,或使用其他软件包进行替换。
0 留言