工具白名单是智能体的工具准入单:单子上的工具允许调用,单子外的一律拒绝。它看似只是一份清单,实际是整个调用链路里最实用的一道闸门,配得好,权限可控;配得糙,等于大门虚掩。
类比小区门禁名单:快递员、访客、业主各有通行范围。失效之处在于,工具不像人有脸,调用请求可能伪装成合法参数混进来,所以名单之外还要有参数级的检查。
白名单在请求链路的哪一环
一次调用从模型输出工具名和参数开始,先经格式解析,再到白名单校验:名字在单子上才放行,接着查参数是否越界,最后才真正执行。拦截发生在执行之前,这是它可靠的原因——智谱清言、扣子等平台的插件配置生效时,未勾选的工具在执行层直接不可达。
加一个工具要走哪些确认
推荐四步:先确认必要性,现有工具组合不出这个能力吗;再看影响面,这个工具是读还是写、能波及哪些数据;然后定参数边界,比如只允许访问指定目录;最后开启并观察一段时间的调用记录。走完四步再上线,比事后补救省力得多。
收紧和放宽的取舍
收得太紧,任务频繁被拦,用户手动接管次数上升,自动化名存实亡;放得太宽,风险面扩大。判断标准是看拦截日志:拦下来的动作里,多少是必要操作?占比高说明名单该放宽;反之出现非必要调用,就说明放得太开。名单要随任务范围滚动调整,不是定一次就完。
收太紧和放太宽,症状相反,处置也相反。
| 名单状态 | 典型症状 | 判断依据 | 处置 |
|---|---|---|---|
| 收得太紧 | 任务频繁被拦,用户手动接管次数上升,自动化名存实亡 | 拦下来的动作里必要操作占比高 | 放宽名单 |
| 放得太宽 | 风险面扩大 | 拦截日志里出现非必要调用 | 收紧名单 |
| 长期不梳理 | 名单只增不减,风险面跟着变大 | 有工具连续一个月零调用 | 摘出来逐个确认留还是收走 |
名单之外还有哪些闸门
白名单管「能不能调」,参数边界管「调到什么力度」,频率限制管「多久能调一次」,人工确认管「调用前要不要点头」。几道闸叠用,见Agent 的安全边界怎么划?一次划清。恶意输入会尝试借合法工具干坏事,防法见提示注入在 Agent 上为什么更危险?。
白名单配置速查表
- 拦截点在执行之前,先查名单再查参数
- 加工具走必要性、影响面、参数边界、观察四步
- 按拦截日志判断收紧还是放宽
- 名单与参数边界、频率限制叠用
一句话记住:先把闸门装好,再放手让智能体干活。
白名单还影响运行节奏:权限清晰的任务,并发放量才敢往上推,见任务的并发度是怎么定的?关键步骤一次讲清;被拦动作的处置要有后手,见超时的兜底动作有哪些?从原理到落地;固定路线的工作流和自由路线的智能体对名单依赖程度不同,见工作流和 Agent 差在哪?固定路线与自由路线。闸门装齐,才谈得上放心。
白名单的粒度值得多说一句:按工具名配置是最粗的一层,往细还能按参数值配,比如允许搜索但不允许带某些关键词,允许读某目录但不允许读配置文件。粒度越细,误用空间越小,配置成本也越高,按风险高低分配精力——高风险工具配细,低风险工具配粗,比一刀切合理。团队协作时名单变更有审批流程更好:谁申请、加什么、为什么,留个记录,出了事回看名单变更史,往往第一时间就能锁定问题引入的时间点。定期做一次名单瘦身也很值:把连续一个月零调用的工具摘出来,逐个确认是留着还是收走,名单短一分,风险面就小一分。名单不是越全越安心,恰恰相反,越短越安心。
换个问法再问工具白名单三句
- 名单外工具被调用会怎样?:执行层直接拒绝并留痕,模型会收到失败反馈,通常会换工具或结束任务。
- 一个智能体一份名单还是全局一份?:按智能体各配一份更稳,全局名单容易越配越宽,最后失去意义。
- 第三方插件能直接进名单吗?:先看它的权限声明和数据去向,确认后再加入,来路不明的插件不进。


