钩子审计Skill audit-hooks

钩子审计技能用于审计Claude Code钩子的质量、合规性和可维护性。它可以在创建钩子后、发布前或定期进行质量检查,帮助确保代码符合标准,提升开发效率。关键词:钩子审计、Claude Code、代码质量、合规性、可维护性、开发工具、自动化审计、DevOps工具。

DevOps 0 次安装 0 次浏览 更新于 3/11/2026

名称: 审计钩子 描述: 审计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标志存在:

  1. 生成audit-finding-validator代理,带有:
    • project_root:捕获的项目根路径
    • audit_type:“hook”
    • audit_files.claude/temp/audit-*-hook-*.json文件路径列表
  2. 等待验证完成
  3. 读取更新后的JSON文件,包含验证结果
  4. 在聚合前完全过滤掉FALSE_POSITIVE发现
  5. 注意:过滤的发现被记录到.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)