深扒npm恶意包新变种:从“偷Token”到“AI注入”,供应链攻击进入NextLevel

admin 2026-03-03 05:27:09 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文深入分析了代号为SANDWORM_MODE的npm供应链攻击新变种,揭示了攻击者利用MCP协议对AI编程助手进行提示词注入,窃取敏感凭证;利用本地LLM实现多态变异绕过检测;以及具备蠕虫传播与自毁能力。文章列出了具体恶意包清单,建议开发者审查依赖、使用密钥管理工具、定期轮换凭证并关注工作流文件,防范供应链安全风险。 综合评分: 92 文章分类: 供应链安全,恶意软件,AI安全,漏洞预警,实战经验


cover_image

深扒 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)

还有几个目前看起来没恶意代码,但也是同伙发布的“休眠包”:ethresiru-cachesiruchacheuudi

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》

评论:0   参与:  0