Agent 创收指南免费公开资源
中文 EN العربية

返回目录 / Agent 安全

用回调逐项批准或改写工具输入

使用 can_use_tool 对读写命令分别决策,并可将写路径改写到安全目录。

目标

让 Agent 工具请求经过应用策略检查后才获准执行。

步骤

  1. 在 ClaudeAgentOptions(can_use_tool=callback, permission_mode="default") 注册异步回调。 [perm]
  2. 根据 tool_name 和 input_data 返回 PermissionResultAllow() 或 PermissionResultDeny(message=...);对写入路径可返回带 updated_input 的 Allow。 [perm]
  3. 先用只读/临时目录请求测试允许、拒绝和改写三种分支,并检查回调日志脱敏。 [perm]

验证方式

断言被拒操作没有执行,改写后的 file_path 等于安全目标,允许操作只发生在预期范围。

故障处理

若回调未触发,检查 permission_mode 和是否已有自动批准配置;不要把回调传入的原始输入直接写入日志。

权限边界

前置条件

权限边界

限制

路径前缀检查示例不等于完整路径规范化;生产策略还应防范符号链接与路径穿越。

固定上游来源

https://github.com/anthropics/claude-agent-sdk-python/blob/b6e9d12fe1cc98dde988ab7b7713c1feeee50c6c/examples/tool_permission_callback.py

仓库
anthropics/claude-agent-sdk-python
文件路径
examples/tool_permission_callback.py
固定提交
b6e9d12fe1cc98dde988ab7b7713c1feeee50c6c
来源检查
2026-10-14 · 已按固定上游来源核对

仓库指标

以下数字属于上游仓库整体,不代表单个 Skill 或指南的点赞/热度。

Stars
未取得
Forks
未取得
观测时间
未取得

尚未取得指标快照。

许可证: MIT

主主题

让 Agent 更安全且易于核验

相关资源