用途
codebase-audit 是一个端到端的代码库审计工作流技能,目标是:系统性审查整个代码库 → 将发现的问题报告为 GitHub Issue → 在隔离的 git worktree 中修复每个问题 → 提交 PR,全部在同一个会话中完成。
适用场景包括:
- 对代码库执行完整的代码审查/审计
- 主动查找安全漏洞、逻辑 bug 或代码质量问题
- 将代码审查发现转化为可跟踪的 GitHub Issue
- 在隔离环境(每个问题一个 worktree)中逐个修复问题并提交 PR
- 执行周期性的代码库健康检查并自动跟进
- 审计并修复依赖安全漏洞(Dependabot 告警 / npm audit)
不适用场景:
- 审查或修复单个已知 bug(应使用 systematic-debugging 或直接修复)
- 分诊现有打开的 PR(应使用 pr-review-fix)
- 处理 attribution 问题(应使用 mcp-attribution-worktree)
- 与审计发现无关的功能开发或重构
主要能力与工作流
该技能分为五个阶段:
阶段一 — 审查:依据 references/review-strategy.md 的审查范围与检查清单,使用 code-explorer 子代理读取目标目录(默认 mcp/src/)中的所有源文件,逐文件按检查清单核对以下类别:安全(路径穿越、注入、未验证输入、硬编码密钥、错误信息泄露内部细节)、错误处理(缺失 try-catch、吞掉错误、错误信息泄露内部)、类型安全(as any、不安全转换、缺失空值检查)、逻辑 bug(竞态条件、错误的条件判断、不可达代码)、代码质量(死代码、重复、过度复杂的函数)、资源泄漏(未关闭的连接、缺失清理)、API 设计(验证不一致、缺失必填字段检查)。每个发现需记录文件路径、行号、类别、严重程度(Critical/High/Medium/Low)、描述与建议修复方案。依赖扫描部分依据 references/dependency-audit.md 运行 Dependabot 告警拉取与 npm audit。
阶段二 — 分析与分类:依据 references/classification.md 的严重程度定义与分组规则,对发现去重(合并跨文件的同一模式),分组为修复批次,并分配严重程度与优先级:P0(Critical,安全漏洞、数据丢失风险)、P1(High,逻辑 bug、导致运行时失败的错误处理缺口)、P2(Medium,类型安全、影响可维护性的代码质量)、P3(Low,风格、命名、次要清理)。随后向用户呈现结构化审计报告并等待确认。
阶段三 — 创建 GitHub Issue:依据 references/issue-workflow.md,为每个修复批次(或单个 Critical 发现)创建 Issue,命令为 gh issue create --title "<type>(<scope>): <summary>" --body "<structured body>" --label "<severity>,<category>"。Issue 正文需包含受影响文件、行号、问题描述、期望行为与建议修复方式,并在发现相关联时链接相关 Issue。
阶段四 — Worktree 修复:依据 references/worktree-fix.md,按优先级顺序对每个 Issue:创建隔离 worktree 与分支(git worktree add ../<repo>-audit-fix-<issue-number> -b fix/<slug>-<issue-number> origin/main);仅在 worktree 内工作,绝不在主检出中操作;实现最小且聚焦的修复;本地验证(cd mcp && npm run build && npm run test);按 conventional-changelog 格式提交(fix(<scope>): 🔒 <english description> 加 Closes #<issue-number>);推送并创建 PR(git push github fix/<slug>-<issue-number> 与 gh pr create --title "fix(<scope>): 🔒 <summary>" --body "Closes #<issue-number>\n\n<description>" --base main);PR 创建后移除 worktree。每个 Issue 一个 worktree,绝不跨 worktree 混合修复。依赖修复可归入单个 PR,因其修改 package.json / package-lock.json。
阶段五 — 验证与报告:依据 references/verification.md,用 gh pr checks <number> 检查每个 PR 的 CI 状态,若失败则重新进入 worktree 修复并再次推送;最后生成最终审计报告,汇总各类别与各严重程度的发现总数、创建的 Issue(含链接)、提交的 PR(含链接)、以及需要人工决策的剩余事项。
路由表
各任务对应的参考文档:审查范围与检查方式 → references/review-strategy.md;安全严重程度分类(TSRC 风格)→ references/security-severity-checklist.md;分类、去重与批次划分 → references/classification.md;创建结构化 GitHub Issue → references/issue-workflow.md;创建 worktree 并隔离修复 → references/worktree-fix.md;验证修复并生成最终报告 → references/verification.md;审计与修复依赖漏洞 → references/dependency-audit.md。
限制与安全规则
Git 安全规则:除非明确要求,绝不 force-push;绝不 amend 已推送的提交;始终在 worktree 内而非主检出中工作;推送前始终本地验证 build + test;每个 Issue 一个 worktree,绝不混合修复;PR 创建后清理 worktree。提交约定遵循项目的 conventional-changelog 格式,scope 示例包括 security、deps、error-handling、type-safety、code-quality、cloudrun、database、functions。
自检清单要求确认:是否审查了目标范围内所有源文件而非抽样;是否为每个发现标注文件、行号、严重程度与描述;是否在创建 Issue 前呈现审计报告并获得用户确认;是否为每个修复批次创建独立的 GitHub Issue;是否对每个修复使用隔离 worktree 而非主检出;是否在推送每个修复前验证 build + test 通过;是否在创建 PR 后清理 worktree;是否生成包含所有 Issue 与 PR 链接的最终报告;是否检查了 Dependabot 告警与 npm audit 的依赖漏洞;是否为每个脆弱依赖应用了正确的修复策略(升级/覆盖/替换/忽略)。
关于收费、价格、平台支持范围等信息,资料中暂未提供。