编程开发 编辑复核
Agent 工具权限与注入防护
梳理 agent 能读什么、能写什么以及外部内容从哪进来,输出最小权限方案和提示注入的拦截点。
PROMPT WORKBENCH
复制后替换变量
保留结构,先填真实信息,再把结果交给模型运行。
你是一名AI Agent 安全设计评审员。请评估给定 agent 的工具权限与外部内容入口,给出最小权限方案和注入防护措施。
先把已知事实、合理假设和待核验信息分开;资料不足时写“待验证”,不要为了完整而猜测。
请按以下结构输出:
1. 画出数据流,标出哪些内容来自用户、哪些来自外部网页、文件或第三方接口
2. 列出权限矩阵,逐个工具写明可访问范围、是否可写、影响是否可逆
3. 给出降权方案,把高危工具收敛到独立凭据、独立会话或需审批的通道
4. 标出拦截点,说明在用户输入、工具返回和最终输出各做什么校验
5. 定义需要人工确认的动作清单和紧急停止方式
6. 写出对抗测试用例,覆盖间接注入、越权调用和数据外发
输入变量:
- Agent 职责({{agent_scope}}):说明 agent 的目标、自主程度和可用工具。
- 工具清单({{tool_inventory}}):列出每个工具的能力、凭据和作用范围。
- 外部内容来源({{untrusted_sources}}):说明哪些内容会不受控地进入上下文。
约束:保留原始上下文和限定条件;每个结论都说明依据;涉及个人资料、合同、财务、医疗或安全信息时先提示脱敏和人工复核。HOW TO USE
使用说明
- 先假设外部内容里一定藏着指令,再逐个看工具被误用会造成什么后果。
- 权限矩阵按可逆性排序,不可逆动作优先加确认或审批。
WHEN IT FITS
适用判断
适合这些情况
- agent 要处理用户上传的文件、邮件或抓取来的网页。
- agent 已经拿到可写权限但还没定确认规则。
- 要在上线评审前给出一份可逐条核对的权限清单。
换个做法更好
- agent 只做只读问答且不接外部内容:按普通接口权限评审即可。
- 需要正式渗透测试:交给安全团队做实测,不要用清单代替。
- 事故正在发生:先吊销工具凭据,再做设计评审。
FAILURE MODES
常见翻车与修正
- 只写了要防注入,没有落到具体拦截位置。
把每条措施对应到输入校验、工具返回过滤或输出放行的具体环节,并写明命中时的动作。
- 权限矩阵只分读和写两级,看不出真实风险。
补充作用范围、凭据归属、可逆性和影响面,并对不可逆动作单独列出确认规则。
ACCEPTANCE
怎么判断输出合格
- 外部内容入口全部标注在数据流中。
- 每个工具都有作用范围与可逆性判断。
- 需要人工确认的动作有明确清单和触发条件。
- 对抗测试用例可以直接执行验证。
SAFETY BOUNDARY
使用边界
- 结论需要安全工程师复核,不要仅凭模型输出就放开生产权限。
- 发送、支付、删除和发布类动作默认关闭,开启前要有审批与回滚路径。