提示注入不是一句“忽略之前指令”:2026 年 AI Agent 的真实攻击面

当 AI 能浏览网页和调用工具,页面文字就可能变成攻击代码。

分享
提示注入不是一句“忽略之前指令”:2026 年 AI Agent 的真实攻击面
传统程序把网页当数据;Agent 既把网页当数据,又可能把其中的句子当命令。这就像档案里夹了一张伪造的消防疏散令。

早期讨论提示注入时,人们常把它想成聊天框里的文字游戏:用户要求模型忽略系统提示。真正棘手的是间接提示注入。Agent 访问网页、邮件、PDF、Issue 或日志时,攻击者可以把指令藏在这些外部内容里,诱导模型调用工具、泄露数据或改变目标。用户没有输入恶意提示,恶意内容却进入了模型上下文。

到 2025-2026 年,OWASP、OpenAI、Anthropic 和 MCP 社区都把它视为 Agent 安全的核心问题。结论并不乐观:模型鲁棒性持续提升,但没有哪一个浏览器 Agent 可以被当作对提示注入免疫。工程重点因此从“写一个更强的系统提示”转向限制数据如何变成动作。

攻击需要跨过一座桥:不可信数据到高影响动作

单独阅读一段恶意文字不一定造成损失。危险发生在 Agent 同时拥有敏感数据和外部动作:读邮箱后能发邮件,读本地文件后能访问任意 URL,浏览网页后能执行 shell。OpenAI 对 Agent 提示注入的描述也强调,不可信外部内容与传输数据、点击链接或调用工具组合时,风险会显著上升。

因此防守可以围绕这座桥展开:标记外部内容为不可信;禁止它改变用户目标;限制能读取的数据;限制可调用工具;对外发、删除、购买、授权等动作要求确认;限制网络目标。任何一层失效,其他层仍应阻止完整攻击链。

为什么过滤“坏句子”不够

攻击指令可以编码、拆分、放进图片、CSS、代码注释或看似正常的业务文本中。它也不必明确写“忽略之前指令”,只需让模型相信某个动作是完成任务的必要步骤。依赖关键词黑名单,就像只检查信封上是否写着“这是炸弹”。

模型侧训练和检测器有价值,但属于概率防线。系统应假设检测会漏报,并用确定性控制约束后果。例如浏览工具只能访问允许域名,邮件工具默认只生成草稿,文件工具只能读取任务目录,shell 工具运行在无长期凭据的沙箱。

确认窗口也可能只是橡皮图章

如果确认对话只写“是否继续”,用户很难判断风险。有效确认应显示动作、目标、数据范围和不可逆后果,例如“将把客户名单中的 312 个邮箱发送到 external.example”。把模型生成的理由和真正的工具参数分开呈现,防止恶意内容在理由里掩盖目标。

高频确认会让人形成点击习惯,因此只在信任边界和高影响动作处确认。低风险只读操作可自动执行;跨域发送、权限提升、删除和发布必须停下来。确认不是越多越安全,而是越能解释风险越安全。

URL 本身可以成为泄漏通道

即使 Agent 不能直接发送请求正文,攻击者也可能诱导它访问包含秘密的 URL 路径或查询参数,远端服务器从访问日志获得数据。2026 年 OpenAI 公开讨论了 Agent 点击链接时的 URL 级数据外泄防护,说明“允许打开链接”并非天然只读。

浏览工具应阻止把上下文中的私人数据拼进未知 URL,限制重定向和非常规协议,并对从私有页面跳往外部域名的请求提高风险等级。DNS、短链和开放重定向也会让域名白名单变得更复杂。

个人使用 AI 浏览器的安全姿势

把工作分成不同浏览器配置或容器:一个用于公开网页研究,不登录敏感账户;一个用于后台操作,不随意访问外部链接。关闭不必要的剪贴板、下载目录和本地文件访问。让 Agent 在研究阶段只收集与总结,在真正提交表单、发送信息和修改服务器前切换到明确确认。

遇到网页要求“把这段内容复制到终端”“上传配置文件以验证”或“关闭安全设置继续”,应把它当成网页内容,而不是任务授权。授权只能来自用户和受信任策略,不能由正在被浏览的页面自己授予。

可以直接照着做的检查清单

  • 把网页、邮件、PDF、Issue 和工具输出统一标记为不可信数据。
  • 拆开读取敏感数据与对外发送能力,避免同一 Agent 同时拥有。
  • 对删除、发布、授权、付款和跨域外发显示参数级确认。
  • 限制浏览器可访问域名、协议、重定向和 URL 中的数据拼接。
  • 公开研究与敏感后台使用不同浏览器配置和凭据环境。
  • 保留工具调用日志,记录模型看到了什么、执行了什么。

延伸阅读

提示注入无法靠一句更强硬的提示彻底解决;真正可靠的是让不可信文字即使被误信,也没有足够权限完成危险动作。