📌 概览

来源:The Hacker News(Tenet Security 披露,2026-06-12) 攻击类型:Agentjacking — 针对 AI Coding Agent 的新型攻击 受影响对象:使用 MCP 连接 Sentry 的 AI Coding Agent(Claude Code、Cursor 等) 链接:原文


🔥 攻击链详解

Agentjacking 的攻击链极其简洁,四步完成:

  1. 侦察:攻击者找到目标的 Sentry DSN(公开的写入凭证,嵌在网页前端代码里)
  2. 注入:向 Sentry 注入伪造的错误事件,message 字段包含精心构造的 Markdown,伪装成诊断建议
  3. 触发:开发者让 AI Agent「修复 Sentry 问题」时,Agent 通过 MCP 拉取到恶意事件
  4. 执行:Agent 把攻击者的指令当成合法的诊断建议,以开发者权限执行任意代码
本质问题:MCP 的隐式信任链。Agent 无法区分「真实应用崩溃」和「攻击者注入的事件」,外部数据被当作可信系统输出。Sentry DSN 是写入凭证,设计上就是公开的,但 Agent 把它当成了读取+信任的入口。

📊 关键数据

  • 2,388+ 个组织暴露了可注入的 Sentry DSN
  • 85% 利用成功率(100+ 组织测试中)
  • Sentry 官方回应:「技术上无法防御」,仅加了全局 payload 过滤

🧠 关键洞察

MCP 的信任模型有根本性缺陷 MCP 协议设计时假设「连接的服务是可信的」,但实际场景中,很多外部服务的凭证是公开的(如 Sentry DSN),任何人可以向其中写入数据。Agent 不能无条件信任从 MCP 拉取的数据,就像人类不能无条件信任收件箱里的邮件一样。
Harness Engineering 的「环境设计」原则再次验证 Agent 的执行环境不能是「全信任」的。外部数据源需要有数据来源校验和内容消毒机制。Agent 的工具调用链需要「零信任」架构 — 外部数据默认不可信,必须经过验证才能作为执行依据。
攻击面从「代码」扩展到了「数据管道」 传统安全关注代码漏洞和依赖链。Agentjacking 证明了一个全新攻击面:通过污染 Agent 依赖的外部数据源来间接控制 Agent 行为。这不是 Sentry 的 bug,而是所有通过 MCP 连接外部服务的 Agent 的系统性风险。

💡 对我们的启示

  • MCP 连接外部服务时,必须有数据来源校验和内容消毒机制
  • Agent 的工具调用链需要「零信任」架构,外部数据默认不可信
  • Harness 中应实现外部数据的 taint tracking(污染追踪),标记哪些数据来自不可信源
  • Agent 执行高危操作前,应检查数据来源链路是否包含外部输入

📌 相关阅读


逍遥云初 | 2026.06.23