R

E02 间接注入真实案例复盘

创建 2026-06-07 更新 2026-06-12 1 条双链 AI 红队与攻防 专题 AI 整理

E02 间接注入真实案例复盘

2025 年 6 月,安全公司 Aim Security 公开了一个编号 CVE-2025-32711、被微软评为 CVSS 9.3 的漏洞:攻击者只需给目标发一封普通邮件,目标什么都不用点,Microsoft 365 Copilot 在后台读到这封邮件后就会被劫持,把用户的内部文件检索出来、编码进一条出站链接外泄。它被记录为”首个在生产级 LLM 系统中被武器化、造成真实数据外泄的零点击 prompt injection”。本节点要解决的问题是:当 Agent 去读外部内容(检索块 / 邮件 / 文档 / 持久记忆 / 工具描述)时,一连串真实事故到底教了我们什么防御教训——而判断主轴只有一句、且必须顶在最前面:Agent 一旦读外部内容,信任边界就从”用户输入框”外移到了”它触及的整个外部世界”;指令与数据在 LLM 里不分离是这些事故共同的根因,所以这些事故没有一个能靠”再加一层内容过滤”治好。

[!warning] 防御导向声明 本节点是防御方视角的真实案例复盘。讲攻击机理只为推导”防线该建在哪一层”,所有案例只取已公开披露的事实防御教训不提供任何可照搬实施的 payload、绕过串或攻击步骤。文中所有 CVSS/绕过率等数字均引自公开漏洞披露与基准报告。


§0 为什么是”信任边界外移”这个框架,而不是”出了几个 bug”

读者脑中会有两个默认框架,都会把人带偏。

默认框架一:“这些都是各家产品自己的实现 bug,修了就好。” 这把 EchoLeak、Slack AI、ChatGPT Memory 当成互不相关的零散事故,得出的对策是”等厂商打补丁”。错在哪:这些事故横跨微软、Salesforce(Slack)、OpenAI 三家最顶尖团队的旗舰产品,且发作部位各不相同(邮件、聊天检索、长期记忆、工具协议),却全部命中同一个根因。能让四个不同团队、不同产品、同一年内栽在同一处,那就不是 bug,是 architecture——是 A03 直接注入 vs 间接注入的产品含义 反复点名的”指令-数据不分离”在不同发作部位的同一种病。

默认框架二:“间接注入 = 一种更隐蔽的恶意输入,加个更强的过滤器就行。” 这是本专题反复警告的系统性滑变:把架构层缺陷误诊成内容层问题。EchoLeak 这个案例的全部价值,恰恰就在于它专门绕过了 Microsoft 已经部署的 XPIA(Cross-Prompt Injection Attempt)分类器——一个为防注入而生的过滤器,没拦住一次真实注入。

正确框架是信任边界外移(trust boundary externalization):传统软件的信任边界画在”用户输入”这一道线上,输入端设防即可。但一旦产品是”会读外部内容的 Agent”,每一次工具返回、每一段检索块、每一封被读取的邮件、每一条工具描述,都把信任边界往外推了一格——而被推到外面的那部分,攻击者比你更容易写。ICLR 2025 论文《Can LLMs Separate Instructions from Data?》给出了能力边界的硬结论:LLM 在架构层面缺乏”被动数据 vs 主动指令”的原则性分离,即便内容对人类不可见也会影响模型处理(来源:ICLR 2025 proceedings,已核实)。一旦接受这个框架,本节点四个案例就不是四个故事,而是同一条判断主轴的四次实证。

[!note] 与 A03 / E01 的分工(不复述) A03 直接注入 vs 间接注入的产品含义 给出了”直接 vs 间接”的威胁模型与概念边界(攻击者≠受害者、攻击面随工具调用线性扩张),本节点不复述其概念,只做逐案例的防御教训深挖E01 Chevrolet 与 Air Canada·边界失效剖解 剖的是直接注入 + 输出越权(用户自己诱导客服),本节点剖的是间接注入(用户在正常使用中被第三方污染的数据攻击)——两节点是攻防实例的两翼,触发器与威胁模型完全不同。


