名称: 审计钩子 描述: 审计Claude Code钩子,以确保质量、合规性和可维护性。用于创建钩子后、发布前或定期质量检查。 参数提示: [钩子名称] [–force | --skip-validation | --plugin-only | --project-only | --global-only] 允许工具: Read, Bash, Glob, Grep, Task
审计钩子命令
审计Claude Code钩子的质量、合规性和可维护性。
初始化
审计之前,初始化环境:
获取当前UTC日期,捕获项目根路径,确保临时目录存在,并在用户确认后清理任何过时的审计文件。hook-management技能提供权威的验证指导(自动加载当此命令运行时)。
审计内容
- hooks.json配置结构和有效性
- 钩子脚本存在性和结构
- 匹配器配置适当性
- 环境变量命名约定
- 决策控制使用
- 测试存在性和覆盖率
命令参数
| 参数 | 描述 |
|---|---|
| (无) | 智能模式:仅审计已修改、从未审计或过时(>90天)的钩子 |
--force |
审计所有钩子,无论状态 |
--skip-validation |
跳过查找验证(更快,但可能包括误报) |
--plugin-only |
仅审计本地插件钩子 |
--project-only |
仅审计项目钩子(.claude/hooks/) |
--global-only |
仅审计全局安装的插件钩子 |
hook-name |
按名称审计特定钩子 |
plugin:name |
显式目标插件钩子 |
步骤1:发现钩子来源
检测本地仓库和全局安装插件中的所有钩子来源。
对于本地发现,检查市场仓库、单个插件仓库和.claude/hooks/。跟踪插件名称以进行去重。
对于全局发现,检查~/.claude/plugins/(Unix)或%USERPROFILE%\.claude\plugins\(Windows)。跳过具有本地开发版本的全局插件。
步骤2:解析参数
解析标志和钩子名称。读取每个来源的审计日志。
步骤3:呈现审计计划
显示模式、发现的来源、去重状态和审计队列。
步骤4:执行审计
对于每个钩子,生成hook-auditor子代理,带有来源、路径和上次审计日期。以3-5个并行批次运行。
子代理将发现写入.claude/temp/。主对话线程收集结果并使用其Write/Edit工具更新审计日志。
步骤4.5:验证发现
除非--skip-validation标志存在:
- 生成
audit-finding-validator代理,带有:project_root:捕获的项目根路径audit_type:“hook”audit_files:.claude/temp/audit-*-hook-*.json文件路径列表
- 等待验证完成
- 读取更新后的JSON文件,包含验证结果
- 在聚合前完全过滤掉FALSE_POSITIVE发现
- 注意:过滤的发现被记录到
.claude/temp/audit-filtered-findings.json
如果--skip-validation标志存在:
- 完全跳过验证阶段(保持当前速度)
- 呈现所有发现,不过滤
- 在摘要中注明:“验证:已跳过”
步骤5:最终摘要
报告按来源审计的总数、结果和详细信息表。注意全局钩子修复必须手动应用。
包括验证统计(如果执行了验证):
- 验证执行:是/否
- 发现验证:X
- 误报过滤:Y
- 已验证发现:Z
- 未验证发现:W
重要注意事项
去重
本地开发仓库插件优先于全局安装版本。全局钩子是只读的 - 报告发现但建议手动修复。
跨平台路径
| 平台 | 全局插件 |
|---|---|
| Unix | ~/.claude/plugins/ |
| Windows | %USERPROFILE%\.claude\plugins\ |
审计日志位置
所有审计结果写入.claude/audit/hooks.md。
使用/audit-log hooks查看当前审计状态。
示例用法
示例1:审计所有钩子
用户: /audit-hooks
Claude: 发现钩子来源...
## 审计计划
**模式**: 智能
- 插件: claude-ecosystem (4钩子)
- 本地: .claude/hooks/ (2钩子)
- 去重: claude-ecosystem (全局跳过)
**将审计**: 3钩子
[生成hook-auditor子代理]
## 审计完成
| 来源 | 钩子 | 结果 | 分数 |
| --- | --- | --- | --- |
| 插件 | prevent-backup-files | 通过 | 100/100 |
示例2:审计特定钩子
用户: /audit-hooks plugin:prevent-backup-files
Claude: 通过 (分数: 100/100)