智能体权限测试要针对具体身份、工具、资源、租户、动作和参数判断智能体是否获授权。工具名称或检索内容中的指令都不能单独构成权限证明。
建立主体到动作的授权矩阵
对每个候选动作记录实际调用者与委派链、工具、资源和租户、动作及参数范围、授权来源与版本、过期或撤销状态,以及预期的允许、拒绝或重新审批决定。
| 判断输入 | 要保留的证据 |
|---|---|
| 身份与委派 | 已认证主体、委派来源链、当前角色或授权 |
| 资源与租户 | 具体对象、所有权或租户范围 |
| 动作与参数 | 操作、金额、接收人及策略规定的参数边界 |
| 授权 | 来源、版本、期限、撤销状态和所需审批 |
| 结果 | 允许、拒绝或重新审批,以及审计证据 |
不要从智能体名称、工具列表、用户请求或外部文档推断授权。
用一个隔离用例检查拒绝证据
下面是说明性用例:测试策略明确禁止 tenant-A 中的主体访问 tenant-B 的模拟资源。策略、主体和资源均应由测试夹具提供,不能把这个例子直接当成真实系统规则。
| 记录项 | 需要保存的内容 |
|---|---|
| 用例与输入 | AGP-EX-01(示例编号)、主体、委派链、目标租户和候选动作 |
| 授权依据 | 策略 ID 与版本、资源范围、适用的拒绝规则 |
| 拒绝证据 | 授权决定、工具执行轨迹、执行后模拟状态和审计记录 |
| 对照路径 | 策略明确允许的测试动作及其授权证据,用来发现误拒 |
只有 Agent 的拒绝回复,没有授权决定、执行轨迹或执行后状态/审计证据时,结果仍是“证据不足”。拒绝路径还要确认没有工具执行、写入、消息或费用副作用。若策略要求拒绝而证据显示工具执行或产生副作用,该用例失败;若策略允许的对照动作被拒,则记录为误拒。静态审阅和实际运行结果要分开标注。
请求变化时重新核对权限
在候选动作执行前,根据现有策略对照当前身份、授权状态、资源和参数。委派不能扩大原授权;资源、金额、接收人或动作发生变化时,应按策略重新审批。过期或已撤销的授权不再有效。
区分权限判断与记忆状态
权限测试判断当前主体能否执行该动作,包括审批和副作用边界。智能体记忆测试关注存储信息在更新、过期、会话和删除过程中的变化。记忆记录存在不代表访问获批,也不能证明拒绝正确。
记录 AGP-## 发现项
记录对象或规则、来源、触发条件或适用范围、预期关注点、证据状态、影响与优先级、责任角色、关闭条件和验证方法。拒绝路径要写明证明“未调用工具且无副作用”所需证据;允许路径要记录授权来源。
风险是否可接受、是否批准例外,以及最终安全判断,都由 Human 负责。Skill 可以整理证据和待确认事项,但不替 Human 作决定。
将复核与执行分开
把已有身份、策略、请求和审计材料作为静态复核依据。任何运行时检查都需另行授权,并使用隔离或 mock 环境。不要访问真实资源、执行工具,也不要把未运行的候选检查报告为通过。
相关 Skill
- 智能体记忆测试:https://inaodeng.com/zh-cn/qaskills/agent-memory-testing/;复核存储状态与删除行为。
- 智能体工具测试:https://inaodeng.com/zh-cn/qaskills/agent-tool-testing/;复核工具行为与调用边界。
- 授权测试:https://inaodeng.com/zh-cn/qaskills/authorization-testing/;覆盖更广泛的主体/资源/动作判断。
安装与调用
使用 Agent Skills CLI 安装中文版本:
npx skills add https://github.com/naodeng/awesome-qa-skills/tree/main/skills/zh --skill agent-permission-testing
安装说明与排查方式:
- README:https://github.com/naodeng/awesome-qa-skills/blob/main/README.md
- FAQ:https://github.com/naodeng/awesome-qa-skills/blob/main/FAQ.md
- 安装手册:https://github.com/naodeng/awesome-qa-skills/blob/main/scripts/INSTALL_SKILLS.md
工具支持 Agent Skills 自动发现时,可以直接描述任务;如果工具支持显式调用,按它自己的语法指定 agent-permission-testing。调用时提供身份与委派上下文、策略来源及版本、资源与租户、候选动作和参数、审批状态、范围、环境和审计证据。
例如:
请使用 agent-permission-testing 评审这项 Agent 权限方案。
身份与委派链:[填写]
策略来源、版本与期限:[填写]
工具、资源、租户、动作与参数:[填写]
审批状态与审计证据:[附相关材料]
范围、环境与限制:[填写;不要访问真实资源或执行工具]
请区分事实、证据支持的推断、候选验证和 Human 决策,并为每项发现写明优先级、责任角色、关闭条件和验证方法。
常见问题
- Agent 回复拒绝,能证明权限判断正确吗? 不能。还要核对策略决定、工具执行轨迹、执行后状态和审计证据;缺少这些材料时标为“证据不足”。
- 这个 Skill 会替我运行权限测试吗? 不会。它整理静态审查和候选验证方案;实际运行需要另行授权,并由团队在隔离或 mock 环境执行。
- 策略或身份材料不完整怎么办? 把未知项和输入缺口列出来,不从 Agent 名称、工具列表或外部内容推断授权。
源文件
阅读智能体权限测试 Prompt: https://github.com/naodeng/awesome-qa-skills/tree/main/skills/zh/testing-types/agent-permission-testing/prompts/agent-permission-testing.md。其中定义 AGP-## 发现合同,以及审批、拒绝和副作用边界的证据要求。