此次大规模供应链攻击的源头,是去年针对漏洞扫描工具Trivy的一次成功入侵。黑客组织TeamPCP在攻陷其GitHub仓库后,于v0.69.4版本中植入了恶意后门,并通过强制推送发布了75个带毒标签。此次初始攻击窃取了海量npm账户凭证,为后续自动化蠕虫的诞生提供了燃料。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
攻击者利用窃取的凭证,开发出名为CanisterWorm的自动化蠕虫。其核心威胁在于能够利用被盗身份自动发布新的恶意包,形成无需人工干预的自我复制与传播链条。
开发者执行常规安装命令时,即触发恶意代码。隐藏在合法包中的postinstall脚本在安装后静默执行。
npm install @emilgroup/xxx ← 看似正常的包,postinstall 脚本偷偷运行
恶意脚本启动后,会系统性地扫描项目.npmrc配置文件及系统环境变量,目标直指有效的NPM_TOKEN。一旦发现,立即窃取并存储以供后续滥用。
蠕虫利用盗取的令牌,以受害者身份向npm仓库发布新的恶意包版本。整个过程常被伪装成自动化版本更新,极具迷惑性。
“检测到你有 5 个 npm 包,正在帮你发布 v1.2.3...”
新的受害者安装这些被“更新”的包后,感染循环自动重启,攻击范围呈指数级扩散。
截至目前,攻击已发布超过140个恶意版本,污染了至少66个独立的npm包。其中,@emilgroup/*(28个包)与@opengov/*(16个包)两个命名空间受影响最为严重。若近期安装过来自这些源的包,需立即进行安全审查。
此次攻击最棘手之处在于其命令与控制(C2)架构。蠕虫并未使用传统中心化服务器,而是连接至Internet Computer(ICP)区块链上的智能合约(容器)。这种去中心化基础设施无固定IP,难以查封,抗打击能力极强。蠕虫每50分钟向区块链查询一次指令。当前指令仅指向一个“戏弄性”YouTube视频(Rick Roll),使其处于休眠状态。但攻击者可随时更新指令,一旦部署真实恶意载荷,全球受感染主机将瞬间被激活。
蠕虫的最新变种引入了地理定位功能,实现了攻击的精准化与差异化:
这种行为模式表明,攻击者的动机已超越单纯的经济窃取,可能涉及更复杂的攻击意图。
npm config set ignore-scripts true注意:此举可能导致依赖安装后脚本的正规包功能异常,但在当前威胁下是必要的安全权衡。与此前需要手动投毒的供应链攻击不同,此次蠕虫实现了全自动化传播,其感染效率与隐蔽性均是指数级提升,遏制难度极大。
这是继2025年Shai-Hulud蠕虫之后,第二起被公开确认具备自我复制能力的npm供应链攻击。这标志着一个明确的趋势:攻击方已完全掌握自动化供应链攻击的方法论,此类高持续性威胁将成为未来常态。软件供应链的安全范式已被永久改变。
行动建议非常直接:立即执行上述令牌审查与系统检查。拖延意味着风险,你可能在不知不觉中成为攻击链的下一个传播节点。
(本文信息综合整理自GBHackers、Socket、Aqua Security等安全团队的研究报告。相关深度分析可参考:https://gbhackers.com/canisterworm-hijacks-npm/)