核心用法
tool-governance 是一套专为 Claude Code 设计的 Hook 安全护栏技能,通过 PreToolUse 和 PostToolUseFailure 两个介入点,实现对工具调用的全生命周期管控。核心工作流包括:
1. 工具错误断路器(2.1):按 tool_name + input_hash 追踪连续失败,3 次软提示、5 次硬阻止,防止重试死循环
2. 否决追踪断路器(2.2):检测 Agent 换表述绕过权限否决(如 rm 被拒后试 unlink),session 级封禁反复尝试
3. 破坏性命令快照(2.3):对 rm -rf、git reset --hard 等命令先 git stash 再执行,失败自动回滚
4. 分级权限规则(2.4):三级风险分类——safe 自动放行、medium 告警放行、dangerous 直接阻止
5. 组件级 Hook(2.5):支持 once: true 一次性初始化和 subagent 作用域隔离
6. 输入安全守卫(2.6):独立检查路径逃逸、破坏性黑名单、curl|sh 等注入模式
Hook 响应支持三种模式:permissionDecision 硬拦截、updatedInput 确定性改写(如自动加 timeout)、additionalContext 概率性软提示。
显著优点
- 防御深度完整:从输入验证、权限分级、执行前快照到失败后回滚,覆盖工具调用全链路
- 零外部依赖:仅依赖 bash/jq/git 系统工具,无 npm/pip 包,无网络请求,供应链攻击面为零
- 配置灵活可扩展:风险矩阵通过外部 JSON 配置,不同项目可独立调整阈值和规则
- 与 Claude Code 原生集成:基于官方 Hook 协议设计,非侵入式补丁,升级 Claude Code 不影响
潜在缺点与局限性
- T3 来源风险:维护者为 ClawHub 社区用户 lanyasheng,非知名企业背书,后续更新需人工审查
- Hook 配置门槛:需理解
settings.jsonHook 语法,误配可能导致正常工具被拦截或防护失效 - 性能开销:每次工具调用触发多轮 Hook 脚本执行,大型项目高频调用场景可能有延迟感
- 快照局限性:仅支持 git 项目自动回滚,非 git 目录或外部文件系统操作无保护
- 正则误匹配风险:破坏性命令检测基于正则,注释中包含的示例命令可能被误判
适合的目标群体
- 企业开发团队:需要为团队 Claude Code 实例统一配置安全策略
- AI 代码审查员:关注 Agent 自主执行代码的安全合规与可审计性
- DevOps/SRE:管理多项目 CI/CD 流水线,需要标准化工具调用防护
- 开源项目维护者:希望为贡献者提供安全的 AI 辅助开发环境
使用风险
- 部署耦合风险:
tool-error-tracker与tool-error-advisor必须同时注册,单独部署 tracker 会导致只记录不拦截 - 数据持久化风险:工具调用记录存储于本地
~/.openclaw/shared-context/sessions/,长期累积可能暴露工作模式 - 阈值调优成本:默认 3/5 次阈值可能不适合某些天然高失败率工具(如网络相关命令),需根据实际分布调整
- 隐私合规:虽无敏感凭证外泄,但命令前 200 字符被记录存储,高隐私场景建议哈希化改造