跳转至

Invisible Threats from Model Context Protocol: Generating Stealthy Injection Payload via Tree-based Adaptive Search

日期: 2026-03-25
arXiv: 2603.24203
代码: 无
领域: AI安全 / LLM Agent / Prompt Injection
关键词: MCP, indirect prompt injection, tree search, black-box attack, tool-augmented agents

一句话总结

提出 TIP(Tree-structured Injection for Payloads),针对 MCP 工具增强 Agent 的黑盒 prompt 注入攻击框架:将 payload 生成建模为树搜索问题,通过粗到细优化 + 路径感知反馈机制生成语义自然的注入 payload,在无防御下 ASR>95%、有防御下>50%,且查询量比现有自适应攻击低一个数量级。

研究背景与动机

  1. 领域现状:MCP(Model Context Protocol)已成为 LLM Agent 调用外部工具的行业标准,Agent 通过 MCP 查询第三方工具并信任其返回的结构化输出。这创造了一类新的强大工具增强 Agent。

  2. 现有痛点:MCP 引入了被严重低估的攻击面——恶意或被入侵的第三方工具可以在响应中注入对抗性 payload。现有间接 prompt 注入技术面对 MCP 场景有三个弱点:

    • 修改工具元数据(描述/名称)易被注册审计检测
    • GCG/AutoDAN 等生成的高困惑度乱码字符串破坏语义连贯性
    • 需要白盒访问梯度
  3. 核心矛盾:攻击者需要同时满足语义隐蔽性(看起来像正常工具响应)和对抗有效性(能够劫持 Agent 行为),这两个目标天然冲突。

  4. 切入角度:将 payload 生成解耦为"良性伪装+恶意指令"——保留工具的元数据不变(通过注册审计),在动态响应字段中附加语境感知的后缀,先预测完整的正常响应轨迹,再只修改末尾为简洁的攻击触发器。

  5. 核心 idea:将 payload 生成建模为树搜索,用攻击者 LLM 在粗到细框架下引导搜索,通过路径感知反馈避免局部最优,通过防御信号条件化实现防御感知的自适应搜索。

方法详解

威胁模型

  • 攻击者画像:恶意第三方工具提供者或被入侵的合法提供者
  • 能力:完全控制 MCP 服务器端返回的响应内容,但不修改工具元数据(name/description)
  • 约束:黑盒(无法访问受害 LLM 的权重/梯度/系统 prompt)
  • 攻击目标:社会工程(诱导 Agent 推荐钓鱼链接)/ 上下文窃取(窃取用户隐私数据)
  • 关键漏洞:MCP 客户端在建立连接后隐式信任服务器输出,工具响应直接注入 Agent 工作记忆

关键设计

  1. 树结构 payload 搜索:

    • 做什么:将 payload 生成建模为树搜索,每个节点是一个 payload 变体,边代表修改操作
    • 核心思路:粗到细——先用攻击者 LLM 生成完整的良性响应轨迹(粗粒度结构),再在响应末尾细化为攻击触发器。这确保 payload 的大部分内容是语义自然的
    • 设计动机:既满足低困惑度的隐蔽需求(大部分是正常文本),又在关键位置嵌入足够强的对抗指令
  2. 路径感知反馈机制:

    • 做什么:只向攻击者模型暴露历史搜索中的高质量成功轨迹,避免低质量尝试干扰
    • 设计动机:稳定学习、避免局部最优——树搜索中大量路径是失败的,如果都作为反馈会让攻击者模型困惑
  3. 防御感知自适应搜索:

    • 做什么:显式条件化搜索过程在可观察的防御信号上,动态重新分配探索预算
    • 核心思路:监测哪些注入尝试触发了防御机制(如困惑度过滤、递归重写),TIP 学会引导搜索朝防御感知的变体方向前进
    • 设计动机:现代 Agent 采用自适应过滤器,静态 payload 会被清洗

攻击公式化

  • 合法响应 \(r_{tool}\) 被合并恶意 payload \(\mathcal{P} = \{k_p : v_p\}\)
  • \(r_{mal} = r_{tool} \cup \mathcal{P}\),其中 \(v_p\) 必须满足困惑度约束
  • 目标:最大化 Agent 输出目标行为 \(a_{target}\) 的概率

实验关键数据

主实验(4 个 LLM backbone)

攻击方法 无防御 ASR↑ 有防御 ASR↑ 查询量↓
GCG ~60% ~10% 10000+
Manual injection ~70% ~20% -
TIP (ours) >95% >50% ~1000

防御对抗(4 种防御方法)

  • 困惑度过滤、递归摘要/重写、知识隔离等防御下 TIP 仍保持 >50% ASR
  • 比 SOTA 攻击方法显著更强
  • 查询量比传统黑盒优化方法低一个数量级

关键发现

  • MCP 的隐式信任架构是根本漏洞:客户端一旦建立连接就信任服务器输出,缺乏运行时验证
  • 语义自然的 payload 远比乱码字符串有效且隐蔽
  • 当前防御手段不足以完全缓解此威胁:即使有困惑度过滤和重写,TIP 仍能绕过

亮点与洞察

  • "隐蔽更新攻击"威胁模型非常实际:工具先提供正常服务建立信任,再修改后端逻辑注入 payload——MCP 生态中完全可能发生
  • 粗到细的 payload 构造巧妙解决了"隐蔽 vs 有效"的矛盾:大部分是正常文本保证隐蔽,关键位置的攻击触发器保证有效
  • 对 MCP 生态安全的警示具有重要价值:现有安全实践集中在工具注册审计,但忽略了运行时响应的验证

局限性 / 可改进方向

  • 仍需一定量的黑盒查询(~1000次),部分场景下可能被检测
  • 攻击者需要粗略了解目标 Agent 的工具使用方式
  • 论文未提供完整的防御方案,仅讨论了缓解方向
  • 未测试在更复杂的多工具链式调用场景下的效果

相关工作与启发

  • vs GCG/AutoDAN: 乱码 payload 困惑度高、易被检测、需要梯度访问;TIP 生成自然文本、纯黑盒、ASR 更高
  • vs 元数据修改攻击: 修改工具描述容易被注册审计检测;TIP 只修改动态响应字段,不触碰元数据
  • 对 Agent 安全研究的启示:工具信任边界需要重新设计——Agent 应对工具响应做验证而非盲目信任

相关工作与启发

  • 对 MCP/Agent 生态的安全研究极具前瞻性:随着 Agent 工具使用普及,供应链攻击面将快速扩大
  • 防御方向:MCP 标准需增加响应签名验证机制,客户端应对工具输出做信任级别分层

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 首次系统化地研究 MCP 供应链 prompt 注入,威胁模型实际且TIP 方法创新
  • 实验充分度: ⭐⭐⭐⭐ 4个LLM + 4种防御 + 查询效率对比
  • 写作质量: ⭐⭐⭐⭐ 威胁模型清晰,技术描述系统
  • 价值: ⭐⭐⭐⭐⭐ 揭示了 MCP 生态中一个关键安全漏洞,对行业有重要警示意义