# Production Code Audit

> 自动深度扫描整个代码库，理解架构和模式，然后系统性地将其转换为生产级、企业级专业质量并进行优化。触发词：生产就绪、代码审计、企业级、优化一切、生产部署、企业标准

- Skill: `kscz0000/production-code-audit` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kscz0000/production-code-audit`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kscz0000/production-code-audit/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: kscz0000 (https://skillmd.com/u/kscz0000)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/kscz0000/production-code-audit

---


# 生产代码审计

## 概述

自动分析整个代码库，理解其架构、模式和用途，然后系统性地将其转换为生产级、企业级专业代码。该技能执行深度逐行扫描，识别安全、性能、架构和质量方面的所有问题，然后提供全面的修复方案以满足企业标准。

## 何时使用该技能

- 当用户说"使其达到生产就绪状态"时使用
- 当用户说"审计我的代码库"时使用
- 当用户说"使其专业/企业级"时使用
- 当用户说"优化一切"时使用
- 当用户需要企业级质量时使用
- 准备生产部署时使用
- 当代码需要满足企业标准时使用

## 工作原理

### 步骤1：自动代码库发现

**自动扫描并理解整个代码库：**

1. **读取所有文件** - 递归扫描项目中的每个文件
2. **识别技术栈** - 检测语言、框架、数据库、工具
3. **理解架构** - 绘制结构、模式、依赖关系图
4. **识别用途** - 理解应用程序的功能
5. **查找入口点** - 定位主文件、路由、控制器
6. **映射数据流** - 理解数据在系统中的流动方式

**无需询问用户即可自动执行此操作。**

### 步骤2：全面问题检测

**逐行扫描所有问题：**

**架构问题：**
- 循环依赖
- 紧密耦合
- 上帝类（>500行或>20个方法）
- 缺少关注点分离
- 模块边界不清
- 违反设计模式

**安全漏洞：**
- SQL注入（查询中的字符串拼接）
- XSS漏洞（未转义的输出）
- 硬编码密钥（代码中的API密钥、密码）
- 缺少身份验证/授权
- 弱密码哈希（MD5、SHA1）
- 缺少输入验证
- CSRF漏洞
- 不安全的依赖项

**性能问题：**
- N+1查询问题
- 缺少数据库索引
- 应该异步的同步操作
- 缺少缓存
- 低效算法（O(n²)或更差）
- 大型包大小
- 未优化的图像
- 内存泄漏

**代码质量问题：**
- 高圈复杂度（>10）
- 代码重复
- 魔术数字
- 命名规范差
- 缺少错误处理
- 格式不一致
- 死代码
- TODO/FIXME注释

**测试缺口：**
- 关键路径缺少测试
- 测试覆盖率低（<80%）
- 无边界情况测试
- 不稳定测试
- 缺少集成测试

**生产就绪性：**
- 缺少环境变量
- 无日志记录/监控
- 无错误跟踪
- 缺少健康检查
- 文档不完整
- 无CI/CD流水线

### 步骤3：自动修复和优化

**自动修复一切：**

1. **重构架构** - 拆分上帝类，修复循环依赖
2. **修复安全问题** - 使用参数化查询，移除密钥，添加验证
3. **优化性能** - 修复N+1查询，添加缓存，优化算法
4. **提高代码质量** - 降低复杂度，消除重复，修复命名
5. **添加缺失的测试** - 为未测试的关键路径编写测试
6. **添加生产基础设施** - 日志记录、监控、健康检查
7. **优化一切** - 包大小、图像、数据库查询
8. **添加文档** - README、API文档、架构文档

### 步骤4：验证和报告

**完成所有更改后：**

1. 运行所有测试以确保没有破坏任何内容
2. 验证所有安全问题已修复
3. 测量性能改进
4. 生成全面报告
5. 提供前后指标

## 示例

### 示例1：自动代码库转换

```markdown
用户：@production-code-audit 使其达到生产就绪状态

AI：我将扫描您的整个代码库并将其转换为生产级质量。

**阶段1：发现代码库**（正在分析247个文件）
- 已检测：Node.js + Express + PostgreSQL + React
- 架构：带有REST API的MVC模式
- 用途：电子商务平台
- 入口点：server.js、src/index.tsx

