先说结论:你那个天天帮你修 bug 的 AI 编程助手,现在可能正帮黑客在你电脑上跑代码。
而且整条链路,没有一个环节是「非法」的。
一条假报错,就能让 Claude Code 听黑客的话
干这件事的是一家叫 Tenet 的安全公司,旗下研究团队 Tenet Threat Labs。他们给这套攻击起了个名字叫 Agentjacking——劫持 Agent。
入口是几乎每个前端项目都在用的错误监控工具 Sentry。
Sentry 怎么收错误信息的?它给每个项目发一串叫 DSN 的凭证,前端代码出了岔子,就拿这串 DSN 把报错 POST 给 Sentry。问题就出在这串 DSN——它本来就是公开的,直接写死在你网站的 JavaScript 里,谁都能从浏览器里扒出来。
于是攻击者只要找到你的 DSN,就能往你的 Sentry 里塞一条假报错。这条假报错表面上是个普通错误事件,但消息体里埋了一段 Markdown,伪装成 Sentry 自己给的「修复建议」。
接下来就看你了。哪天你让 Claude Code 帮忙清一清 Sentry 里的报错,它通过 MCP 去拉数据,把那条假报错连同「修复建议」一起读进来——然后照着建议,跑了一句 npx @某个包 --diagnose。
这个包是黑客的。它带着你本人的权限在你机器上跑,开始翻 AWS 密钥、GitHub token、SSH 私钥、环境变量……
“AI coding agents cannot tell the difference between the data they read and an instruction to act.”
讲人话就是——AI 助手分不清哪些是给它看的数据,哪些是让它动手的命令。在它眼里,Sentry 返回的东西就是可信的系统输出,照做就是了。
最狠的一点:没有一步是「违规」的
传统安全那套防线,在这儿基本失灵。
Tenet 那句话挺扎心:
“Every step is authorized, which is why no security control sees it.”
每一步都是授权过的,所以没有一道安全控制拦得下来。你的 EDR、防火墙、IAM、VPN,全都看着这套流程觉得一切正常——因为确实一切正常。是你自己让 AI 去修 bug 的,是 AI 自己决定跑那条命令的,包也是从正常渠道下载的。
数据有多吓人:
- 2388 家公司被查出有可被注入的有效 DSN
- 攻击在主流 Agent 上的命中率 85%
- 测试中100 多个 AI Agent真的执行了注入进去的代码
- 中招的里头有一家市值 2500 亿美元的财富 100 强公司
- 受影响组织横跨6 大洲、30 多个国家,71 家挤进全球访问量前一百万
而且不挑食:Claude Code、Cursor、OpenAI Codex(沙箱内外都中)、VS Code 上的 Codex 插件、Warp 的命令行 Agent,全都演示成功。系统也不挑——macOS、Windows、WSL、CI/CD 流水线、容器、云上的 GCP 和 AWS,通杀。
Sentry:这事我修不了
最微妙的是 Sentry 的反应。
早在 6 月 3 日,Sentry 就知道了这个洞。但他们拒绝从根上修,理由是一句:
“technically not defensible.”
技术上没法防。
他们的做法是上了个全局内容过滤,把某几段已知的攻击载荷字符串拦掉。至于底层那个「Agent 分不清数据和指令」的问题——没动。
为什么不动?因为这压根不是 Sentry 一家的事。Tenet 自己也说了,这个洞的真正位置,在 AI Agent 处理一切外部数据的方式上。换句话说,今天能从 Sentry 报错钻进来,明天就能从客服工单、GitHub issue、甚至一份文档里钻进来。Sentry 只是第一个被拿来演示的靶子。
这就解释了那句最狠的话:“The default is the exploit.” 默认配置本身就是漏洞。
你能做点什么
Tenet 倒没光吓人,顺手开源了一套叫 agent-jackstop 的东西——几个现成的配置文件,丢进 Cursor 和 Claude Code 里,能给它们处理外部日志、遥测数据时加道闸。
但说到底,这是个架构级的问题。只要 AI Agent 还是把读到的所有东西都当「可信」,这类攻击就堵不死。你今天用 MCP 接了多少个外部数据源,就开了多少扇门。
所以下次再顺手让 AI「帮我把这些报错处理一下」之前,可能得先想想:这些报错,到底是谁写进去的?
参考来源:Agentjacking Attack Tricks AI Coding Agents Into Running Malicious Code(The Hacker News);One Fake Bug Report Hijacked a $250B Company's AI Agent(Tenet Security);CocoLoop、Agentjacking: a fake bug report can hijack your AI coding agent(The Next Web)