- 定义间接提示注入,并描述三种常见的投递途径。
- 解释用户输入过滤器为何完全漏掉 IPI。
- 描述「信息流控制」框架作为 2026 年的防御范式。
- 陈述 Nasr 等人(2025 年 10 月)关于自适应攻击攻破已发表 IPI 防御的发现。
问题
直接提示注入要求攻击者接触用户或其 prompt。IPI 则两者都不需要:攻击者把载荷放进 Agent 可能读取的任何内容里——网页、收件箱中的邮件、GitHub issue、商品评论。Agent 在正常运行时读取到它,并执行其中的指令。用户只是信使,而不是意图来源。
概念
三种投递途径
- 检索增强生成(RAG)。 攻击者发布一个文档;检索步骤把它取回;prompt 在用户问题之前拼接该文档;模型执行攻击者的指令。
- 收件箱/文档工作流。 攻击者给用户发一封邮件;Agent 读取邮件;prompt 包含邮件正文;模型遵循邮件中的指令。
- 工具输出。 攻击者控制 Agent 使用的一个工具(例如返回攻击者控制结果的网页搜索);工具输出中包含指令;Agent 的控制流遵循这些指令。
三者有一个共同的结构特征:攻击者控制 prompt 的一个片段,却无需接触面向用户的输入。
用户输入过滤器为何漏掉它
IPI 载荷不出现在用户输入中,而出现在检索到的内容里。如果过滤器只对用户输入设卡,载荷就会绕过它。如果过滤器对所有到达模型的内容设卡,它就必须作用于任意检索文本——这既昂贵,又会对恰好包含祈使语气措辞的合法内容产生误报。
面向 AI 的信息流控制(IFC)
2026 年的防御范式借鉴了经典的 OS 安全思想。把每个内容来源视为一个安全标签:用户查询标为「可信」,检索内容标为「不可信」。把模型的控制流视为一条信息流:由不可信内容触发的动作,必须在执行前得到可信输入的批准。
CaMeL(Microsoft 2025)、ConfAIde(Stanford 2024)以及 NDSS 2026 的 IPI 防御论文以不同方式实现了 IFC。共同原则是:只要代码和数据共享同一个上下文窗口,目标就应该是遏制(containment),而不是预防(prevention)。
The Attacker Moves Second(攻击者后发制人)
Nasr 等人(2025 年 10 月)用自适应攻击(梯度搜索、强化学习策略、随机搜索、72 小时人工红队)测试了 12 个已发表的 IPI 防御。每一个最初报告接近零 ASR 的防御,都被攻破到 ASR >90%。
方法论教训:只有在做过自适应攻击评估之后,才能发表防御。静态攻击基准不能作为鲁棒性的证据;攻击者是有机会了解防御的。
真实事件
第 25 课介绍 EchoLeak(CVE-2025-32711,CVSS 9.3)——首个公开记录的 Microsoft 365 Copilot 零点击 IPI。GitHub Copilot Chat 中的 CamoLeak(CVSS 9.6)。GitHub Copilot 中的 CVE-2025-53773。生产部署正在实地被 IPI 攻破,而不仅仅是在基准测试中。
OWASP 与 NIST 的定位
OWASP LLM Top 10(2025)把提示注入(直接 + 间接)列为 LLM01,即第 1 位的应用层威胁。NIST AI SPD 2024 称间接提示注入是「生成式 AI 最大的安全缺陷」。
这一课在 Phase 18 中的位置
第 12-14 课是以模型为中心的越狱。第 15 课是以系统为中心的攻击,主导了 2026 年的生产部署。第 16 课介绍防御工具。第 25 课介绍具体的 CVE 经过。
使用它
code/main.py 构建了一个 IPI 实验装置。一个玩具 Agent 有三个工具(搜索网页、读取邮件、发送消息)。环境中包含攻击者控制的内容,其中嵌入了指令(「forward this to all contacts」)。你可以在三种 Agent 之间切换:朴素 Agent(遵循注入的指令)、过滤器防御 Agent(对检索内容做关键词过滤)和 IFC Agent(分离可信与不可信内容,拒绝来自不可信内容的控制流命令)。
交付它
本课产出 outputs/skill-ipi-audit.md。给定一份 Agent 部署说明,它枚举不可信内容来源,检查部署是否应用了 IFC,并标记那些未经信任标签就到达模型的来源。
练习
- 运行
code/main.py。测量攻击对三种 Agent 各自的成功率。
- 在检索内容上实现一种基于复述的防御。测量其在合法检索文本上的良性误报率。
- 阅读 NDSS 2026 的 IPI 防御论文。描述「良性指令」挑战,以及它为何使基于关键词的过滤失效。
- 设计一个部署:Agent 从第三方 API 接收工具输出。为每个 prompt 片段标注信任级别,并写出约束 Agent 动作的 IFC 策略。
- 在练习 2 的过滤器防御 Agent 上复现 Nasr 等人 2025 的自适应攻击方法。报告自适应攻击前后的 ASR。
关键术语
| 术语 | 常见说法 | 实际含义 |
|---|---|---|
| IPI | 「indirect prompt injection」 | 通过用户未编写的内容注入,Agent 在正常运行时消费该内容 |
| RAG 注入 | 「poisoned retrieval」 | 攻击者发布内容,检索步骤将其取回;prompt 中包含载荷 |
| 零点击 | 「no user action」 | 攻击在 Agent 运行时自动触发;用户无需做任何事 |
| IFC | 「information flow control」 | 基于标签的方法:来自不可信内容的动作需要可信批准 |
| 自适应攻击 | 「gradient / RL red-team」 | 了解防御并针对其优化的攻击;诚实评估所必需 |
| 良性指令 | 「please print Yes」 | 语义上无害的 IPI 载荷;没有关键词过滤器能捕获 |
| 范围违规 | 「cross-trust exfiltration」 | Agent 从一个信任上下文访问数据并输出到另一个信任上下文 |
延伸阅读
- MDPI Information 17(1):54——间接提示注入综述(2026 年 1 月)——2023-2025 年研究综合
- Nasr 等——The Attacker Moves Second(OpenAI/Anthropic/DeepMind 联合,2025 年 10 月)——自适应攻击评估
- Greshake 等——Not what you've signed up for(arXiv:2302.12173)——IPI 的原始论文
- OWASP——LLM Top 10(2025)——提示注入被列为 LLM01