**阶段2：扫描问题**（逐行分析）

发现127个问题：
- 🔴 严重：8个问题
- 🟠 高：23个问题  
- 🟡 中：41个问题
- 🔵 低：55个问题

**阶段3：自动修复问题**

🔴 严重修复（8/8已完成）：

1. ✅ 修复了UserRepository.findByEmail()中的SQL注入
   - 之前：查询中的字符串拼接
   - 之后：使用$1占位符的参数化查询

2. ✅ 从config/database.ts中移除了硬编码的数据库密码
   - 之前：password: 'SuperSecret123!'
   - 之后：password: process.env.DB_PASSWORD

3. ✅ 为管理路由添加了身份验证
   - 之前：无身份验证中间件
   - 之后：authenticateToken + requireRole('admin')

4. ✅ 修复了弱密码哈希（MD5 → bcrypt）
   - 之前：crypto.createHash('md5')
   - 之后：bcrypt.hash(password, 12)

5. ✅ 修复了循环依赖：OrderService ↔ PaymentService
   - 之前：导致循环的直接导入
   - 之后：使用EventBus的基于事件的解耦

6. ✅ 为所有API端点添加了输入验证
   - 之前：无验证
   - 之后：Zod模式验证所有输入

7. ✅ 修复了身份验证中间件中的身份验证绕过
   - 之前：在缺少令牌时调用next()
   - 之后：返回401错误

8. ✅ 修复了UserController中的批量分配漏洞
   - 之前：接受req.body中的所有字段
   - 之后：仅允许字段的白名单

🟠 高优先级修复（23/23已完成）：

9. ✅ 修复了OrderService.getOrdersWithItems()中的N+1查询
   - 之前：带有单独查询的循环（2.8秒）
   - 之后：带有连接的单个查询（45毫秒）
   - 性能：提升98%

10. ✅ 重构了UserService上帝类（850行 → 4个专注的服务）
    - UserAuthenticationService（登录、注销、密码）
    - UserProfileService（CRUD操作）
    - UserNotificationService（电子邮件、短信）
    - UserPermissionService（角色、权限）

11. ✅ 为产品查询添加了Redis缓存
    - 之前：每个请求都查询数据库
    - 之后：带有1小时TTL的缓存
    - 性能：快95%

12. ✅ 优化了包大小
    - 之前：850KB（压缩后：280KB）
    - 之后：380KB（压缩后：120KB）
    - 改进：减少55%

13. ✅ 添加了数据库索引
    - orders(user_id, status, created_at)
    - products(category, price)
    - 查询性能：提升98%

[... 还有11个高优先级修复 ...]

🟡 中优先级修复（41/41已完成）：
[... 所有中等修复 ...]

🔵 低优先级改进（55/55已完成）：
[... 所有低等改进 ...]

**阶段4：添加生产基础设施**

✅ 添加了结构化日志记录（Winston）
✅ 添加了错误跟踪（Sentry）
✅ 添加了健康检查端点（/health、/ready）
✅ 添加了监控（Prometheus指标）
✅ 添加了速率限制（基于Redis）
✅ 添加了API文档（Swagger/OpenAPI）
✅ 添加了全面的README
✅ 添加了部署指南
✅ 添加了CI/CD流水线（.github/workflows）

**阶段5：验证**

✅ 所有测试通过（1,247个测试）
✅ 测试覆盖率：42% → 87%
✅ 安全扫描：0个漏洞
✅ 性能：API响应时间3.2秒 → 180毫秒
✅ 包大小：850KB → 380KB
✅ Lighthouse得分：62 → 94

**转换完成**

您的代码库现在已达到生产就绪状态，具有企业级质量：

📊 指标：
- 已修复问题：127/127（100%）
- 测试覆盖率：87%（目标：80%+）
- API性能：提升94%
- 安全性：符合OWASP Top 10
- 代码质量：A-级

📁 已更改文件：89个文件
📝 已更改行数：+3,247 / -1,892

🚀 准备好进行生产部署！
```

### 示例2：自动安全加固

```markdown
用户：@production-code-audit 保护此代码库的安全

AI：正在扫描安全漏洞...

**安全扫描完成**

发现15个安全问题：
- 🔴 严重：5个
- 🟠 高：7个
- 🟡 中：3个

