PYPI上数款恶意组件可窃取用户信用卡资料或是身份验证权限

DevOps平台JFrog的安全研究团队发现了数个托管在PYPI中的恶意组件,经JFrog迅速回应,这些恶意组件已经全部遭到删除。JFrog侦测到的恶意组件,包括noblesse和pytagora等系列组件,能够窃取用户身份验证权限、信用卡资料以及执行远程程序代码注入等攻击。

软件组件存储库成了攻击者的热门攻击目标,近期NPM、PYPI和RubyGem等主要存储库,都出现遭到攻击的消息。JFrog提到,开发人员毫无戒心的信任存储库,并且从这些来源安装组件,当恶意组件被意外地允许上传至存储库时,开发人员就可能在无意之间,下载安装这些恶意组件,使得攻击者得以在开发者的工作管线成功发动攻击。

根据Pepy.Tech的资料,JFrog发现的这几个恶意组件,已经被下载约3万次,不过目前他们尚未掌握实际影响的资料。这些恶意组件都使用了简单的混淆技术(Obfuscation),像是使用Base64编码器来编码Python文本,或是使用eval函数来将解码的文本转为程序代码,官方提到,虽然这些技术可以轻易地骗过静态分析工具,但是这样的包装反而会吸引研究人员的目光,对这些程序代码进行深入研究。

由于这些混淆程序代码存在特定的字符串,使得研究人员发现,这些组件使用公共工具python-obfuscator进行处理,其中aryi组件则是使用了permit进行混淆,这表示恶意开发人员尝试采用不同的混淆方法。

这些恶意组件的目标不同,第1号noblesse系列恶意负载(Payload)能够窃取通信软件Discord的身份验证权限,官方表示,这个窃取权限的负载源自恶名昭彰的dTGPG(Discord Token Grabber Payload Generator),这是一个未公开的负载生成器,但是生成的负载有公开,并且被上传到GitHub中作为范例。noblesse系列第2号恶意组件,则会窃取浏览器自动完成的敏感资料,包含用户的信用卡以及密码,noblesse系列第3号恶意组件,则会收集系统信息,像是IP地址、计算机名称、Windows授权密钥信息、Windows版本和屏幕截屏。

pytagora系列的恶意组件,则会执行远程程序代码注入,简单来说,恶意程序代码会尝试连接一个私有IP的TCP端口口9009,并且执行任何从Socket读取到的Python程序代码。

用户应该检查应用程序的相依项目,当发现本地端安装了noblesse组件,则可能发生敏感资料泄露的情况,包括Edge浏览器存储的密码,以及Chrome浏览器所存储的信用卡,都可能遭到盗用,用户可以考虑更换。另外,如果安装的是pytagora组件,官方建议可以使用杀毒软件扫描,或是采取其他恶意软件检查步骤。