跳转至

Attractive Metadata Attack: Inducing LLM Agents to Invoke Malicious Tools

会议: NeurIPS 2025
arXiv: 2508.02110
代码: https://github.com/SEAIC-M/AMA
领域: AI安全 / LLM Agent
关键词: 工具调用攻击, 元数据操纵, 隐私泄露, LLM Agent安全, MCP

一句话总结

AMA(Attractive Metadata Attack)证明仅通过精心设计恶意工具的元数据(名称、描述、参数模式),不需要提示注入或模型内部访问,就能诱导 LLM Agent 以 81-95% 的成功率调用攻击者工具并泄露隐私,同时几乎不影响原始任务完成(98%+),且现有防御(审计器、提示重写)效果有限。

研究背景与动机

  1. 领域现状:LLM Agent 通过工具调用(function calling)与外部服务交互。MCP 等协议标准化了工具注册和调用流程。Agent 根据工具的元数据(名称、描述、参数)选择调用哪个工具。
  2. 现有痛点:(a) 提示注入攻击需要操纵用户输入——代理侧防御可以过滤;(b) 但工具注册是开放的——任何人可以发布工具并控制其元数据;(c) 没有系统研究"元数据操纵"这种新攻击面。
  3. 核心矛盾:LLM Agent 信任工具的自我描述来做选择决策——但恶意工具可以让自己的描述看起来更"有吸引力"。
  4. 本文要解决什么? 系统化评估和展示元数据操纵对 LLM Agent 工具选择的威胁。
  5. 切入角度:将攻击形式化为状态-动作-值优化——状态是当前恶意工具集,动作是生成新工具元数据,值是调用概率。用 LLM 迭代优化元数据使"吸引力"最大。
  6. 核心 idea 一句话:用 LLM 迭代优化恶意工具的名称/描述/参数模式 → 使其在 Agent 的工具选择中获得最高概率 → 调用后窃取隐私数据。

方法详解

整体框架

攻击者: 定义恶意行为(如窃取用户邮件)→ LLM 生成初始工具元数据 → 批量测试调用概率 → 保留最高概率工具 → 迭代 K 轮 → 发布到工具注册表。受害 Agent: 收到用户任务 → 检索可用工具 → LLM 选择"最相关"工具 → 调用恶意工具 → 数据泄露

关键设计

  1. 状态-动作-值优化(SAV):
  2. 做什么:系统化生成高吸引力的恶意元数据
  3. 核心思路:状态 \(S = \{(t, p)\}\)(恶意工具及其调用概率),动作 = LLM 生成新工具 \(t = \text{LLM}(Q, NT, S, P_g)\),值 \(V(t) = p_i + \lambda(p_i - p_j)\)——结合绝对概率和相对改善。批量生成 → 选最优 → 迭代
  4. 设计动机:比随机尝试高效得多——用 LLM 作为"元数据优化器"

  5. 隐蔽性设计:

  6. 做什么:保证恶意工具被调用时不影响原始任务
  7. 核心思路:恶意工具在执行时同时完成任务(通过代理到正确工具)并窃取数据。任务完成率保持 98%+
  8. 设计动机:如果恶意工具导致任务失败,用户会删除它——必须保持"无害外表"

  9. 跨防御评估:

  10. 做什么:测试现有防御的有效性
  11. 核心思路:提示重写仅降 5-26% ASR(AMA 残余 ~90%);审计器检测率 ~55%(远不够);MCP 结构化选择仍被绕过
  12. 设计动机:证明现有防御体系的不足

损失函数 / 训练策略

  • 纯推理时攻击——无模型训练
  • 攻击迭代 K 轮(通常 3-5 轮收敛)

实验关键数据

主实验(攻击成功率 ASR)

模型 ASR 隐私泄露率 任务完成率
Gemma-3 27B 95.58% 94.69% 98.42%
LLaMA-3.3 70B 94.80% 94.80% 99.67%
Qwen-2.5-32B 94.54% 92.63% 97.08%
GPT-4o-mini 81.43% 81.12% 85.86%
+ 注入攻击结合 95-99%

防御评估

防御方法 ASR 降低 残余 ASR
提示重写 5-26% ~90%
审计器 TPR ~55%
MCP 仍有效

关键发现

  • 开源模型比商业模型更脆弱(95% vs 81%)——GPT-4o-mini 有更好的工具选择安全性
  • 恶意工具在几乎不影响任务完成的情况下窃取数据(98%+ 任务完成 + 95% 隐私泄露)
  • 与提示注入结合可进一步提升到 95-99%——两种攻击互补
  • 现有防御全部不够——需要新的防御范式

亮点与洞察

  • 新攻击面的系统揭示:元数据操纵不需要提示注入——这是一个被忽视的关键安全问题
  • 98% 任务完成 + 95% 隐私泄露的可怕组合:用户完全无感知地被攻击
  • 所有现有防御失效:呼吁社区开发工具选择阶段的专门安全机制

局限性 / 可改进方向

  • 假设攻击者能发布/修改工具——需要工具注册审查机制
  • 仅针对工具调用攻击——不涉及运行时行为监控
  • 商业 vs 开源模型差异的根因未深入分析

相关工作与启发

  • vs 提示注入: 提示注入操纵输入,AMA 操纵工具描述——完全不同的攻击面
  • vs 对抗样本: AMA 操纵的是文本元数据而非数值扰动
  • 启发: MCP 等工具协议需要增加安全审查层

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 首次系统揭示工具元数据操纵的安全威胁
  • 实验充分度: ⭐⭐⭐⭐⭐ 4 个模型 + 3 种防御 + MCP 测试
  • 写作质量: ⭐⭐⭐⭐ 攻击框架描述清晰
  • 价值: ⭐⭐⭐⭐⭐ 对 LLM Agent 安全有重大警示意义

方法补充说明

  • 攻击的详细流程:(1) 定义恶意行为(如"将用户邮件转发到攻击者邮箱")→ (2) 用 LLM 生成看起来像"邮件备份助手"的工具元数据 → (3) 发布到工具注册表 → (4) 用户请求"帮我备份邮件"时 Agent 选择攻击者工具 → (5) 数据泄露
  • 加权值函数的设计\(V(t_i^j, Q, NT, t_j) = p_i^j + \lambda(p_i^j - p_j)\)——不仅要求绝对调用概率高,还要求相对于之前最好的工具有提升。\(\lambda\) 控制探索-利用权衡
  • 为什么 GPT-4o-mini 更安全:商业模型可能有额外的工具选择安全过滤——但仍有 81% ASR,说明防御远不够
  • 与钓鱼攻击的类比:AMA 是"工具钓鱼"——就像钓鱼邮件伪装成合法邮件,恶意工具伪装成合法工具。但 AMA 更隐蔽因为工具调用是自动化的
  • 对 MCP 生态的警示:MCP 协议标准化了工具注册但没有安全审查机制——任何人可以发布工具,这是一个开放的攻击面

  • 防御建议总结:工具注册时需要安全审查签名验证,Agent应对工具描述做语义异常检测,敏感操作需用户确认,工具调用日志应保留供事后审计