安全公司 Tenet Security 披露了一种名为"Agentjacking"的新型攻击,可以通过伪造的 Bug 报告劫持 AI 编程代理,在开发者的机器上执行攻击者控制的代码。

Agentjacking 通过伪造 Sentry 错误报告劫持 AI 编程代理,85% 攻击成功率
攻击原理
第一步:注入伪造错误
- 攻击者使用公开的 Sentry DSN(数据源名称)发送伪造错误事件
- 不需要密码,不需要入侵系统
- 伪造的错误报告中隐藏"Resolution"部分,格式与 Sentry 官方建议完全一致
第二步:AI 代理读取并执行
- 开发者要求 AI 代理"修复未解决的 Sentry 问题"
- AI 代理通过 MCP(模型上下文协议)读取 Sentry 数据
- 代理无法区分真实崩溃和注入的攻击
- 代理使用开发者的权限执行攻击者的命令
第三步:数据窃取
- 环境变量(AWS 密钥、GitHub 令牌、Sentry 认证令牌)
- Git 凭证和私有仓库 URL
- 开发者身份信息
- 所有数据静默传输到攻击者服务器
攻击范围
Tenet Security 在受控测试中发现:
- 成功率:85% 的注入错误被 AI 代理执行
- 受影响产品:Claude Code、Cursor、Codex
- 暴露组织:2,388 家组织,从 2500 亿美元企业到独立开发者
- 安全绕过:攻击绕过 EDR、防火墙、IAM 和 VPN
为什么防御困难
Tenet 将此称为"授权意图链"(Authorised Intent Chain):
- 没有未授权操作:整个攻击链中没有任何未授权的行为
- 代理信任工具响应:AI 代理将 MCP 工具响应视为可信系统输出
- 提示防护无效:即使告知代理忽略不可信数据,代理仍然执行代码
- Sentry 拒绝修复:Sentry 承认问题但称"技术上无法防御"
行业影响
- 该攻击暴露了 AI 代理工具链中的根本性信任问题
- MCP 集成成为新的软件供应链攻击前沿
- 企业在部署 AI 代理到生产环境时需要重新评估安全策略
来源:Tenet Security, The Next Web, The Hacker News, Infosecurity Magazine