**正在自动修复所有安全问题...**

🔴 严重（5/5已修复）：

1. ✅ UserRepository中的SQL注入
\`\`\`typescript
// 之前（易受攻击）
const query = \`SELECT * FROM users WHERE email = '\${email}'\`;

// 之后（安全）
const query = 'SELECT * FROM users WHERE email = $1';
await db.query(query, [email]);
\`\`\`

2. ✅ 已移除硬编码密钥
\`\`\`typescript
// 之前（不安全）
const JWT_SECRET = 'my-secret-key-123';

// 之后（安全）
const JWT_SECRET = process.env.JWT_SECRET;
if (!JWT_SECRET) throw new Error('JWT_SECRET required');
\`\`\`

3. ✅ 已为管理路由添加身份验证
\`\`\`typescript
// 之前（易受攻击）
router.delete('/api/admin/users/:id', deleteUser);

// 之后（安全）
router.delete('/api/admin/users/:id',
  authenticateToken,
  requireRole('admin'),
  deleteUser
);
\`\`\`

4. ✅ 已升级密码哈希
\`\`\`typescript
// 之前（弱）
const hash = crypto.createHash('md5').update(password).digest('hex');

// 之后（强）
const hash = await bcrypt.hash(password, 12);
\`\`\`

5. ✅ 已添加输入验证
\`\`\`typescript
// 之前（易受攻击）
const user = await db.user.create({ data: req.body });

// 之后（安全）
const schema = z.object({
  email: z.string().email(),
  password: z.string().min(12),
  name: z.string().min(2).max(100)
});
const validated = schema.parse(req.body);
const user = await db.user.create({ data: validated });
\`\`\`

**安全状态：**
- ✅ OWASP Top 10：合规
- ✅ SQL注入：受保护
- ✅ XSS：受保护
- ✅ CSRF：受保护
- ✅ 身份验证：安全
- ✅ 密钥：环境变量
- ✅ 依赖项：无漏洞

🔒 代码库现在安全且已准备好生产！
```

### 示例3：性能优化

```markdown
用户：@production-code-audit 优化性能

AI：正在分析性能瓶颈...

**性能分析完成**

当前指标：
- API响应时间：3.2秒（目标：<200毫秒）
- 页面加载时间：8.5秒（目标：<2秒）
- 包大小：850KB（目标：<200KB）

**正在自动优化...**

✅ 修复了N+1查询（3.2秒 → 180毫秒 - 快94%）
✅ 添加了Redis缓存（95%缓存命中率）
✅ 优化了数据库索引（查询快98%）
✅ 减少了包大小（850KB → 380KB - 小55%）
✅ 优化了图像（28MB → 3.2MB - 小89%）
✅ 实现了代码分割
✅ 添加了懒加载
✅ 并行化了异步操作

**性能结果：**

| 指标 | 之前 | 之后 | 改进 |
|------|------|------|------|
| API响应 | 3.2秒 | 180毫秒 | 94% |
| 页面加载 | 8.5秒 | 1.8秒 | 79% |
| 包大小 | 850KB | 380KB | 55% |
| 图像大小 | 28MB | 3.2MB | 89% |
| Lighthouse | 42 | 94 | +52分 |

🚀 性能已优化至生产标准！
```

## 最佳实践

### ✅ 应该这样做

- **扫描一切** - 读取所有文件，理解整个代码库
- **自动修复** - 不要只报告，实际修复问题
- **优先处理严重问题** - 安全和数据丢失问题优先
- **衡量影响** - 显示前后指标
- **验证更改** - 更改后运行测试
- **全面覆盖** - 涵盖架构、安全、性能、测试
- **优化一切** - 包大小、查询、算法、图像
- **添加基础设施** - 日志记录、监控、错误跟踪
- **记录更改** - 解释修复了什么以及为什么

### ❌ 不要这样做

- **不要提问** - 自主理解代码库
- **不要等待指示** - 自动扫描和修复
- **不要只报告** - 实际进行修复
- **不要跳过文件** - 扫描项目中的每个文件
- **不要忽略上下文** - 理解代码的功能
- **不要破坏内容** - 更改后验证测试通过
- **不要部分修复** - 修复所有问题，而不仅仅是部分

