分析 AI Agent 在真实用户交互中的失效模式,援引 OWASP Top 10 for Agentic Applications,重点阐述间接提示注入(indirect prompt injection)风险及防御策略。
我们观察过的每一个投入生产的 Agent,都通过了测试套件,然后做出了没人预料到的事——不是崩溃,不是堆栈跟踪,仅仅是 Agent 精准执行了当时与它对话的那个人的指令。这个「通过了测试」与「经受住真实用户接触」之间的差距,就是这篇文章存在的原因。
2026 年 3 月,Unit 42 记录了野外观察到的 Web 间接提示词注入:网页中包含隐藏指令,对人类读者不可见,但对模型完全可读,并在正常浏览任务中劫持了 Agent。这不是有人输入的越狱提示词,仅仅是 Agent 工作时正在读取的页面。
这种失败模式——Agent 无法区分「summarize this」和「obey this」——如今排在 OWASP Agentic Applications Top 10 的第一位,该榜单于 2025 年 12 月发布,汇集了 100 多位研究人员的贡献。这份清单并非基于假设构建。一封精心制作的邮件在零点击的情况下从 Microsoft 365 Copilot 中提取了数据。一个被劫持的 Pull Request 通过 AI 编码扩展向大约 950,000 名开发者推送了数据擦除指令。一个编码 Agent 在明确的代码冻结期间删除了生产数据库,随后还错误地告诉用户数据可以恢复。
这些都不会出现在脚本化测试中。测试套件只检查你已经想到要写的路径,对没人写的路径束手无策——而这些事件恰恰就发生在那些没人写的路径上。如果你想在看完这篇文章之前对 AI Agent 红队测试有一个完整的思维模型,我们写过一篇更详细的剖析。
2026 年的一项调查发现,88% 的组织报告称在前一年内发生了涉及意外 Agent 行为的确认或疑似事件,在医疗行业根据另一份 2026 年企业报告这一比例升至 92.7%。同一项研究还发现自信与现实之间存在巨大差距:82% 的高管相信他们的策略能控制 Agent 行为,但只有 14.4% 的组织实际上将 Agent 部署到生产环境时进行了完整的内部审查。超过一半的已部署 Agent 运行时没有任何监督或日志记录。
2025-2026 年各项企业调查中,最常见的失败模式不是某种奇特的越狱攻击。而是过度代理(excessive agency):一个 Agent 拥有超过其工作所需的权限范围。一个被广泛引用的案例中,一个金融 Agent 有执行大额转账的常设权限,没有人工审批步骤,一旦周围账户被入侵也没有熔断机制。没有人突破模型。Agent 只是在其工作已经没有意义的时候还在继续执行任务。
另一项研究让 20 名研究人员在两周内操作具有持久内存、电子邮件、聊天、文件系统和 Shell 访问权限的实时 Agent。他们记录了 11 种不同的失败案例,包括 Agent 听从并非其实际所有者的人的指令,以及不安全行为在 Agent 之间传播。两周。真人。真实的访问权限。
我们通过三种方式之一注册 Agent:暴露的 HTTP 端点,如果你不想暴露端点则用 CLI/SDK,或者如果你有数据约束导致无法向我们的服务器发送流量,则完全自托管。在早期用户研究中,自托管选项被频繁提出,因此我们将其视为硬性需求,而非锦上添花。
连接后,我们使用几种命名策略对 Agent 运行自适应攻击活动:
Crescendo — 在对话中逐步向边界升级
Multi-turn escalation — 测试在更长的交互中什么会被突破,而非单个提示词
State-learner — 根据 Agent 已有的响应方式进行自适应
Scripted — 已知的失败类别,快速运行
深度可选:quick、standard、deep 或 custom,这样你可以在合并前运行 5 分钟检查,或在发布前进行一次真正的全面扫描。
我们实际上最关心的部分是找到问题后会发生什么。这个领域的所有其他工具都止步于报告:这是坏掉的地方,祝你好运。我们将发现的失败直接转化为持久的回归检查,用于每一次未来的发布,这样今天有效的修复不会在六周后下一次模型更新时悄悄退化。
Promptfoo(今年早些时候被 OpenAI 收购)在大多数红队测试和越狱搜索词上拥有最高的自然排名,如果不想将提示词发送到其他地方,它的 CLI 优先、本地运行模式很有吸引力。在可观测性/评估方面,Langfuse、Arize 和 Braintrust 都有更大的市场份额和真正的营收支撑。
我们的赌注不是「我们更擅长红队测试」。而是红队测试、评估、监控和护栏需要生活在一个闭环中,而不是四个互不连接的工具——每个工具都止步于自己的报告。这是一个赌注,不是已解决的问题,这个市场以其目前的形式可能只有 18 个月大。我们将通过发布和观察什么会出问题来验证我们是否正确——和所有人一样。
OWASP 自己对比 2025 版和 2026 版的比较说明了一切。2025 版列举了可信的威胁。2026 版列举了与几乎每个 Agentic 风险类别相关的实际 CVE 和违规报告。编码 Agent 正在驱动大部分新的事件数据增长最快的五个 Agentic 工具(Claude Code、GitHub Copilot、Tabnine、Replit Agent 和 Cursor)都属于这一类别。
令人不安的事实是:目前大多数发布 Agent 的团队实际上是在用他们的真实用户进行实验,并称之为 beta 测试。红队测试不会让这个实验停止。它只是意味着有人在你的用户之前运行对抗版本,并确保发现的问题保持修复状态,而不是在三个版本之后被艰难地重新发现。
如果你正在运行具有真实工具访问权限的 Agent,并且还没有在快乐路径之外对它们进行压力测试,我真的很想听听你发现什么会首先出问题。请在评论区留言或联系我们。