你正在用一个开源项目。挺好, star 很多, PR 活跃,上周还 merge 了一个"优化配置文件"的提交。
你 clone 下来,打开 Cursor 或者 Claude Code ,开始写代码。
然后,你的 SSH 密钥就被发到了某个黑客的服务器上。

你不是第一个中招的。 5 月 24 日,一场名为"TrapDoor"的供应链攻击同时袭击了 npm 、 PyPI 和 Crates.io 三大包管理器,涉及 34 个恶意包,目标直指 AI 开发者的钱包、 SSH 密钥和云凭证。
但真正炸裂的,不是攻击规模,而是攻击方式——黑客向开源项目注入被篡改的 CLAUDE.md 和.cursorrules 文件。当你用 AI 工具打开项目时, AI 助手把这些恶意指令当作"权威配置"乖乖执行了。
问题不在代码,在"信任"
这是一个很有意思的新攻击面。
以前的供应链攻击,手法都很"传统":藏段恶意代码到依赖包里、在 npm 包名上玩 typosquatting 、或者搞个看起来人畜无害的 postinstall 脚本。
但 TrapDoor 不一样。它攻击的不是你的代码,而是你的 AI 助手的信任链。
CLAUDE.md 是为 Claude Code 的项目级指令文件,.cursorrules 是 Cursor 的配置规则。它们的角色是"告诉 AI 怎么和你协作"——本质上是一份你给 AI 的授权书。

问题是:这份授权书如果被改写了, AI 会听谁的?
答案是:谁的它都听。因为它分不清哪个是你写的,哪个是黑客塞进来的。
争议点:我们是否过度信任 AI 助手?
正方观点: AI 助手的安全性设计严重滞后。
一个工具能让用户"无权限执行"的命令在开发者不知情下运行——这设计本身就是在邀请攻击者。 CLAUDE.md 应该加上来源验证、签名机制、执行沙箱。不是说这些功能不该有,而是说这些功能暴露得太快了,安全机制没跟上。
反方观点:文件本来就是你的, AI 只是在执行指令。
CLAUDE.md 不过是一个新格式的配置文件,黑客写的恶意代码哪儿都有,管好你自己的审查流程才是正解。
我的看法?两者兼有,但侧重点需要调一调。
问题在于,开源的代码审查文化没有同步更新到"AI 指令文件"这个新品类。传统的 Code Review 只看代码改了什么,但注入一个.cursorrules 文件看起来人畜无害,几百行不到的配置,谁会想到里面藏着"替我偷 SSH 密钥"的指令?
给你三条能用的建议
不贩卖焦虑,说点实际的:

你没法阻止黑客搞事情。但你可以让他们的生活更困难一点。
🦞
攻击细节来源: X @kimmonismus 5 月 24 日报道
夜雨聆风