伪造的空软件包正在占领 NPM ,甚至短暂地导致拒绝服务 (DoS) 攻击。
Checkmarx 在上周发布的一份 npm 恶意行为分析报告中介绍:
针对开源生态系统的恶意活动正在导致大量垃圾邮件、SEO 中毒和恶意软件感染。
这些攻击造成了拒绝服务 (DoS),使 NPM 不稳定,甚至出现零星的‘服务不可用’错误。
通常,单月在 NPM 上发布的包版本数量约为 80 万。然而,上个月 NPM 的新包数量超过了 140 万。
这些空包来源于一些恶意行为者创建的自动化发布流程:他们先创建一些带病毒的恶意网站,然后在 npm 等开源生态平台上发布带有这些网站链接的空包。
由于开源生态系统在搜索引擎上的权重非常高,这些新的空软件包也会在搜索结果中排在前面。
这些空包的 README.md 文件会包含恶意站点,或者带着推荐 ID 跳转到一些电商网站的链接,以此获取电商平台的推荐费。
而且整个恶意软件包的发布过程是自动化的,大量包所产生的负载导致 NPM 在 2023 年 3 月底间歇性地遇到稳定性问题。甚至出现不响应的 DoS 表现。
为防止此类自动化活动,Checmarx 建议 npm 在用户帐户创建过程中加入反机器人技术,避免一些恶意攻击者使用自动化技术轻易地创建大量垃圾软件包。