什么是 工具投毒?

工具投毒是一类 AI Agent 攻击:恶意或被入侵的工具元数据、Schema、实现、更新或返回内容影响 Agent,使其选择不安全操作或滥用已有权限。

快速了解

创建时间2020 年代中期被识别为独立的 Agent 工具供应链风险
规范文档官方规范

工作原理

工具投毒攻击 Agent 与可执行能力之间的信任边界。攻击者可能修改工具描述并隐藏指令,发布恶意软件包或 MCP Server,在审批后改变行为,通过结果注入指令,或创建与可信工具混淆的同名工具。模型本身不能充当安全边界;宿主必须验证工具来源和版本,维护允许列表,从可信上下文派生身份,校验参数与结果,限制网络和文件权限,为高影响操作要求确认,并记录每次执行使用的精确工具版本。威胁与控制矩阵见<a href="https://qubittool.com/zh/blog/ai-agent-tool-security-guide">AI Agent 工具安全指南</a>。

主要特点

  • 可从元数据、Schema、代码、依赖、更新或工具结果进入
  • 利用 Agent 把工具描述和输出视为操作上下文的特点
  • 可能不越过已有权限,却把权限引向非预期目标
  • 可通过注册表、MCP Server、Skill、插件或委派 Agent 传播
  • 需要供应链控制与运行时授权,不能只依赖提示词防御

常见用途

  1. 为 MCP Server、插件、Skill 和动态工具注册表建立威胁模型
  2. 审查工具来源、签名、版本与依赖锁定
  3. 测试恶意描述和恶意返回指令对 Agent 的影响
  4. 为破坏性操作或外部副作用设计审批门禁
  5. 监控工具漂移和安装后的行为变化

示例

loading...
Loading code...

常见问题

工具投毒与提示词注入有什么区别?

提示词注入是通过不可信内容操纵模型行为的更广泛概念;工具投毒专门破坏工具边界,包括描述、Schema、代码、更新、依赖或返回结果。

只读工具也会被投毒吗?

会。只读工具仍可能返回恶意指令、错误租户的私有数据、误导性证据或超大内容,并影响后续操作。

Schema 校验能阻止工具投毒吗?

不能。Schema 只检查结构,不检查来源、授权、目标地址、实现完整性和语义真实性,这些必须由独立控制执行。

防御工具投毒最有效的方法是什么?

使用已验证且锁定版本的注册表、最小权限、沙箱、参数和结果校验、目标地址允许列表、高风险操作审批以及防篡改审计日志。

工具更新应如何处理?

元数据、Schema、依赖或权限发生实质变化时,应视为新的待审版本,重新运行安全测试,不能静默继承更广能力。

相关工具

相关术语

相关文章

AI Agent 工具安全:权限、投毒与运行时控制

系统防御 AI Agent 的提示词注入、工具元数据投毒、恶意返回结果、工具滥用和供应链变更。本文从 MCP Server、插件与 Skill 的信任边界出发,说明如何建立已验证注册表、最小权限、对象级授权、精确操作审批、沙箱与网络出口限制,并通过版本化审计、攻击链测试、幂等重试和熔断机制控制真实副作用。

2026-07-28

如何构建 AI Agent:生产级架构与代码实战

从架构决策到可运行代码,系统讲解生产级 AI Agent 的强类型工具、持久状态、安全护栏、人工审批、可观测性与结果评测方法。本文提供电商订单场景的 Python 实战、主流框架选型标准、多 Agent 判断原则和上线检查清单,帮助开发者判断何时不该使用 Agent,并避开越权调用、无限循环、记忆污染和只评文本不验业务结果等常见工程陷阱。

2026-02-06

Prompt Injection 防御:从架构上保护 LLM Agent

从架构层防御 Prompt Injection,而不是依赖关键词过滤。系统讲解信任边界、最小权限、确定性工具鉴权、来源追踪、数据流与外发控制、绑定式用户确认、沙箱和自适应安全评测,覆盖直接与间接注入、RAG 污染、记忆投毒、多模态、MCP、持久化攻击及完整事件响应,适合构建企业 RAG、浏览器 Agent、邮件助手、Coding Agent 和高权限自动化工作流。

2026-02-21