TrapDoor 是一场横跨 npm、PyPI 和 Crates.io 三大代码仓库的协同供应链攻击,已植入 34 个恶意包、超 384 个版本,专门窃取加密货币钱包数据、SSH 私钥、AWS 凭证与 GitHub 令牌等开发者高价值凭据。 攻击主要瞄准加密货币、去中心化金融(DeFi)、Solana、Sui 及 AI 领域的开发者,并开创性地利用零宽 Unicode 字符在 .cursorrules 和 CLAUDE.md 等 AI 编码助手的配置文件中注入隐匿指令,将开发者的 AI 工具变为窃密通道。

Create a landscape editorial hero image for this Studio Global article: What is the "TrapDoor" supply chain attack, how does it work across npm, PyPI, and Crates.io, which developer communities and cryptocurrency. Article summary: Here is a comprehensive breakdown of the TrapDoor supply chain attack.. Topic tags: general, general web, user generated. Reference image context from search candidates: Reference image 1: visual subject "# TrapDoor Crypto Stealer Supply Chain Attack Hits 34 Packages and Hundreds of Versions Across npm, PyPI, and Crates.io. TrapDoor crypto stealer hits 36 malicious packages across n" source context "TrapDoor Crypto Stealer Supply Chain Attack Hits 34 Packages..." Reference image 2: visual subject "# TrapDoor Crypto Stealer Supply Chain Attack Hits 34 Packages and Hundreds of Versions Across npm, PyPI, and Crates.io. TrapDoor crypto stealer hits 36 malicious pac
一场名为 TrapDoor 的大规模供应链攻击正在威胁全球开发者,它通过 npm、PyPI 和 Crates.io 三大主流代码仓库,将凭据窃取恶意软件植入到伪装成正常开发工具的软件包中。安全公司 Socket 的研究人员最早发现了这次攻击,目前已确认 至少 34 个恶意包、超过 384 个版本 参与其中,最早的活动记录可追溯到 2026 年 5 月 22 日 UTC 时间 20:20 。
这场攻击并不是漫无目的地撒网,它目标明确——加密货币、去中心化金融(DeFi)、Solana、Sui 以及 AI 领域的开发者成了主要猎物 。攻击者很清楚,这些开发者手里往往掌握着钱包私钥、云基础设施权限和关键代码库的访问令牌,一旦攻破一台工作电脑,就等于打开了通往巨额资产和核心运维体系的大门
。
更令人警惕的是,TrapDoor 使用了一种前所未见的逃逸技术:利用零宽 Unicode 字符,把恶意指令藏进 .cursorrules 和 CLAUDE.md 这类 AI 编码助手的配置文件里。这些字符在普通文本编辑器中完全隐形,人类开发者和常规代码审查根本看不出任何问题,但 Cursor、Claude Code 等 AI 工具在读取文件时,却能“看到”并执行这些隐藏命令,从而在“例行安全扫描”的伪装下,悄悄完成信息收集和外泄 。
TrapDoor 攻击团伙同时对 npm、PyPI 和 Crates.io 发起渗透,并根据每个仓库的技术特点,量身定制了不同的恶意行为触发方式 。
这次攻击中,npm 是重灾区。恶意包利用 postinstall 钩子,在包安装后自动执行一个名为 trap-core.js 的核心载荷——该脚本长达约 1,149 行,能系统性地扫描受害者的开发环境,寻找各类凭据并外传 。
Python 生态中的恶意包手法更隐蔽,它们在包被导入时(import time)会从远程服务器拉取并执行一段 JavaScript 载荷,从而实现与 npm 版本相同的凭据窃取逻辑 。
针对 Rust 开发者,攻击者选择在 build.rs 构建脚本中动手脚。这意味着,哪怕恶意包的核心功能还没有真正被调用,构建过程一旦启动,窃密代码就已经开始运行 。
这些恶意包都把自己包装成对开发效率“有帮助”的工具,比如 token-usage-tracker(令牌使用追踪器)、prompt-engineering-toolkit(提示工程工具包)、eth-wallet-security-auditor(以太坊钱包安全审计器)等,名字听起来相当专业,很容易让目标社区的程序员放松警惕 。
TrapDoor 的窃密载荷像是一台不知疲倦的扫描仪,在受害机器上搜寻各种高价值“钥匙”。根据 Socket 团队的逆向分析,以下凭据类型是他们的重点目标 :
在多份公开报告中,MetaMask 和 Phantom 这两个主流浏览器钱包扩展被明确点名 。GitHub 令牌的失窃尤其危险,攻击者不仅能访问私有代码库,更可能向 CI/CD 流水线植入恶意代码,或以受害开发者的身份横向渗透,进入更多系统
。
Socket 的调查确认,攻击方的主要目标是 加密货币、DeFi、Solana、Sui 以及 AI 领域的开发者 。恶意包的命名策略几乎是为这些社区量身定做的,主题高度集中在钱包安全审计、交易监控、智能合约开发以及 AI 上下文工具等方面。
攻击者之所以如此精准地“投放”,是因为他们明白,这些生态里的开发者不仅拥有实际控制着大额资产的私钥,还能接触云基础设施并持有开发工具链上的各种高权限——一台工作站的沦陷,通常就意味着财务损失和运营灾难的双重打击 。
TrapDoor 最令人拍案的技术创新,在于它直接挑战了开发者与 AI 编码助手之间的信任边界。恶意包会尝试在项目中修改或植入 .cursorrules 和 CLAUDE.md 文件——这两个配置文件正是开发者用来向 Cursor、Claude Code 等 AI 编程工具“交代”项目专属规则的地方 。
攻击者在这里动了手脚:他们在文件中嵌入使用零宽 Unicode 字符(比如 U+200B、U+200C、U+FEFF)编写的隐藏指令。在 VS Code 或者 Vim 这类编辑器里,这些字符不会显示任何痕迹,肉眼和常规代码 diff 完全看不出任何异常 。
然而,AI 编码助手在解析文件时,会完整读取 Unicode 文本。因此,它们会忠实地把那些隐藏指令解读为项目需求的一部分,然后可能在开发者毫无察觉的情况下,执行凭据收集、源码外泄甚至运行任意 Shell 命令等危险动作 。
这就形成了一种“二段式”攻击:恶意包本身完成第一阶段的凭据窃取,而受到污染的 AI 配置文件则把开发者的 AI 工具变成了一个“潜伏的帮凶”,为后续更深入、更持续的信息窃取创造条件。事实上,相关研究已经证实,Claude Code 和 GitHub Copilot 等主流 AI 代理平台,确实会在读取含有不可见 Unicode 指令的 Skill 文件后,执行其中的任意命令 。
尽管攻击手法诡谲,Socket 的检测体系响应得非常及时。在所有 381 个具备完整时间戳的包版本中,中位检测时间仅为 5 分 27 秒,最快的一次在恶意包发布仅 58 秒后就完成识别 。
正是因为这种快速响应能力,研究人员才能在第一个可疑包出现后的 48 小时内,将那些看似孤立、分散在各仓库里的异常发布串连在一起,最终拼凑出 TrapDoor 这场协同攻击的全貌 。
目前,在 npm、PyPI 和 Crates.io 三个仓库中已确认的 34 个恶意包,均已被通报给各仓库的维护方进行下架处理 。
TrapDoor 的破坏力在于它能在你毫无知觉的情况下,把你的凭据和权限全部“复制”走。时间窗口非常有限,建议立刻按以下步骤排查:
npm auditpip listCargo.lock,寻找已公布的 34 个恶意包。~/.bashrc、~/.zshrc、~/.profile 以及 ~/.config/fish/config.fish,看看有没有可疑的别名设定,或者没有注释的 curl、wget 下载命令。.git/hooks/ 目录下的 pre-commit、post-commit、pre-push 等钩子文件,确认没有未被授权的脚本。鉴于攻击的重点之一就是 GitHub 令牌,你的仓库权限随时可能被滥用。.github/workflows/ 目录下是否有不明来源的 YAML 文件,或者已有的工作流是否被添加了奇怪的 curl / wget 步骤。.cursorrules 和 CLAUDE.md 文件,检查其中是否包含零宽 Unicode 字符。可以使用下面这条正则命令作为快速排查:grep -P '[\x{200B}-\x{200F}\x{2028}-\x{202F}\x{FEFF}]' .cursorrules CLAUDE.mdcrontab -l~/.config/systemd/user/)、以及 macOS 下的 LaunchAgents(~/Library/LaunchAgents/),删除任何不明条目。Studio Global AI
Use this topic as a starting point for a fresh source-backed answer, then compare citations before you share it.
TrapDoor 是一场横跨 npm、PyPI 和 Crates.io 三大代码仓库的协同供应链攻击,已植入 34 个恶意包、超 384 个版本,专门窃取加密货币钱包数据、SSH 私钥、AWS 凭证与 GitHub 令牌等开发者高价值凭据。
TrapDoor 是一场横跨 npm、PyPI 和 Crates.io 三大代码仓库的协同供应链攻击,已植入 34 个恶意包、超 384 个版本,专门窃取加密货币钱包数据、SSH 私钥、AWS 凭证与 GitHub 令牌等开发者高价值凭据。 攻击主要瞄准加密货币、去中心化金融(DeFi)、Solana、Sui 及 AI 领域的开发者,并开创性地利用零宽 Unicode 字符在 .cursorrules 和 CLAUDE.md 等 AI 编码助手的配置文件中注入隐匿指令,将开发者的 AI 工具变为窃密通道。
所有受影响的开发者应立即轮换所有暴露的凭据(包括钱包种子短语、云密钥与 Git 令牌),排查项目锁定文件中的恶意包,检查 Shell 启动脚本、Git 钩子与 GitHub Actions 工作流是否存在异常,并使用正则命令扫描 AI 配置文件中的不可见字符。