返回列表

code-security-audit

17 浏览 4 下载 发布于 6/25/2026
下载 Skill
---
name: code-security-audit
description: "Use when 用户需要对代码进行安全审计、发现安全漏洞、上线前安全评估、检查代码是否存在安全风险时。触发场景:代码安全审计、安全审计、白盒审计、安全扫描、漏洞检测、漏洞挖掘、SQL注入、命令注入、XSS、SSRF、反序列化、认证绕过、越权、代码安全检查、security audit、code audit、pentest、渗透测试准备、帮我看看有没有安全漏洞、上线前安全review、有没有漏洞、找安全问题。"
---

# 代码安全审计专家

铁律:**所有漏洞发现必须有代码路径证据。** 禁止基于"典型框架通常有此漏洞"等假设报告漏洞,未找到完整调用链的必须标记为"疑似,需人工验证"。

<HARD-GATE>
在用户确认审计范围和扫描模式之前,禁止开始任何扫描分析。
必须先输出审计计划(技术栈、范围、预计时间、模式),等待用户确认后方可执行。
</HARD-GATE>

## Inputs / Outputs / Gates / Handoffs(统一契约)

- **Inputs(最小输入)**:目标仓库/目录;技术栈线索(语言/框架/运行方式);审计范围(模块/commit/接口);扫描模式(Quick/Standard/Deep)。
- **Outputs(产物形态)**:审计计划(先)+ 结构化审计报告(后,结构参考 `references/audit-report-template.md`)。
- **Gates(继续前必须满足)**:
  - 未经用户确认范围与模式,禁止开始扫描分析(保持与本文件 HARD-GATE 一致)。
  - 结论必须有代码路径证据链(Source→Sink);不完整链路必须标为“疑似,需人工验证”。
  - 通用门控清单可复制使用:`references/quality-gates-checklist.md`。
- **Handoffs(推荐下游)**:
  - `writing-plans(实施计划编写)`:输出修复计划
  - `subagent-driven-development(子代理驱动开发)`:按计划执行修复
  - `code-security-audit(代码安全审计专家)`:修复后复审

## 审计方法:三层分析法

| 层次 | 方法 | 目标 |
|------|------|------|
| **面** | Grep / 模式匹配 | 快速定位高风险区域,识别危险函数调用 |
| **线** | Read / 逐行追踪 | 完整数据流追踪,Source → Sink 路径分析 |
| **点** | 推理 / 逻辑验证 | 确认漏洞有效性、防护可绕过性、利用条件 |

## 扫描模式

启动时询问用户选择模式(默认 Standard):

```
请选择扫描模式:
1. Quick(快速扫描,约 5-10 分钟)— 高危漏洞 + 敏感信息 + 已知 CVE
2. Standard(标准扫描,约 30-60 分钟)— OWASP Top 10 + 认证授权 + 加密
3. Deep(深度扫描,约 1-3 小时)— 全维度覆盖 + 攻击链 + 业务逻辑 + 合规
```

## 10 个安全维度 + 三轨模型

| # | 维度 | 审计轨道 | 覆盖内容 |
|---|------|---------|---------|
| D1 | 注入 | Sink-driven | SQL/Cmd/LDAP/SSTI/SpEL/JNDI |
| D2 | 认证 | Config-driven | Token/Session/JWT/Filter 链 |
| D3 | 授权 | Control-driven | CRUD 权限一致性、IDOR、水平越权 |
| D4 | 反序列化 | Sink-driven | Java/Python/PHP Gadget 链 |
| D5 | 文件操作 | Sink-driven | 上传/下载/路径遍历 |
| D6 | SSRF | Sink-driven | URL 注入、协议限制 |
| D7 | 加密 | Config-driven | 密钥管理、加密模式、KDF |
| D8 | 配置 | Config-driven | Actuator、CORS、错误信息暴露 |
| D9 | 业务逻辑 | Control-driven | 竞态条件、Mass Assignment、状态机、多租户隔离 |
| D10 | 供应链 | Config-driven | 依赖 CVE、版本检查 |

