关于 overnight-repo-auditor
overnight-repo-auditor 是面向 Anthropic's Managed Agents runtime 的自主代码库审计技能。它协调专项审计,并将安全、性能、无障碍、依赖项和代码质量问题汇总为带严重程度评级的报告。
主要功能
- 01代码库侦察
- 02并行专项审计
- 03安全与性能审查
- 04无障碍与依赖项检查
- 05按严重程度汇总报告
- 06只读处理源代码
适用场景
- 01执行无人值守的夜间审计
- 02跨多个质量领域检查代码库
- 03汇总并行审计 Agent 的发现
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ onewave-ai/ claude-skills --skill overnight-repo-auditor安装后在 Claude Code 中输入/overnight-repo-auditor确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/agent-accessibility.mdagent-code-quality.mdagent-dependency.mdagent-performance.mdagent-security.mdcompilation-and-templates.mdreconnaissance.mdshared-rubric.md详细介绍
Overnight Repo Auditor
在一夜之间自主审计整个代码库,并生成一份涵盖安全性、性能、无障碍性、依赖项和代码质量的单一报告,为问题标注严重级别。此工具为 Anthropic 的 Managed Agents 运行时打造(任务时限为 14.5 小时):无需提问或确认即可运行至完成,并在执行过程中将结构化发现写入磁盘,以便在中断时保留部分结果。
目录
references/reconnaissance.md—— 第 1 阶段步骤和侦察报告模板。references/shared-rubric.md—— 严重级别评定标准和结构化问题格式。将这两项提供给每个 Agent。references/agent-security.md—— 安全审计员说明和输出格式。references/agent-performance.md—— 性能审计员说明和输出格式。references/agent-accessibility.md—— 无障碍性审计员说明、跳过条件和输出格式。references/agent-dependency.md—— 依赖项审计员说明、跳过条件和输出格式。references/agent-code-quality.md—— 代码质量审计员说明和输出格式。references/compilation-and-templates.md—— 第 3 阶段汇总步骤、最终报告模板和完成消息。
操作规则
- 自主运行。绝不向用户索取输入。遇到不明确的决策时,选择更全面的方案,并在报告中记录选择。
- 对源代码只读。仅创建
audit-workspace/目录和overnight-audit-report.md。绝不修改、构建或执行项目代码。唯一例外:依赖项审计员可以运行只读的软件包审计命令(npm audit、pip audit及同类命令)。 - 时间允许时,应进行全面审计,而非抽样审计。
工作流
第 1 阶段:侦察(顺序执行,约 5-10 分钟)
- 扫描仓库结构,识别语言、框架、配置文件,并估算代码行数。
- 判断哪些审计模块适用(安全性和代码质量始终适用;性能始终适用;仅在存在前端/模板文件时进行无障碍性审计;仅在存在清单/锁文件时进行依赖项审计)。
- 编写
audit-workspace/00-reconnaissance.md,作为所有 Agent 共用的上下文文档。
请遵循 references/reconnaissance.md 中的具体命令和报告模板。
第 2 阶段:并行部署审计
- 通过 Agent 工具同时部署所有适用的审计 Agent。每次调用都使用
run_in_background: true,并在同一条消息中发送所有 Agent 调用。 - 将以下内容组合起来,构建每个 Agent 的提示词:完整的侦察报告(直接粘贴到提示词中——Agent 不会自动共享文件系统上下文)、
references/shared-rubric.md中的严重级别评定标准和问题格式,以及对应参考文件中的 Agent 专用说明。每个 Agent 都将结果写入audit-workspace/下各自的输出文件。- 安全性 ->
references/agent-security.md->01-security-audit.md - 性能 ->
references/agent-performance.md->02-performance-audit.md - 无障碍性 ->
references/agent-accessibility.md->03-accessibility-audit.md(遵循跳过条件) - 依赖项 ->
references/agent-dependency.md->04-dependency-audit.md(遵循跳过条件) - 代码质量 ->
references/agent-code-quality.md->05-code-quality-audit.md
- 安全性 ->
- 对于定向审计(例如“仅审计安全性和依赖项”),只部署对应的 Agent,并且只在最终报告中纳入它们对应的章节。
第 3 阶段:汇总报告(顺序执行,约 5-10 分钟)
- 所有后台 Agent 返回后,阅读每份 Agent 报告,对跨 Agent 的问题去重,确定最终严重级别,并生成包含优先级最高的 10 项内容的执行摘要。
- 在仓库根目录写入汇总后的
overnight-audit-report.md,然后输出简短的完成消息。
请遵循 references/compilation-and-templates.md 中的去重映射、最终报告模板和完成消息。
扩展规模
| 代码库大小 | 预计时长 | Agent 策略 |
|---|---|---|
| < 10K 行 | 15-30 分钟 | 所有 Agent,各自单轮审查 |
| 10K - 50K 行 | 30-90 分钟 | 所有 Agent,全面审查 |
| 50K - 200K 行 | 1-4 小时 | 所有 Agent;安全性和代码质量可能需要子 Agent |
| 200K - 500K 行 | 4-8 小时 | 所有 Agent 各自启动 2-3 个子 Agent,并行审查文件 |
| 500K+ 行 | 8-14 小时 | 全面部署子 Agent,为每个子 Agent 分配一批文件 |
对于超过 200K 行的代码库,每个审计 Agent 都应启动子 Agent,在其负责的领域内并行工作(例如,安全性审查可拆分为身份验证与会话、数据处理、API 接口和基础设施)。每份简报都要求 Agent 根据审计期间发现的规模,自行安排子 Agent 的部署。
错误处理
- Agent 失败:使用相同的简报重试一次。如果再次失败,则撰写部分报告并注明失败情况,继续处理其他 Agent,并在最终报告中记录缺失的审查范围。绝不能让一个 Agent 阻碍其他 Agent。
- 文件访问错误:跳过该文件,在该 Agent 的方法说明中记录,并继续处理。
- 超时管理:优先审查高风险文件(身份验证、支付、数据处理、公共端点)。如果 Agent 审查的文件超过 2000 个,请注明对低风险文件采用了抽样策略。如果时间窗口即将结束,指挥者应汇总部分结果。
- 重新运行:新一轮审计会覆盖之前的
audit-workspace/目录和overnight-audit-report.md。建议用户先提交或复制之前的结果。
注意事项
- 报告描述的是源代码,因此应像对待代码本身一样谨慎处理。
- 如果存在
.gitignore,但其中没有列出audit-workspace/,建议将其添加进去,以避免提交审计输出。
评论
支持 Markdown