← [ BACK_TO_NOTES ]

Tool Permission Check

Tool Permission Check 是在执行工具前检查当前用户/Agent 是否有权调用该工具的过程。它是安全治理的关键环节。

#concept #evergreen #ai #security

[!info] related notes

Tool Permission Check

一句话定义

Tool Permission Check 是在执行工具前检查当前用户/Agent 是否有权调用该工具的过程。不是所有 Agent 都能调用所有工具——权限控制是安全的基础。

核心原理

权限检查层次

1. 用户级权限: 用户是否有权使用这个 Agent
2. Agent 级权限: Agent 是否有权调用这个工具
3. 参数级权限: 参数是否在允许范围内
4. 数据级权限: 是否有权访问目标数据

检查协议(示意,不是独立实现)

认证当前调用方 → 解析可信 tenant / actor
从工具注册表解析工具,不存在则拒绝
按服务端策略检查工具、读写能力及当前授权
验证并规范化参数,不让参数改变身份或执行策略
解析目标资源,验证所属租户与对象级权限
若需要新增批准,绑定规范化操作与目标版本进入审批流程
在实际执行边界再次检查并消费授权;同一入口覆盖自动重试、恢复与直接调用

常见坑

  1. 不做权限检查: 所有工具都能被调用
  2. 权限太宽: Agent 有不需要的权限
  3. 权限检查绕过: 直接调用 handler、恢复或重试绕过入口
  4. 检查通过后资源变化:用事务、版本条件或下游权限检查防止检查与执行之间的竞争
  5. 只读标签被信任:工具元数据由服务端维护,并约束真实能力;允许 execute_code 等通用执行器可能间接绕过工具白名单

参考资料

创建于 2026/6/30 更新于 2026/10/7
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本