一个大规模的npm供应链蠕虫正在攻击软件生态系统,渗透开发者机器、CI管道和AI编程工具。
Socket研究人员发现了这项活跃的攻击活动,并将其命名为SANDWORM_MODE,该名称来源于嵌入在恶意软件运行时控制逻辑中的"SANDWORM_*"环境变量开关。
至少有19个仿冒包通过多个别名发布,伪装成热门开发工具和AI相关工具。一旦安装,这些包会执行多阶段载荷,从本地环境和CI系统中窃取密钥,然后使用窃取的令牌修改其他代码库。
该载荷还实现了一个"死亡开关",当恶意软件被检测到时会触发主目录清除功能。研究人员称这项攻击活动是"真实且高风险"的威胁,建议防御者将这些包视为活跃的威胁风险。
仿冒攻击与目标扩散
攻击活动从仿冒开始,攻击者发布与合法包几乎相同名称的包,依靠开发者打字错误或AI生成错误依赖来得逞。
研究人员在博客文章中写道:"仿冒攻击针对Node.js生态系统中几个高流量的开发工具、加密工具,也许最值得注意的是,它们还针对正在快速普及的AI编程工具:三个包冒充Claude Code,一个包针对OpenClaw,这是最近在GitHub上获得超过21万星的病毒式AI智能体。"
一旦恶意包被安装和执行,恶意软件就会寻找敏感凭证,包括npm和GitHub令牌、环境密钥和云密钥。这些凭证随后被用于向其他代码库推送恶意更改,注入新的依赖项或工作流,扩大感染链。
此外,该攻击活动使用武器化的GitHub Action,可能会在CI管道内放大攻击,在构建过程中提取密钥并进一步传播。
针对AI编程助手的攻击
该攻击活动因直接针对AI编程助手而特别引人关注。恶意软件部署恶意的模型上下文协议(MCP)服务器,并将其注入到流行AI工具的配置中,将自己嵌入为助手环境中的可信组件。
一旦实现这一点,提示注入技术就可以欺骗AI检索敏感的本地数据,这些数据可能包括SSH密钥或云凭证,并在用户不知情的情况下将其传递给攻击者。
Q&A
Q1:SANDWORM_MODE攻击是什么?它如何传播?
A:SANDWORM_MODE是一个大规模的npm供应链蠕虫攻击,通过发布与合法包几乎相同名称的仿冒包来传播。一旦安装,恶意软件会窃取本地环境和CI系统中的密钥,然后使用这些密钥修改其他代码库,形成感染链。
Q2:这次攻击为什么特别针对AI编程工具?
A:攻击者专门针对Claude Code和OpenClaw等快速普及的AI编程工具,通过部署恶意的模型上下文协议服务器,将自己嵌入为AI助手环境中的可信组件,然后使用提示注入技术欺骗AI检索并传递敏感数据。
Q3:开发者应该如何防范SANDWORM_MODE攻击?
A:开发者应该谨慎安装npm包,仔细检查包名称避免拼写错误,定期审查项目依赖项,监控CI管道中的异常活动,以及及时更新和扫描开发环境中的安全漏洞。Socket研究人员建议将相关包视为活跃威胁风险。
热门跟贴