新型安全问题,再次拉响警报。近日,研究人员发现了一种大规模的、类似“沙虫”(Shai-Hulud)的NPM 供应链蠕虫,正在侵入开发者的电脑、CI 流水线以及 AI 编程工具。
安全公司 Socket 的研究人员揭露了这场正在发起的新型攻击行为,并将其命名为 SANDWORM_MODE。该名称源自恶意软件运行逻辑中嵌入的 “SANDWORM_*” 环境变量开关。
从拼写错误到全面接管
研究发现,至少有 19 个通过“拼写错误投毒”(typosquatting)手段发布的恶意包被发布,它们冒充流行的开发工具和 AI 相关软件。攻击者利用开发者输入错误或 AI 生成错误依赖项的漏洞进行传播。
研究人员在博文中写道:“这次攻击针对了 Node.js 生态中多个高流量的开发工具、加密货币工具,以及人们正在高度关注的——快速崛起的AI编程工具。其中有三个包冒充了 Claude Code,还有一个针对了近期在 GitHub 上爆火的 AI 代理 OpenClaw。”
一旦安装并执行了恶意包,恶意软件就会开始搜寻敏感凭据,包括NPM 和 GitHub 的令牌、环境密钥以及云服务密钥。随后,攻击者利用这些被盗的凭据向其他代码仓库推送恶意更改,注入新的依赖项或工作流,从而扩大感染链。
毒害 AI 开发者界面
这次攻击事项中,最引人注目的是它对 AI 编程助手的直接针对性。
恶意软件会部署一个恶意的 Model Context Protocol (MCP) 服务器,并将其注入到流行 AI 工具的配置中,将自己嵌入为助手环境中的一个受信任组件。
一旦得逞,攻击者便可以利用提示注入(prompt-injection)技术欺骗 AI,诱使其获取本地的敏感数据(如 SSH 密钥或云凭据),并在用户不知情的情况下将数据传送给攻击者。
沙虫的“死开关”
除了窃取数据,这个恶意软件还实现了一个类似“沙虫”的“死开关”(dead switch)。该开关默认处于关闭状态,一旦恶意软件检测到被分析或特定条件触发,就会启动,擦除用户的主目录。
研究人员称,这是一场“真实且高风险”的威胁,建议防御者将这些包视为已造成实际破坏的风险源进行处理。
此外,研究人员还补充道,该活动使用了一种被武器化的 GitHub Action,有可能在 CI 流水线内部放大攻击,在构建过程中提取密钥并实现进一步的传播。