据外媒BleepingComputer近日报道,多个PyPI包被发现含有后门,因为这些包的某些版本存在恶意'request'依赖,涉及的包包括pyanxdns,api-res-py,并保留。以keep为例,它会使用合法的Python模块requests来进行HTTP请求,但是keepv.1.2版本包含了一个名为request的模块(注意:后者少了末尾的字母s),虽然只有一个字母没有s的请求被认为是恶意依赖。受影响的软件包版本和CVEID如下:CVE-2022-30877:keepv1.2versionisaffectedCVE-2022-30882:pyanxdnsv0.2versionisaffectedCVE-2022-31313:api-res-pyv0.1版受到影响早在5月份,研究人员就注意到上述软件包的某些版本包含拼写错误的请求依赖项,而不是合法请求。pyanxdns和api-res-py规模较小,用户不多,而keep是一个平均每周超过8000次下载的软件包,其1.2版本使用了如上所述的恶意依赖项。通过查看keepv1.2版本的代码,我们可以发现该版本包含一个恶意后门,这个恶意后门就是requestdependency。尽管request已被PyPI移除,但仍有许多镜像站点并未完全移除此版本的包,因此不知情的用户仍有可能安装带有恶意依赖项的此包。进一步检查发现代码的第57行包含一个base64编码的URL,指向如下所示的check.so恶意软件。分析师还发现了另一个URL(x.pyx),也与请求依赖性有关。