## 自动扫描指令

**调用此技能时，自动执行：**

1. **发现代码库：**
   - 使用`listDirectory`递归查找所有文件
   - 使用`readFile`读取每个源文件
   - 从package.json、requirements.txt等识别技术栈
   - 绘制架构和结构图

2. **逐行扫描问题：**
   - 检查每一行的安全漏洞
   - 识别性能瓶颈
   - 发现代码质量问题
   - 检测架构问题
   - 查找缺失的测试

3. **自动修复一切：**
   - 使用`strReplace`修复文件中的问题
   - 添加缺失的文件（测试、配置、文档）
   - 重构有问题的代码
   - 添加生产基础设施
   - 优化性能

4. **验证和报告：**
   - 运行测试以确保没有破坏任何内容
   - 测量改进
   - 生成全面报告
   - 显示前后指标

**无需询问用户输入即可执行所有这些操作。**

## 常见陷阱

### 问题：问题太多
**症状：** 团队被200+个问题瘫痪
**解决方案：** 仅关注严重/高优先级问题，创建冲刺

### 问题：误报
**症状：** 标记非问题
**解决方案：** 理解上下文，手动验证，询问开发人员

### 问题：无后续行动
**症状：** 审计报告被忽略
**解决方案：** 创建GitHub问题，分配负责人，在站会中跟踪

## 生产审计检查清单

### 安全
- [ ] 无SQL注入漏洞
- [ ] 无硬编码密钥
- [ ] 受保护路由上的身份验证
- [ ] 已实现授权检查
- [ ] 所有端点上的输入验证
- [ ] 使用bcrypt（10+轮）进行密码哈希
- [ ] 强制HTTPS
- [ ] 依赖项无漏洞

### 性能
- [ ] 无N+1查询问题
- [ ] 外键上的数据库索引
- [ ] 已实现缓存
- [ ] API响应时间 < 200毫秒
- [ ] 包大小 < 200KB（压缩后）

### 测试
- [ ] 测试覆盖率 > 80%
- [ ] 已测试关键路径
- [ ] 已覆盖边界情况
- [ ] 无不稳定测试
- [ ] 测试在CI/CD中运行

### 生产就绪性
- [ ] 已配置环境变量
- [ ] 已设置错误跟踪（Sentry）
- [ ] 已实现结构化日志记录
- [ ] 健康检查端点
- [ ] 监控和警报
- [ ] 文档完整

## 审计报告模板

```markdown
# 生产审计报告

**项目：** [名称]
**日期：** [日期]
**总体评级：** [A-F]

## 执行摘要
[关于总体状态的2-3句话]

**严重问题：** [数量]
**高优先级：** [数量]
**建议：** [修复时间表]

## 按类别划分的发现

### 架构（评级：[A-F]）
- 问题1：[描述]
- 问题2：[描述]

### 安全（评级：[A-F]）
- 问题1：[描述 + 修复]
- 问题2：[描述 + 修复]

### 性能（评级：[A-F]）
- 问题1：[描述 + 修复]

### 测试（评级：[A-F]）
- 覆盖率：[%]
- 问题：[列表]

## 优先操作
1. [严重问题] - [时间表]
2. [高优先级] - [时间表]
3. [高优先级] - [时间表]

## 时间表
- 严重修复：[X周]
- 高优先级：[X周]
- 生产就绪：[X周]
```

## 相关技能

- `@code-review-checklist` - 代码审查指南
- `@api-security-best-practices` - API安全模式
- `@web-performance-optimization` - 性能优化
- `@systematic-debugging` - 调试生产问题
- `@senior-architect` - 架构模式

## 其他资源

- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
- [Google工程实践](https://google.github.io/eng-practices/)
- [SonarQube质量门](https://docs.sonarqube.org/latest/user-guide/quality-gates/)
- [Robert C. Martin的《代码整洁之道》](https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882)

---

**专业提示：** 定期安排审计（每季度）以保持代码质量。预防比修复生产错误更便宜！

## 限制
- 仅当任务明确匹配上述范围时才使用此技能。
- 不要将输出视为特定环境验证、测试或专家审查的替代品。
- 如果缺少所需的输入、权限、安全边界或成功标准，请停止并请求澄清。