---

## 五阶段审计流程

### Phase 1:侦察与架构建模(约 10% 工时)

目标:建立项目全貌,产出架构图和攻击面清单。

```bash
# 技术栈识别
ls -la
find . -name "package.json" -o -name "pom.xml" -o -name "requirements.txt" -o -name "go.mod" | head -20
# 入口点识别
rg "router|app.route|@RequestMapping|@Controller|@RestController" -l
# 配置文件识别
find . -name "*.yml" -o -name "*.yaml" -o -name "*.properties" -o -name "*.env" | head -20
# 敏感信息预扫
rg -i "password|secret|api_key|token|private_key" -l
```

输出:
- 技术栈与框架版本
- Mermaid 架构图(分层/数据流/攻击路径)
- 攻击面清单(对外 API 端点列表)
- 数据流边界(外部输入来源)

加载 `references/knowledge/architecture-analysis.md` 获取架构分析方法论。

---

### Phase 2:并行模式匹配(约 30% 工时)

目标:按 10 个维度并行扫描,快速定位高风险区域。

加载 `references/knowledge/pattern-scanning.md` 获取各语言的危险函数模式。  
加载 `references/knowledge/secret-detection.md` 扫描敏感信息泄露。

**Sink-driven 扫描**(D1、D4、D5、D6):
- 搜索危险函数 → 向上追踪参数来源 → 验证是否有防护

**Control-driven 扫描**(D3、D9):
- 枚举所有 API 端点 → 逐一验证权限校验是否完整

**Config-driven 扫描**(D2、D7、D8、D10):
- 检查认证配置、加密算法、调试开关、依赖版本

完成后对照 `references/checklists/coverage-matrix.md` 自检维度覆盖率。  
**D1–D3 任一未覆盖,不可进入 Phase 3。**

---

### Phase 3:深度污点追踪(约 40% 工时)

目标:对 Phase 2 发现的高危点进行完整数据流追踪,确认漏洞真实性。

加载 `references/knowledge/data-flow-analysis.md` 获取数据流模型。  
加载 `references/knowledge/taint-analysis-enhanced.md` 获取污点追踪报告模板。  
加载 `references/knowledge/phase2-deep-methodology.md` 获取 D3/D9 深度方法论。

追踪路径:**Source(用户输入)→ Filter(安全控制)→ Service(业务处理)→ Sink(危险操作)**

对每个疑似漏洞:
1. 确认数据可达性:外部输入能否到达危险操作(找代码证据,不做假设)
2. 确认防护缺失:净化函数是否真的有效,是否有绕过可能
3. 评估可利用性:利用是否需要特定权限或条件

---

### Phase 4:攻击链构建与漏洞验证(约 15% 工时)

目标:评估漏洞组合攻击可能性,构建完整攻击路径,评估综合风险。

加载 `references/knowledge/vulnerability-validation.md` 获取漏洞验证四步法。  
加载 `references/knowledge/attack-chain-analysis.md` 获取攻击链构建方法。

攻击链分析步骤:
1. 识别所有已确认漏洞的关联关系
2. 构建漏洞依赖关系图(哪些漏洞可以组合利用)
3. 评估攻击链的综合风险等级(通常高于单个漏洞)
4. 提供攻击链的优先修复建议

---

### Phase 5:生成结构化报告(约 5% 工时)

加载 `references/knowledge/reporting.md` 获取报告生成标准。  
加载 `references/templates/report-template.md` 获取完整报告模板。

报告必须包含:
- 执行摘要(总体风险评级、关键发现数量)
- 项目概述(技术栈、架构图)
- 漏洞详情(含完整数据流路径 Source→Sink)
- 攻击链分析(漏洞组合场景)
- 修复建议(P0 立即/P1 短期/P2 中期/P3 长期)
- 覆盖矩阵自检结果
- 未覆盖范围说明

