生产代码审计Skill production-code-audit

此技能用于自动深度扫描整个代码库,识别并修复架构、安全性、性能、代码质量等问题,系统地将代码优化到企业级生产质量,包含关键词:代码审计、生产级优化、自动扫描、安全性提升、性能优化、架构重构、企业标准。

架构设计 0 次安装 0 次浏览 更新于 3/21/2026

name: production-code-audit description: “自动深度扫描整个代码库,理解架构和模式,然后系统地将代码转换为生产级、企业级专业质量,并进行优化”

生产代码审计

概述

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

何时使用此技能

  • 当用户说“使其生产就绪”时使用
  • 当用户说“审计我的代码库”时使用
  • 当用户说“使其专业/企业级”时使用
  • 当用户说“优化一切”时使用
  • 当用户需要企业级质量时使用
  • 当准备生产部署时使用
  • 当代码需要满足公司标准时使用

工作原理

步骤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:自动代码库转换

用户: @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%改进

[... 更多高优先级修复 ...]

🟡 中优先级修复(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:自动安全加固

用户: @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]);
  1. ✅ 移除硬编码密钥
// 之前(不安全)
const JWT_SECRET = 'my-secret-key-123';

// 之后(安全)
const JWT_SECRET = process.env.JWT_SECRET;
if (!JWT_SECRET) throw new Error('JWT_SECRET必需');
  1. ✅ 向管理路由添加认证
// 之前(易受攻击)
router.delete('/api/admin/users/:id', deleteUser);

// 之后(安全)
router.delete('/api/admin/users/:id',
  authenticateToken,
  requireRole('admin'),
  deleteUser
);
  1. ✅ 升级密码哈希
// 之前(弱)
const hash = crypto.createHash('md5').update(password).digest('hex');

// 之后(强)
const hash = await bcrypt.hash(password, 12);
  1. ✅ 添加输入验证
// 之前(易受攻击)
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)
  • [ ] 结构化日志记录已实现
  • [ ] 健康检查端点
  • [ ] 监控和警报
  • [ ] 文档完整

审计报告模板

# 生产审计报告

**项目:** [名称]
**日期:** [日期]
**整体等级:** [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 - 架构模式

额外资源


专业提示: 安排定期审计(季度)以保持代码质量。预防比修复生产bug更便宜!