降低浏览器 Agent 的 Prompt Injection 风险

原文:Mitigating the risk of prompt injections in browser use

导读

浏览器 agent 必须读取不可信网页、邮件和文档,也能点击、填表和下载文件。Anthropic 解释了 prompt injection 为什么是浏览器 agent 的核心安全问题,以及 Claude Opus 4.5 和 Claude for Chrome 的多层防御思路。

说明:本文按 Agent Learning 的中文阅读页格式,对原文结构与关键技术细节做中文转述与解读。

核心观点

正文

什么是 prompt injection

agent 要真正有用,就必须能代表用户浏览网页、完成任务、使用上下文和数据。但只要 agent 处理互联网内容,它就会遇到不能完全信任的输入。攻击者可以把恶意指令藏进网页、邮件或文档,诱导模型改变行为。

文章举了一个典型场景:用户让 Claude 读取最近邮件并草拟会议回复,其中一封邮件用白色隐藏文字要求 agent 把包含 confidential 的邮件转发给外部地址。人类看不到这段文字,但 agent 可能处理并执行。

浏览器使用为什么更危险

所有处理不可信内容的 agent 都有 prompt injection 风险,浏览器场景尤其复杂。第一,攻击面巨大:网页、嵌入文档、广告、动态脚本都可能包含恶意指令。第二,浏览器 agent 能做的动作很多:导航、点击、填表、下载文件。

这意味着攻击者不仅能影响回答文本,还可能影响真实操作。agent 能力越强、权限越多,注入成功后的 blast radius 越大。

Claude 的防御进展

Anthropic 表示,Claude Opus 4.5 在浏览器使用中的 prompt injection robustness 相比旧模型有明显提升,Claude for Chrome 从 research preview 扩展到 Max 用户 beta 也基于这些改进。

但文章刻意保守:即使 attack success rate 只有 1%,对高价值任务仍是风险。没有浏览器 agent 对 prompt injection 免疫,当前结果代表进展,不代表终点。

三层主要防线

第一层是训练。Anthropic 用 reinforcement learning 把带有 prompt injection 的模拟网页内容放进训练,让 Claude 在识别并拒绝恶意指令时得到 reward。

第二层是 classifier。系统扫描进入 context window 的 untrusted content,识别隐藏文本、被操纵图片、欺骗性 UI 等对抗性命令,并在检测到攻击时调整 Claude 行为。

第三层是 red teaming。内部安全团队持续寻找漏洞,外部 Arena 风格挑战也用来测试行业范围的 robustness。文章强调,人类 red team 在发现创造性攻击向量上仍很强。

深度解读

prompt injection 是 agent 安全里最“互联网原生”的问题:模型不只是读用户指令,也读全世界写给它看的内容。浏览器 agent 把信息检索和真实操作放在同一个循环里,所以传统 Web 安全、权限设计、内容信任边界和模型行为训练必须合并考虑。对产品团队来说,关键不是问“有没有一个提示词能防注入”,而是把不可信输入、敏感工具、不可逆动作和用户确认做成系统边界。

落地启示