文章总结: 本文深入分析了代号为SANDWORM_MODE的npm供应链攻击新变种,揭示了攻击者利用MCP协议对AI编程助手进行提示词注入,窃取敏感凭证;利用本地LLM实现多态变异绕过检测;以及具备蠕虫传播与自毁能力。文章列出了具体恶意包清单,建议开发者审查依赖、使用密钥管理工具、定期轮换凭证并关注工作流文件,防范供应链安全风险。 综合评分: 92 文章分类: 供应链安全,恶意软件,AI安全,漏洞预警,实战经验
深扒 npm 恶意包新变种:从“偷 Token”到“AI 注入”,供应链攻击进入 Next Level
原创
Hankzheng Hankzheng
技术修道场
2026年2月26日 07:57 广东
如果你以为 npm 投毒还停留在“写个 install 脚本偷走你的 .env”这种初级阶段,那由于咱们行业发展太快,你的认知可能需要更新一下了。
最近,安全公司 Socket 披露了一个代号为 SANDWORM_MODE 的攻击行动。这波攻击不仅仅是恶心,简直是“脑洞大开”。黑客们不仅搞出了多态变异(Polymorphic),甚至开始利用我们最信任的 AI 编程助手(Claude, Cursor, VS Code)来反向攻击我们。
今天咱们就来硬核拆解一下,这帮黑客是把技术栈玩出了什么花样。
01 这一次,AI 成了“内鬼”
这次攻击最让我震惊的,是黑客对 MCP(Model Context Protocol) 的恶意利用。
咱们做开发的都知道,MCP 是最近的大红人,它让 AI 模型(像 Claude、Cursor)能够标准化地连接本地数据和工具。但黑客恰恰盯上了这一点。
技术原理拆解:
恶意 npm 包中包含了一个名为 McpInject 的模块。当你如果不小心安装了这些包,它会干这几件事:
-
伪装潜伏
它会在你的 AI 编程助手(Claude Desktop, Cursor, VS Code Continue 等)的配置文件中,悄悄注入一个恶意的 MCP Server。
-
Prompt Injection(提示词注入)
这个恶意的 MCP Server 会伪装成一个合法的工具提供商,注册三个看似人畜无害的工具。
-
借刀杀人
关键来了!这些工具里嵌入了精心设计的 Prompt。当你在和 AI 对话时,AI 会被诱导去调用这些恶意工具。
-
窃取核心机密
一旦调用,AI 就会乖乖地读取你的
~/.ssh/id_rsa、~/.aws/credentials、.npmrc以及.env文件,并把它们打包发给黑客。
细思极恐的是:
传统的防火墙或杀毒软件可能根本拦不住,因为读取文件的是你信任的 AI 助手进程(比如 Cursor.exe),这对系统来说是完全合法的操作。
更离谱的是,它还会顺手牵羊,偷走你绑定的 Anthropic、OpenAI、DeepSeek 等 9 大模型的 API Key。
02 黑客也用 LLM:本地化的“多态变异”
你没听错,黑客也在搞“AI 原生应用”。
在这个恶意样本中,研究人员发现了一个多态引擎(Polymorphic Engine)。虽然在目前捕获的版本中这个功能暂时被关闭(Feature Flag 设为 Off),但其代码逻辑已经暴露了黑客的野心。
它是怎么工作的?
它会尝试调用你本地运行的 Ollama 实例,并指定使用 DeepSeek Coder 模型。
黑客利用 DeepSeek 的代码生成能力,对自己恶意代码进行重构:
-
重命名变量
把
steal_data改成calc_math。 -
重写控制流
把
if-else变成复杂的switch-case。 -
插入垃圾代码
混淆视听。
目的只有一个: 绕过静态代码扫描(SAST)和特征码检测。这意味着,未来的病毒每感染一台机器,长得都不一样。这简直是给杀毒软件出了一道无解的题。
03 蠕虫属性与“自毁开关”
除了 AI 相关的花活,这个 SANDWORM_MODE 还保留了经典的蠕虫属性。
它不仅仅满足于偷你的电脑,它还想利用你的身份去感染别人:
-
窃取 CI/CD 凭证
:通过 GitHub Action 窃取 Secrets,并带有 DNS 降级回传机制。
-
身份冒用
:利用偷来的 npm 和 GitHub Token,以你的名义发布新的恶意包,或者篡改你名下的仓库。
最狠的是它的“自毁机制”:
代码里藏了一个 Wiper(擦除器) 功能。虽然目前默认是关闭的,但一旦黑客远程激活,或者当恶意程序发现自己连不上 GitHub/npm 时,它会直接触发——清空你的 Home 目录。
这不仅仅是丢币、丢号的问题了,这是要彻底毁了你的开发环境。
04 避雷清单:请立即自查!
这次攻击主要通过 Typosquatting(域名/包名抢注) 进行传播。黑客注册了两个马甲:official334 和 javaorg。
请立刻检查你的 package.json 和 node_modules,是否存在以下包:
-
claud-code(高危!伪装成 Claude)
-
cloude-code/cloude -
opencraw(伪装成 OpenAI 相关)
-
veim(伪装成 viem)
-
rimarf(伪装成 rimraf)
-
secp256 -
naniod -
crypto-locale/crypto-reader-info -
detect-cache -
format-defaults -
hardhta -
locale-loader-pro -
node-native-bridge -
parse-compat -
scan-store -
suport-color(少了一个 p)
-
yarsg(伪装成 yargs)
还有几个目前看起来没恶意代码,但也是同伙发布的“休眠包”:ethres, iru-caches, iruchache, uudi。
05 除了 npm,VS Code 插件也不太平
这波披露还顺带提到了另外两个威胁,我也简单提一嘴,大家留个心眼:
-
buildrunner-dev&eslint-verify-plugin这两个 npm 包专门针对 Windows、macOS 和 Linux 跨平台攻击。尤其是
eslint-verify-plugin,伪装成 ESLint 工具,实则在 macOS 上部署 Apfell (JXA agent),在 Linux 上部署 Poseidon 木马。偷书签、截屏、偷剪贴板,甚至伪造密码弹窗骗你的管理员密码。 -
恶意 VS Code 插件
solid281它伪装成官方的 Solidity 插件。一旦你启动 VS Code,它就会在后台悄悄下载 ScreenConnect 或反向 Shell。搞区块链开发的兄弟们尤其要注意,黑客现在盯着 Solidity 开发者薅。
最后
现在的安全环境,真的不仅仅是“别乱点链接”那么简单了。
作为开发者,我们的环境(VS Code, Cursor, npm, CI/CD)本身就成了黑客眼中的“高价值靶场”。黑客利用 AI 工具的特性进行“降维打击”,这是一个非常危险的信号。
给你几条建议:
-
Review 一切:
引入新包时,多看一眼名字,别手滑打错字。
-
Key 的管理:
尽量别在本地明文存 Key,用 1Password 或 Vault 吧。
-
定期轮换:
如果你怀疑自己可能中招了(哪怕只是怀疑),立刻重置所有 GitHub Token、npm Token 和 SSH Key。
-
关注
.github/workflows:定期看看有没有多出奇怪的 Action 文件。
安全无小事,别让自己的生产力工具,变成了黑客的提款机。
转发给你身边的开发者朋友,帮他们排个雷吧。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:技术修道场 Hankzheng Hankzheng《深扒 npm 恶意包新变种:从“偷 Token”到“AI 注入”,供应链攻击进入 Next Level》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论