§1 案例一 · EchoLeak(CVE-2025-32711,M365 Copilot,2025,CVSS 9.3):零点击是间接注入的成年礼

公开事实(只取防御所需):Aim Security 于 2025 年 6 月披露,编号 CVE-2025-32711,微软评 CVSS 9.3(Critical),NVD/NIST 一侧评分较低(约 7.5 High)——评分本身的分歧反映了”系统作用域 / 完整性影响”判定不一,这个分歧本身就是 PM 该注意的信号(来源:CVE-2025-32711 NVD 条目;arXiv:2509.10540 “EchoLeak”;Aim Security 2025-06 披露,已 WebSearch 核实)。攻击形态:一封特制邮件进入受害者邮箱,Copilot 在响应用户某个无关问题时把这封邮件作为检索上下文读入,被其中嵌入的指令劫持,检索用户有权访问的内部文件(可达范围含 OneDrive / SharePoint / Teams / 聊天记录等预加载组织数据),并把敏感内容编码进一条出站链接外泄。受害者全程零交互。Aim 把这条新利用路径命名为 “LLM Scope Violation”(LLM 作用域越界)——外部不可信输入操纵模型去访问并泄露它本不该为此请求触达的机密数据,这正是”信任边界外移”的精确技术命名。微软已在 2025 年修复,且无野外被恶意利用的证据。

为什么它是分水岭:在 EchoLeak 之前,间接注入大多停留在 PoC 和基准里(“理论上能、实验室里能”);EchoLeak 是第一个被分配 CVE、命中生产系统、造成真实数据外泄路径的零点击案例。“零点击”三个字改写了威胁模型——传统钓鱼还需要用户点一下,EchoLeak 连这一步都省了,“不操作”本身就是受害条件

防御教训四连(每条只取教训,不复刻步骤)

