NPM 受到恶意活动影响
关键要点
- NPM 注册处受到恶意攻击,导致服务不稳定,频繁出现“服务不可用”错误。
- 攻击者利用知名的开源生态系统发布大量空包,诱骗用户。
- 近期恶意攻击活动激增,超过140万个包在上个月发布。
- 攻击者使用复杂的恶意软件,隐藏在下载链接中,难以被检测到。
- NPM 团队已实施反机器人机制,保护注册处免受自动账户创建的攻击。
最近,一场恶意活动影响了 NPM 的运行,导致服务时常不可用,具体表现为拒绝服务(DoS)情形。根据 Checkmarx在4月4日发布的,攻击者创建了恶意网站,并发布了大量空包,这些包链接到这些网站,利用开源生态系统的良好声誉吸引用户。
自动化脚本的巨量加载,导致其不稳定,频繁产生“服务不可用”的错误。
Checkmarx 的 CxDustico 主管 Tzachi Zornstain 对 SC Media 表示:“此攻击影响了 NPM的稳定性,这一点尤其令人担忧。毕竟 NPM 是现代软件开发者的关键组成部分。”
他补充道:“我们怀疑攻击者并不打算破坏 NPM 的稳定性,但这一巨大攻击确实造成了意外后果。”
虽然开源存储库常常成为垃圾邮件活动的目标,但 Checkmarx 软件供应链安全负责人成员 Jossef Harush Kadouri表示,过去一个月的攻击潮是他见过的“最严重”的一次。
通常,每月在 NPM 上发布的包数量在 700,000 到 800,000 个左右,但由于垃圾邮件活动的显著增加,上个月发布的数量猛增至 1.4 万个。
Kadouri在博客文章中提到:“由于开源生态系统在搜索引擎上的良好声誉,任何新的开源包及其描述都继承了这种良好声誉,使得它们在搜索引擎上更易被发现,从而误导用户。”
“显然,攻击者发现未经审核的开源生态系统是一个容易进行 SEO 中毒的目标。只要名称未被占用,他们就可以发布无限数量的包。”
更令人担忧的是,研究人员发现,攻击者传播的恶意软件具有很高的混淆性、规避性,并具备反调试能力。这些包的描述链接到下载一个包含600MB零填充.exe文件的恶意密码加密zip文件。Kadouri指出,这种策略使得恶意活动更难被
EDR 系统检测到。
经过进一步调查,研究人员观察到攻击者使用多种技术,包括 DLL侧载和虚拟化/沙箱规避,以盗取凭据和挖掘加密货币。此外,研究人员还发现攻击者禁用工具与防火墙,以及投放 Glupteba、RedLine、SmokeLoader 和 xmrig 等工具。
针对这一事件,NPM 团队实施了反机器人机制,以提高自动账户创建的门槛,防止类似攻击。
Zornstain 建议开发者应始终保存使用包的本地副本,并推荐他们查看 OpenSSF 安全供应链消费框架
(),以了解如何安全地使用开源包。
随着攻击者不断变化策略,以干扰软件供应链,开源生态系统中的威胁仍在演变。Checkmarx 的研究人员在2月份观察到了一次类似的攻击(),他们怀疑这种攻击是由同一名威胁参与者实施的。