近日,有研究人员发现,一些热门的npm包遭到入侵,攻击者利用窃取到的令牌将带有加密挖矿恶意软件的版本发布到了官方包注册表中。
Rspack 的开发人员透露,他们的两个npm 包@rspack/core 和 @rspack/cli均被入侵。Rspack 被宣传为 webpack 的替代品,是一款用 Rust 编写的“高性能 JavaScript 打包工具”。最初由字节跳动开发,现在已经被阿里巴巴、亚马逊、 Discord 和微软等几家公司采用。受影响的两个包每周的下载量分别超过 30万次和 14.5万次,表明它们颇受开发人员欢迎。
对这两个库的恶意版本进行的分析显示,它们包含了调用远程服务器(“80.78.28[.]72”)的代码,用于传输敏感的配置信息,例如云服务凭据。同时它们还通过向“ipinfo[.]io/json”发出 HTTP GET 请求来收集 IP 地址和位置信息。为了取得性能和隐秘性的平衡,恶意加密挖矿活动还将CPU使用率限制在了75%。
值得注意的是,这种攻击还把感染范围限制在了特定一些国家,如中国、俄罗斯、白俄罗斯和伊朗。攻击的最终目标是在安装这些包时,在受影响的 Linux 主机上触发 XMRig 加密货币挖矿软件的下载和执行。这一操作需通过“package.json”文件中指定的一个 postinstall 脚本来实现。
目前含有恶意软件的版本已被撤下,新发布了安全的1.18版本。此外,项目维护人员还表示,他们已经作废了所有现有的 npm 令牌和 GitHub 令牌,检查了代码库和 npm 包的权限,并审核了源代码是否存在潜在的漏洞,对令牌被窃取的根本原因进行了调查。
据悉,针对 Rspack的npm包的攻击还包含另一个名为Vant的npm 包,该包每周下载量超过 4.1 万次。 Sonatype的研究人员表示,攻击者成功地将几个被感染的版本发布到了 npm 注册表中,包括 2.13.3 、2.13.4 、2.13.5 、3.6.13 、3.6.14 、3.6.15 、4.9.11 、4.9.12 、4.9.13 和4.9.14版本。目前,最新的安全版本4.9.15已发布,建议受影响的用户及时升级。