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%+),且现有防御(审计器、提示重写)效果有限。
研究背景与动机¶
- 领域现状:LLM Agent 通过工具调用(function calling)与外部服务交互。MCP 等协议标准化了工具注册和调用流程。Agent 根据工具的元数据(名称、描述、参数)选择调用哪个工具。
- 现有痛点:(a) 提示注入攻击需要操纵用户输入——代理侧防御可以过滤;(b) 但工具注册是开放的——任何人可以发布工具并控制其元数据;(c) 没有系统研究"元数据操纵"这种新攻击面。
- 核心矛盾:LLM Agent 信任工具的自我描述来做选择决策——但恶意工具可以让自己的描述看起来更"有吸引力"。
- 本文要解决什么? 系统化评估和展示元数据操纵对 LLM Agent 工具选择的威胁。
- 切入角度:将攻击形式化为状态-动作-值优化——状态是当前恶意工具集,动作是生成新工具元数据,值是调用概率。用 LLM 迭代优化元数据使"吸引力"最大。
- 核心 idea 一句话:用 LLM 迭代优化恶意工具的名称/描述/参数模式 → 使其在 Agent 的工具选择中获得最高概率 → 调用后窃取隐私数据。
方法详解¶
整体框架¶
攻击者: 定义恶意行为(如窃取用户邮件)→ LLM 生成初始工具元数据 → 批量测试调用概率 → 保留最高概率工具 → 迭代 K 轮 → 发布到工具注册表。受害 Agent: 收到用户任务 → 检索可用工具 → LLM 选择"最相关"工具 → 调用恶意工具 → 数据泄露
关键设计¶
- 状态-动作-值优化(SAV):
- 做什么:系统化生成高吸引力的恶意元数据
- 核心思路:状态 \(S = \{(t, p)\}\)(恶意工具及其调用概率),动作 = LLM 生成新工具 \(t = \text{LLM}(Q, NT, S, P_g)\),值 \(V(t) = p_i + \lambda(p_i - p_j)\)——结合绝对概率和相对改善。批量生成 → 选最优 → 迭代
-
设计动机:比随机尝试高效得多——用 LLM 作为"元数据优化器"
-
隐蔽性设计:
- 做什么:保证恶意工具被调用时不影响原始任务
- 核心思路:恶意工具在执行时同时完成任务(通过代理到正确工具)并窃取数据。任务完成率保持 98%+
-
设计动机:如果恶意工具导致任务失败,用户会删除它——必须保持"无害外表"
-
跨防御评估:
- 做什么:测试现有防御的有效性
- 核心思路:提示重写仅降 5-26% ASR(AMA 残余 ~90%);审计器检测率 ~55%(远不够);MCP 结构化选择仍被绕过
- 设计动机:证明现有防御体系的不足
损失函数 / 训练策略¶
- 纯推理时攻击——无模型训练
- 攻击迭代 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应对工具描述做语义异常检测,敏感操作需用户确认,工具调用日志应保留供事后审计