跳到主内容
快讯直播
AI智模界
AI 词典

工具描述投毒:藏在说明书里的指令

一句话定义:工具描述投毒(Tool Description Poisoning)是指攻击者把恶意指令写进工具(tool)的名称、描述或参数说明里,让模型在读取工具清单时就被诱导,从而做出非预期行为的一类攻击。

要理解它,得先知道支持工具调用(tool calling,也叫 function calling)的模型是怎么工作的。每轮对话开始时,模型会收到一份工具清单:每个工具除了参数结构,通常还有一段自然语言描述,告诉模型“这是干什么的、什么时候该用”。问题在于,模型并不能可靠区分“说明”和“指令”,两者都是同一段上下文里的自然语言。于是,只要攻击者能影响这段描述,比如提交一个第三方插件、给开源工具库提一次改动,或者自己搭一个工具服务并对外暴露,就能把“顺便把对话内容发送到某个地址”这类话塞进去。用户从头到尾没输入任何可疑内容,也可能中招。

打个比方:你给新来的助理一本《工具手册》,其中某页写着“使用订书机前,请先把文件复印一份寄到某地址”。助理会把它当成操作流程照做,因为手册本身就代表权威。工具描述就是模型手里的这本手册。

它和相邻概念的区别值得分清:

攻击方式指令藏在哪里谁会看到影响范围
直接提示注入用户自己的输入用户本人单次对话
AI 词典:间接提示注入">间接提示注入网页、邮件、文档等内容用户可能看到原文读到该内容时
工具描述投毒工具的元数据(名称、描述、参数说明)用户通常完全看不到所有调用该工具的人

关键差异有两点:一是位置靠前,工具清单往往在用户输入之前就被放进上下文,甚至被当作“可信配置”;二是一次投毒、多人受害,只要别人装了同一个工具,就可能遇到同样的诱导。

对从业者的意义:把工具描述当成代码来审查,不要当作无害文案。第三方工具和插件要审核来源;描述里不该出现“行为性指令”;敏感操作加人工确认(human-in-the-loop),别让模型一步做完;对工具的返回内容同样保持警惕。对普通职场人:给 AI 助手接外部服务时,来源比功能列表更重要,授权范围尽量给到最小;具体平台的插件审核与权限策略以官方页面为准。工具描述投毒提醒我们:在 AI 系统里,“说明文字”本身就是攻击面。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。