教训EchoLeak 的实证对应防御层(见 S01 纵深防御可替换栈·输入 模型 输出 权限
“有过滤器”≠“安全”攻击的整个价值就是绕过微软自有的 XPIA 注入分类器①输入过滤层是概率性控制,有假阴性
内容白名单挡不住数据外泄攻击利用 CSP 白名单中的微软自有域(Teams 代理)完成外泄④输出层若只判”内容有害性”会失明
零点击 = 出站监控是最后防线内容本身”无害”(是用户自己的合法文件),唯一可抓点是异常出站流量⑥监控审计层的出站数据流监控
检索范围必须绑权限外泄的是用户”有权访问”的内部文件,越权放大了爆炸半径⑤权限最小化是后果的总开关

判断主轴落地:EchoLeak 把赌注押在”内容检测(XPIA)“上,押错了。正确的防线不在”看这段文字像不像注入”,而在”即使被注入,它能外泄的范围有多大(权限层)+ 它的外泄通道能不能被堵(出站监控)“。这正是 OWASP LLM01:2025 的官方判断——对 prompt injection 可能不存在万无一失的预防,重心须从”完全阻断”转向”降低爆炸半径(blast radius reduction)“(来源:OWASP GenAI LLM01:2025,已核实)。


§2 案例二 · Slack AI 私有频道泄露(2024-08,PromptArmor 披露):检索范围与权限脱钩

公开事实:2024 年 8 月,PromptArmor 披露针对 Slack AI 的间接注入——攻击者在一个 public 频道发布含注入指令的内容,操控 Slack AI 在响应其他用户的查询时,把受害者私有频道里的数据拼接进一个诱导点击的 Markdown 链接、点击后把私有数据带进查询串外泄。根因是 Slack AI 允许查询同时检索 public 与 private 频道、包括用户尚未加入的 public 频道(Slack 一度认为这是预期行为)。更尖锐的两点:(1) 受害者无需身处该 public 频道,攻击即可成立;(2) 2024-08-14 Slack 把”文件内容”纳入 AI 回答后,上传文件里的隐藏文字也成了注入载体,攻击者甚至可能无需是该 workspace 成员(来源:PromptArmor Substack, 2024-08;Simon Willison, 2024-08-20;The Register, 2024-08-21,已 WebSearch 核实。Slack 已修复)。

为什么它值得单列:EchoLeak 教的是”出站要监控”,Slack AI 教的是一个更上游的结构性错误——AI 的检索范围没有和用户的权限严格绑定。当一个本无权读私有频道的查询,能通过被污染的 public 内容把私有数据”借”出来时,问题不在注入本身,而在”检索层把不同信任级别的数据混在一个可达空间里”。

防御教训三连

  • 检索范围 = 用户权限的严格子集,不能多一行。 这是最小权限原则在 RAG/检索层的落地。被注入的不是”数据有没有被读懂”,是”数据在不该被这个查询触达的位置上还能被触达”。
  • 文件上传通道同样是注入入口,不只是聊天框。 PDF/文档里的隐藏文字、零宽字符、超小字号都是载体——任何”会被 Agent 读进上下文的外部内容”都是入口,文档不比邮件安全。
  • 出站链接生成前需独立验证。 把敏感数据拼进链接是间接注入外泄的常见出口形态(与 EchoLeak 同构),链接生成是一个该设独立校验的高危动作。

判断主轴落地:Slack AI 案的根因不是”注入太巧妙”,而是”检索层默认信任了它能检索到的一切”。这与 E01 的 privilege escalation 是镜像——E01 是”输出动作越权”,Slack AI 是”输入检索越权”,两者共享”高信任默认 + 无权限阀门”这同一个病根。


§3 案例三 · ChatGPT Memory 持久化(2024-05,Rehberger 披露):写入比读取更危险

公开事实:安全研究者 Johann Rehberger 披露——2024 年 5 月报告”可经注入向 ChatGPT 记忆植入伪造记忆”,2024 年 9 月给出端到端 PoC(称为 “spAIware”):通过间接注入(载荷可藏在图片或网页里,无需直接访问用户账户)把恶意指令写入 ChatGPT 的长期记忆(Memory),指令一旦落进记忆,会在后续所有对话中持续生效、持续把对话内容外泄到攻击者服务器,而不是只影响当前这一轮。OpenAI 已于 2024 年 9 月在 ChatGPT v1.2024.247 修复(来源:Rehberger / embracethered.com,2024-05 报告 / 2024-09 端到端 PoC,已 WebSearch 核实)。

为什么它单独成案:前两案都是”读”侧(读邮件、读检索块)的瞬时攻击——会话结束,攻击影响也结束。ChatGPT Memory 把战场推进到””侧:注入的不再是一次性指令,而是持久化状态。这把间接注入从”一次性事故”升级成”持续性后门”——攻击者写一次,受益于受害者之后的每一次对话。同类落点还包括向量库、知识库、Agent 的长期状态存储。

防御教训二连

  • 持久化存储是高危注入落点,写入操作需要比读取更严格的来源验证。 读一段被污染的内容,危害止于本轮;把被污染的内容写进记忆,危害延续到所有未来轮。所以”能写入持久层”的动作,其信任门槛必须显著高于”只读”。这直接对应 R03 注入防御 + 权限沙箱 HITL 断点表里”持久化写入(记忆/向量库/知识库)→ 强制来源验证 + 断点”这一行。
  • 持久化注入的检测窗口在写入时,不在读取时。 一旦写进去,每次读取都”看起来正常”(它确实是用户记忆里的内容)。唯一有效的卡点是写入瞬间的来源审查——事后再查,污染已扩散。

判断主轴落地:Memory 案揭示了一个反直觉的优先级——很多团队把防御重心放在”读外部内容时”,但持久化场景下,“写”才是爆炸半径的真正放大器。读是 O(1) 危害,写是 O(后续所有会话) 危害。


§4 案例四 · MCP Tool Poisoning(CVE-2025-54136 “MCPoison” 等,2025):注入战场前移到工具注册阶段

公开事实:Model Context Protocol(MCP)是 2024-2025 Agent 生态的核心工具协议。Tool Poisoning 指攻击者控制一个 MCP 服务器,在工具描述(tools/list 返回的 description 字段)里嵌入隐藏指令——而在 MCP 里,工具描述”就是”被直接载入模型推理的可执行上下文,客户端不做 sanitization、不验来源就把它喂给 LLM,等于”谁控制工具描述,谁就控制模型行为”。其中 CVE-2025-54136(“MCPoison”,CVSS 7.2,影响 Cursor IDE) 是一个典型的 “rug pull” 变体:用户一旦批准了某个 MCP 配置(mcp.json),Cursor 此后不再重新校验——攻击者先提交一份无害配置让开发者批准,事后再把它换成恶意版本,每次启动静默执行(Tenable 编号 CVE-2025-54136,2025-07-16 报告、Cursor 1.3 于 2025-07-29 修复,已 WebSearch 核实)。更广的测评(CSA / PipeLab 等 2026 年 MCP 安全报告与 TrueFoundry MCP Gateway 分析)显示大量 MCP 服务器存在安全问题、多数客户端缺乏对工具描述的静态验证〔具体覆盖比例与 arXiv 编号待 R0.1 复核〕。

为什么它是 2025-2026 的范式跃迁:前三案的注入都发生在运行时(Agent 跑起来、读到外部内容时)。Tool Poisoning 把注入前移到了工具发现/注册阶段(boot time)——在 Agent 还没开始干活、刚加载工具清单时就被污染,且影响所有后续调用。这意味着所有”运行时”的指令-数据分离防御(指令层级、ASIDE、Sanitizer)全部管不到这个孔洞——它们守的是运行时的门,攻击从注册时的窗户进来。这是 S01 纵深防御可替换栈·输入 模型 输出 权限 耦合 C(单层依赖退化为单片奶酪)里点名的 boot-time 孔洞的真实样本。

防御教训三连

  • 工具描述要做静态验证,不能直接信任。 形状校验(长度/Unicode 规范化/零宽字符剥离)+ 服务器来源验证 + 每次调用重新验证参数。这是 R03 注入防御 + 权限沙箱 §5 第四点的落地。
  • 工具列表的”会话中途更新”必须二次验证(防 rug pull)。 已批准 ≠ 永久可信;缓存信任是漏洞。
  • 第三方工具是供应链攻击面。 接入一个 MCP 服务器 = 把它的工具描述纳入你的信任域。这与软件供应链的依赖审查同源——选型时”它对工具描述和返回值做静态验证吗”应是阻塞性问题,不是 nice-to-have。

判断主轴落地:Tool Poisoning 把”信任边界外移”推到了极致——边界不仅外移到运行时读到的内容,还外移到了你加载的每一个工具的元数据。它证明了”加运行时过滤器”这条路的天花板:再强的运行时检测也防不住一个在你启动前就被污染的工具清单。


§5 判断主轴:复盘这四案时 90% 的人会搞错的四个点

把四个案例横切,提炼出 PM 最容易在这里翻车的四个点,每点配症状 → 为什么会错 → 正确做法 → 真实反例

错点一:把间接注入当成”更隐蔽的恶意输入”,指望更强的输入过滤拦干净。

  • 症状:“我们升级了注入分类器/上了更强的 guardrail,间接注入应该没问题了。”
  • 为什么会错:间接注入的载荷根本不经过用户输入框——它从工具返回值、检索块、邮件、工具描述进来,是任务的必要输入,你不能简单拦掉。而过滤器是概率性控制,实测主流平台输入护栏绕过率在 8%–47% 之间(来源:Unit42/Palo Alto, “Comparing LLM Guardrails Across GenAI Platforms”, 2025-06-02,已核实)。
  • 正确做法:承认”读外部内容 = 间接注入是结构性风险”,把重心从”输入端拦截”转移到”降低爆炸半径”——权限最小化 + 数据指令分离 + 高危操作 HITL + 出站监控的异质纵深组合。
  • 真实反例:EchoLeak(CVE-2025-32711)绕过了 M365 Copilot 的 XPIA 过滤器,CVSS 9.3。

错点二:以为”读外部内容”才是攻击面,忽略”写持久层”和”加载工具”两个更危险的部位。

  • 症状:防御只覆盖”Agent 读邮件/网页时”,对记忆写入和工具注册不设独立审查。
  • 为什么会错:读是 O(1) 危害(止于本轮),写持久层是 O(后续所有会话) 危害,加载被污染工具是 O(所有后续调用) 危害。攻击面优先级被读侧的直观性带偏了。
  • 正确做法:持久化写入(记忆/向量库/知识库)强制来源验证 + 断点;工具描述与工具更新强制静态验证。写入与注册的信任门槛必须高于读取。
  • 真实反例:ChatGPT Memory 持久化(spAIware,2024-05)一次写入、长期外泄;MCP Tool Poisoning(CVE-2025-54136)在注册阶段污染、影响所有后续调用。

错点三:把”出站内容看起来无害”当成”没有数据外泄”。

  • 症状:输出过滤只判”内容有没有害”,看到外泄的是用户自己的合法文件就放行。
  • 为什么会错:间接注入的外泄物往往是用户有权访问的合法数据,内容层面完全”无害”,所有”内容有害性”导向的检测全部失明。外泄发生在”通道”上(编码进链接、塞进出站请求),不在”内容”上。
  • 正确做法:④输出层不该重复”内容有害性”判定,而应专攻 ③ 管不到的——结构化输出验证、出站数据外泄检测(编码/链接外泄)、PII 模式匹配;并在 ⑥ 监控层做出站流量异常监控。
  • 真实反例:EchoLeak 把内部文件编码进指向白名单域的出站链接,内容”无害”地完成了外泄。

错点四:把第三方数据源/工具源当成可信,不做供应链审查。

  • 症状:“接个开源 MCP 服务器/第三方检索源,能用就行。”
  • 为什么会错:接入一个外部数据源/工具源 = 把它纳入你的信任域,而它的内容/描述是攻击者比你更容易写的那一侧。这是供应链攻击在 Agent 时代的新形态。
  • 正确做法:工具描述与返回值做静态验证 + 服务器来源验证 + 最小权限沙箱;把”是否做静态验证”列为选型阻塞项。
  • 真实反例:MCPoison(CVE-2025-54136)的 rug-pull——已批准的 MCP 配置被静默替换,Cursor 不重校验;Slack AI 案中上传文件的隐藏文字成为注入载体,攻击者甚至可能无需是 workspace 成员。

§6 产品 PM 视角补盲:用户心智、攻击者经济学、合规倒逼

跳出工程视角,补三个工程师常漏、但决定产品生死的点。

其一,用户心智把”Agent 替我读的”等同于”我自己看过的”——这是攻击面的放大器。 零点击攻击(EchoLeak)之所以致命,正因为用户对”自己没操作”的事毫无防备。传统安全教育是”别点可疑链接”,但 Agent 时代用户根本没有”点”这个动作可防。PM 必须意识到:当产品承诺”Agent 自动帮你处理邮件/文档”时,你同时承诺了”Agent 会替用户消费攻击者能投递的任何内容”——这个承诺的安全代价必须显式定价。

其二,攻击者经济学:间接注入的投递成本趋近于零,且可一对多。 直接注入里攻击者只能攻击自己能访问的会话;间接注入里攻击者污染一个数据源(一封邮件、一个 public 频道、一个 MCP 服务器),就能命中所有读到它的用户——这是一对多的供应链式攻击,投入产出比远高于直接注入。PM 做威胁建模时,必须把”低成本、可规模化、攻击者≠受害者”列为间接注入的默认威胁画像,而非边缘情形。

其三,合规倒逼:出站监控与红队记录正在从”技术选项”变成”法律义务”。 EU AI Act 对系统性风险 GPAI(训练算力 ≥10^25 FLOPs)强制要求部署前对抗性测试(红队)并记录(第 55 条,2025-08-02 适用);NIST AI RMF 的 Manage 功能与 MITRE ATLAS 的缓解映射都假设监控审计层存在且可溯源。对企业 AI 而言,EchoLeak 这类 CVE 直接决定产品能否进金融/医疗客户——安全边界即可售卖边界。这与本专题”安全是第一性架构约束”的立场一致,详见 AI 作为制度现象专题 的”安全规范制定”。


§7 对手框架回应:接受 + 边界

对手立场一(“间接注入的实际风险被高估,基准 ASR 虚高”):一派位置论文(《Multi-Faceted Studies on Data Poisoning can Advance LLM Development》,He et al., arXiv:2502.14182,已核实(2026-06-12))认为许多注入攻击在真实部署中面临重大实施障碍,学界报告的高 ASR 部分来自基准设计缺陷;arXiv:2510.05244(Firewall 论文,已核实(2026-06-12))实证指出 AgentDojo 部分任务因注入向量覆盖了任务关键信息而”无论防御与否都失败”,ASB 强制注入”攻击工具”使 ASR 虚高约 8 倍。接受:这个批评有实锤,所有”0% ASR / 巨幅下降”的基准数字都应带折扣读。边界:但本节点四个案例没有一个来自基准——EchoLeak(CVE-2025-32711)、Slack AI(PromptArmor 披露)、ChatGPT Memory(Rehberger 披露)、MCPoison(CVE-2025-54136)全是已分配 CVE 或公开披露的真实生产事故。基准会高估,真实事故不会撒谎。 PM 的赌注是:对”会读外部内容的 Agent”,宁可按结构性风险设防,也不赌”实施障碍会保护我”。

对手立场二(“威胁模型一旦闭环,间接注入门槛很高”):自托管、闭环工具链、不接第三方数据源的场景下,间接注入的攻击面确实远低于头条渲染。接受:这是对的——风险高度取决于威胁模型。边界:但产品形态决定威胁模型,而有商业价值的 Agent 恰恰是”会读开放外部数据 + 接第三方工具”的那一类(这正是它有用的原因)。一旦威胁模型切到”消费开放外部内容 + 第三方 MCP 服务器”,门槛骤降。结论取决于威胁模型,不是普适判断——但 PM 不能假设自己的产品永远停在闭环里。

Rick 未读的对手框架——Bruce Schneier 的”security is a process, not a product”:Schneier 长期主张安全不是一个能”做完”的功能,而是必须持续运营的过程,且”攻击只会越来越好(attacks always get better)“。把这副镜子照向四案:EchoLeak 之前,零点击间接注入只是”理论风险”;它一出现,整个威胁模型的稳态就变了。这逼问本专题自己的盲点——我们今天给出的所有防御教训,都是某个时间点的快照,不是稳态。Tool Poisoning 把战场前移到 boot time 这件事,在 2024 年的间接注入复盘里根本不存在。Schneier 的冷水值得喝下:本节点的四案不是”间接注入的全集”,是”截至 2026 年初已被公开的发作部位”——下一个部位还没被命名。


§8 跨域呼应:Rick 滴滴安全的”降发生方法论”与 EchoLeak 的出站监控同构

[!note] Rick 的不公平优势 间接注入的防御逻辑,和 Rick 在滴滴/99 做的 降发生方法论(海恩法则应用)是同一套对抗治理思维换了个攻击面。

降发生方法论的核心不是”杜绝每一次注入”——那不可能,正如杜绝每一起交通事故不可能——而是把风险拆成”发生概率 × 后果严重度”,对不可逆、高后果的环节前置卡点,并在先兆层级建立多道拦截。这与 OWASP”从完全阻断转向降低爆炸半径”是字面同构,而四个案例正好把这套方法论的两端都演示了一遍:

  • EchoLeak 的唯一可抓点是出站流量异常 ≈ Rick 的 明镜系统 对司乘异常行为的态势感知——当事前拦截(XPIA)已失效,事中监控是最后防线。注入防御不能只有事前过滤,必须有事中出站态势感知。
  • 持久化写入与高危操作设断点安全感知与干预 的”在高危场景才介入”分级逻辑——不是每个动作都审批(那会审批疲劳),而是删除/外发/写记忆才设硬断点。这与 m207 - Agent 产品化:场景推演与失败模式 的”HITL 断点三维判断(可逆性 × 后果 × 置信度)“是同一个工程直觉。

[!note] 跨域呼应改变了什么判断 没有”降发生 / 海恩法则”,“做出站监控”只是一条工程清单项;有了它,出站监控升级为第一性原理——EchoLeak 证明了”事前必有漏网(概率性控制有假阴性),所以事中监控不是可选项而是结构必需”。Rick 早就内化的那句”你防不住所有坏人,你能做的是让坏事即使发生也后果可控”,正是间接注入防御的本质:四个案例无一能被事前掐灭,但每一个都能被”权限钳制 + 出站监控 + 持久层断点”把后果框死。这不是类比装饰,是同一套方法论的换面发作。


§9 PM 决策启示:面试 / 选型 / 复现

  • 面试怎么用:被问”间接注入有什么真实案例、怎么防”,不要泛泛答”加内容过滤”。答:“看四个真实事故的共同教训——EchoLeak(CVSS 9.3)证明零点击外泄只能靠出站监控抓、内容过滤(XPIA)会被绕;Slack AI 证明检索范围必须严格绑用户权限;ChatGPT Memory 证明写持久层比读外部内容更危险;MCP Tool Poisoning 证明注入战场已前移到工具注册阶段。它们的根因都是指令-数据不分离,所以防线不在’拦得更干净’,而在权限最小化 + 持久层来源验证 + 出站监控 + 工具静态验证的纵深组合。我押的赌注是:基准会高估,但真实 CVE 不会撒谎。”
  • 选型怎么用:评估任何会读外部内容的 Agent 平台,问四件阻塞性问题——(1) 检索范围是否严格绑定到用户权限子集?(2) 写持久层(记忆/向量库)有无独立的来源验证?(3) 出站数据流有无异常监控(防 EchoLeak 类外泄)?(4) 第三方工具描述与返回值有无静态验证(防 Tool Poisoning)?四项缺一即扣分。
  • 复现怎么用(防御方视角):用 AgentDojo(arXiv:2406.13352)做评测台,对比”加 tool filter / 出站监控前后”的 ASR 与效用——AgentDojo 数据显示 tool filter 能把 GPT-4o 的 ASR 从 57.7% 压到 6.8% 且保持 73.1% 效用。但要警惕 §7 的基准缺陷,“0% ASR”要谨慎解读。不要去复现攻击 payload,要去复现”防御能压低多少 ASR、出站监控能否抓到外泄”。 详见 R03 注入防御 + 权限沙箱 的四层实现模板。

§10 与已有节点的关系(显式升级对照,不复述)

  • 对照 A03 直接注入 vs 间接注入的产品含义:A03 给”直接 vs 间接”的概念辨析与威胁模型(攻击者≠受害者、攻击面线性扩张);本节点做实例深化——把 A03 一笔带过的 EchoLeak/Slack AI/ChatGPT Memory 三案展开成逐案防御教训,并补入 MCP Tool Poisoning 的 boot-time 范式跃迁。不复述 A03 的概念框架。
  • 对照 E01 Chevrolet 与 Air Canada·边界失效剖解:E01 剖直接注入 + 输出越权(用户诱导客服),本节点剖间接注入(第三方污染数据攻击无辜用户)——两节点是 04 实例剖解模块的两翼,共享”高信任默认 + 无权限阀门”病根,但触发器与威胁模型互补,不重叠。
  • 对照 S01 纵深防御可替换栈·输入 模型 输出 权限:S01 给六层防御栈与层间耦合的架构机理;本节点是其活体病理样本——EchoLeak 印证耦合 B(输出层只判内容有害性会失明)、Slack AI 印证耦合 A(权限层缺失放大后果)、Tool Poisoning 印证耦合 C(boot-time 孔洞 + 单层依赖退化)。本节点提供”现实怎么走样”,S01 提供”该怎么搭栈”。
  • 对照 R03 注入防御 + 权限沙箱:R03 给四层防御实现模板;本节点给该模板要防的真实威胁清单——本节点的每个教训都能在 R03 找到对应的实现层(持久层断点、出站监控、工具静态验证)。
  • 对照 m207 - Agent 产品化:场景推演与失败模式:m207 从”产品可靠性”讲六类失败模式与 HITL 断点;本节点做纠偏——把其中”安全越界”失败重新定位为对抗性攻击的产物而非随机故障。m207 的 HITL 防”Agent 自己犯错”,本节点的 HITL 防”Agent 被外部内容操纵”。
  • 与 失败考古专题 的关系:0416 编目”系统为何失败”,攻防是其机理层——间接注入是失败的一种”被诱发”形态。与 0436 Agent 权限边界(0436 待补完入库)、AI 作为制度现象专题”安全规范制定”的关系见各自升级对照,此处不复述。

§11 关联节点

核心(必读)

延伸(可选)

死链处理:本节点引用的 0416 失败考古专题、0436 Agent 权限边界、0430 安全规范制定 为主库尚未确认存在 / 全名待核实的相邻/跨专题节点,已降级为普通文本并登记 _待建概念清单.md,不在主库建 stub。


修订日志

  • R0(2026-06-07):首稿。建立”信任边界外移”框架;四案逐一复盘——EchoLeak(CVE-2025-32711, CVSS 9.3, 零点击/出站监控)、Slack AI(检索范围绑权限)、ChatGPT Memory(写持久层>读外部)、MCP Tool Poisoning(注入前移到 boot time);判断主轴四错点(过滤≠安全、读侧偏见、内容无害≠无外泄、供应链不审查);Schneier “security is a process” 未读框架;Rick 降发生方法论 / 明镜系统 / 安全感知与干预跨域同构;与 A03/E01/S01/R03/m207 显式升级对照。
  • R0.1(2026-06-07)grounding pass:经 WebSearch 核实并补正四案细节——(1) EchoLeak:补入官方机制名 “LLM Scope Violation”、可达数据范围(OneDrive/SharePoint/Teams)、微软 2025 已修复无野外利用(来源:Hacker News / SOC Prime / arXiv:2509.10540);(2) Slack AI:补正根因”查询可检索未加入的 public 频道”、2024-08-14 文件纳入后扩面、Simon Willison 2024-08-20 转述、已修复(来源:PromptArmor / The Register);(3) ChatGPT Memory:补正时间线(2024-05 报告 / 2024-09 端到端 PoC “spAIware” / 2024-09 修复于 v1.2024.247)、载荷可藏图片/网页(来源:embracethered.com / SC Media);(4) MCPoison 精确化:CVE-2025-54136 = Cursor IDE 的 rug-pull,CVSS 7.2,2025-07-29 于 Cursor 1.3 修复(来源:Tenable / TrueFoundry / CSA)。仍标〔待核实〕:arXiv:2502.14182 / 2510.05244 / 2603.22489 三条 arXiv ID 及 MCP 客户端”多数缺乏静态验证”的具体覆盖比例,待下一轮 grounding 复核或登记 _待建概念清单.md。已接地:EchoLeak、Slack AI、ChatGPT Memory、MCPoison、AgentDojo(arXiv:2406.13352)、Unit42 护栏绕过率 8%–47%(2025-06-02)、OWASP LLM01:2025、ICLR 2025 指令-数据分离、EU AI Act 第 55 条。
  • 2026-06-11 P3.4 校链:0416/0430 兄弟专题已入库,§6/§10 三处降级文本恢复为真 NNNN 总览 链并删 staging 注解;0436 仍在 staging,注解改为”0436 待补完入库”保留 plain text。
  • 2026-06-12 内审修复:§7 对手立场一的 arXiv:2510.05244(Firewall)内联〔待核实〕依全专题确证台账(总览 0435 QC 抽验已 WebFetch 确证 2510.05244)统一为”已核实(2026-06-12)“;同处 arXiv:2502.14182、arXiv:2603.22489 无确证记录,仍保留〔待核实〕。R0.1 历史”仍标〔待核实〕“留痕按 append-only 保留。
  • 2026-06-12 内审·arXiv 联网核实:清了 1 个 / 存疑 0 个。§7 对手立场一 arXiv:2502.14182(《Multi-Faceted Studies on Data Poisoning can Advance LLM Development》,He et al.)经 WebFetch 直查 abstract 确证存在、引述吻合,内联〔arXiv ID 待核实〕改为”已核实(2026-06-12)“并补题名。2603.22489(MCP Threat Modeling,Huang et al.)本轮亦 WebFetch 确证存在,惟其只出现在本节点修订日志、正文无内联引用,故无正文标记可改。本节点正文 arXiv 引用现 0 待核实。