代码审计技能
执行此技能时,对当前项目进行全面审计,生成报告到 .claude/plans/audit-report.md。
审计流程
Step 1: 启用 code-RAG
先启用 skill:code-RAG,然后执行 index_codebase 确保索引最新。
Step 2: 并行扫描 (启动多个subagent)
Agent A — 死代码分析:
- •找出所有已导出但未被调用的函数/类型/常量
- •找出所有已定义但未被 import 的文件
- •分语言检查: 各语言各自的未使用导出
Agent B — 重复实现检测:
- •搜索功能相似但在不同位置实现的代码
- •搜索重复定义的常量/配置值
- •搜索相似的数据结构定义
- •标注哪些应该合并为共享模块
Agent C — 耦合度分析:
- •检查依赖方向是否合规(逻辑层不依赖渲染/UI/平台层)
- •检查模块间是否通过接口通信还是直接访问内部实现
- •检查是否存在全局可变状态跨模块共享
- •标注违规的依赖关系
Agent D — 泛用性检查:
- •找出硬编码的实体/对象构造(非通过工厂/配置/组件系统)
- •找出魔法数字和字符串字面量
- •找出只适用于特定案例的实现(应该泛化的代码)
- •检查测试/调试代码是否使用了与正式代码不同的构建路径
Agent E — 优化建议:
- •检查是否有手写实现可用成熟库替代
- •检查算法复杂度是否合理
- •检查跨语言调用是否可以批量化
- •检查数据传输是否有不必要的序列化/反序列化
Step 3: 汇总报告
将所有agent的结果汇总到 .claude/plans/audit-report.md,格式:
markdown
# 审计报告 — [项目名] — [日期] ## 概要 - 扫描文件数: X - 发现问题数: X (严重/中等/轻微) ## 1. 死代码 | 文件 | 符号 | 类型 | 状态 | |------|------|------|------| ## 2. 重复实现 | 位置A | 位置B | 相似度 | 建议 | |-------|-------|--------|------| ## 3. 耦合问题 | 模块 | 违规依赖 | 严重度 | 建议 | |------|----------|--------|------| ## 4. 泛用性问题 | 文件 | 问题 | 建议 | |------|------|------| ## 5. 优化建议 | 文件 | 当前实现 | 建议方案 | |------|----------|----------| ## 重构任务清单 (按优先级) 1. ... 2. ...
Step 4: 用户确认
将报告展示给用户,等待确认后再执行任何重构。
重要约束
- •审计阶段只读不写 — 不修改任何代码
- •所有建议必须具体到文件和行号
- •优先级排序: 架构问题 > 重复代码 > 死代码 > 优化
- •报告使用中文