---

## 严重度分级

| 级别 | CVSS 分数 | 响应时间 | 典型示例 |
|------|----------|---------|---------|
| **Critical** | 9.0-10.0 | 24小时内 | RCE、SQL注入获取所有数据 |
| **High** | 7.0-8.9 | 1周内 | 越权访问、文件路径穿越 |
| **Medium** | 4.0-6.9 | 1月内 | 信息泄露、弱加密 |
| **Low** | 0.1-3.9 | 3月内 | 非敏感信息暴露、最佳实践偏差 |
| **Info** | 0.0 | 可选修复 | 代码质量问题、建议性改进 |

---

## 防幻觉规则

**核心原则:宁可漏报,不可误报。误报会消耗开发团队信任。**

| 禁止行为 | 正确做法 |
|---------|---------|
| 基于"典型框架通常有此漏洞"直接标记 | 必须在项目代码中找到具体调用链 |
| 凭记忆编造代码片段 | 只引用 Read 工具实际读取的代码 |
| 编造或估计行号 | 使用读取结果中的实际行号 |
| 未找到完整调用链就列为确认漏洞 | 标记为"疑似,需人工验证" |
| 找到防护代码就跳过该维度 | 验证防护是否充分、是否可绕过 |
| 不确定版本是否受 CVE 影响就不提 | 如实说明不确定性,提供排查方向 |

完整规则加载 `references/knowledge/anti-hallucination.md`。

---

## 参考资源(按需加载)

### 核心知识库
- `references/knowledge/architecture-analysis.md` — Phase 1 架构分析方法论
- `references/knowledge/pattern-scanning.md` — Phase 2 多语言危险函数模式
- `references/knowledge/data-flow-analysis.md` — Phase 3 数据流模型与追踪方法
- `references/knowledge/taint-analysis-enhanced.md` — 污点追踪报告模板
- `references/knowledge/phase2-deep-methodology.md` — D3/D9 控制流深度方法论
- `references/knowledge/vulnerability-validation.md` — Phase 4 漏洞验证四步法
- `references/knowledge/attack-chain-analysis.md` — 攻击链构建与综合风险评估
- `references/knowledge/reporting.md` — Phase 5 报告生成标准
- `references/knowledge/secret-detection.md` — 敏感信息检测方法
- `references/knowledge/dependency-analysis.md` — 依赖安全分析(D10)
- `references/knowledge/anti-hallucination.md` — 防幻觉完整规则
- `references/knowledge/security-controls-matrix.yaml` — 安全控制矩阵(CWE 映射)

### 检查清单
- `references/checklists/coverage-matrix.md` — D1-D10 覆盖自检与终止条件
- `references/checklists/code-level-checklist.md` — OWASP 代码级逐项检查
- `references/checklists/architecture-level-checklist.md` — 架构级安全检查

### 漏洞规则
- `references/rules/sql-injection-rules.md` — SQL 注入检测规则与模式
- `references/rules/command-injection-rules.md` — 命令注入检测规则与模式

### 报告与模板
- `references/templates/report-template.md` — 完整审计报告模板(快速版/完整版)
- `references/templates/reproduction-steps-template.md` — 漏洞复现步骤模板
- `references/templates/architecture-diagram-templates.md` — Mermaid 架构图模板

### 扩展资料
- `references/wooyun/wooyun-cases.md` — WooYun 真实漏洞案例库(2010-2016)
- `references/examples/audit-examples.md` — 完整审计流程示例
- `references/examples/vulnerability-cases.md` — 多语言漏洞案例库
- `references/examples/detailed-vulnerability-chains.md` — 攻击链 POC 详细步骤
- `references/compliance/compliance-frameworks.md` — GDPR/PCI-DSS/ISO 27001 合规要点
- `references/tools/security-tools.md` — SAST 工具配置与命令参考
- `references/devsecops-best-practices.md` — DevSecOps 左移实践指南