专业白盒代码安全审计技能,覆盖 55+ 漏洞类型,双轨审计模型,多 Agent 深度分析。
Code Audit 是为 Claude Code 设计的专业安全审计技能。采用白盒静态分析方法论,系统性发现和验证源代码中的安全漏洞。
- 9 种语言: Java, Python, Go, PHP, JavaScript/Node.js, C/C++, .NET/C#, Ruby, Rust
- 14 种框架: Spring Boot, Django, Flask, FastAPI, Express, Koa, Gin, Laravel, Rails, ASP.NET Core, Rust Web, NestJS/Fastify, MyBatis
- 55+ 漏洞类型: SQL 注入、RCE、反序列化、SSRF、SSTI、XXE、IDOR、竞态条件、业务逻辑缺陷等
- 143 项强制检测: 按 10 个安全维度 (D1-D10) 组织的语言级检查清单
- 双轨审计模型: Sink-driven(注入/RCE)+ Control-driven(授权/业务逻辑)
- 多 Agent 并行: 大型代码库并行审计(874+ Java 文件约 15 分钟)
- WooYun 案例库: 88,636 真实漏洞案例(2010-2016)
- 攻击链构建: 自动将多个发现串联为可利用的攻击路径
# 复制到 Claude Code skills 目录
cp -r code-audit ~/.claude/skills/
# 或从仓库克隆
cd ~/.claude/skills
git clone <repository-url> code-audit在 Claude Code 中请求安全审计时,技能自动激活。
"审计这个项目"
"检查代码安全"
"找出安全漏洞"
"/audit" 或 "/code-audit"
| 模式 | 适用场景 | 范围 |
|---|---|---|
| Quick | CI/CD、小项目 | 高危漏洞、敏感信息、依赖 CVE |
| Standard | 常规审计 | OWASP Top 10、认证授权、加密,1-2 轮 |
| Deep | 重要项目、渗透测试准备 | 全覆盖、攻击链、业务逻辑,2-3 轮 |
用户: /code-audit deep /path/to/project
Claude: [MODE] deep
[RECON] 874 文件, Spring Boot 1.5 + Shiro 1.6 + JPA + Freemarker
[PLAN] 5 个 Agent, D1-D10 覆盖, 预估 125 turns
... (用户确认) ...
[REPORT] 10 Critical, 14 High, 12 Medium, 4 Low
不同类型的漏洞需要根本不同的检测策略:
| 轨道 | 维度 | 方法 | 发现目标 |
|---|---|---|---|
| Sink-driven | D1(注入)、D4(反序列化)、D5(文件)、D6(SSRF) | Grep 危险函数 → 追踪数据流 → 验证无防护 | 存在的危险代码 |
| Control-driven | D3(授权)、D9(业务逻辑) | 枚举端点 → 验证安全控制是否存在 → 缺失=漏洞 | 缺失的安全控制 |
| Config-driven | D2(认证)、D7(加密)、D8(配置)、D10(供应链) | 搜索配置 → 对比安全基线 | 错误配置 |
关键区别: Sink-driven 搜索"存在的危险代码",Control-driven 搜索"应存在但缺失的安全控制"。授权缺失、IDOR 等漏洞本质上是代码不存在(没有权限检查),Grep 搜不到"不存在的代码"。
| # | 维度 | 覆盖内容 |
|---|---|---|
| D1 | 注入 | SQL/Cmd/LDAP/SSTI/SpEL/JNDI |
| D2 | 认证 | Token/Session/JWT/Filter 链 |
| D3 | 授权 | CRUD 权限一致性、IDOR、水平越权 |
| D4 | 反序列化 | Java/Python/PHP Gadget 链 |
| D5 | 文件操作 | 上传/下载/路径遍历 |
| D6 | SSRF | URL 注入、协议限制 |
| D7 | 加密 | 密钥管理、加密模式、KDF |
| D8 | 配置 | Actuator、CORS、错误信息暴露 |
| D9 | 业务逻辑 | 竞态条件、Mass Assignment、状态机、多租户隔离 |
| D10 | 供应链 | 依赖 CVE、版本检查 |
Phase 1: 侦察
→ 技术栈识别
→ 攻击面测绘(五层推导)
→ 端点-权限矩阵生成
→ Agent 分配
Phase 2: Agent 并行执行 (R1)
→ Agent 1: 注入 (D1) [sink-driven]
→ Agent 2: 认证+授权+业务逻辑 (D2+D3+D9) [control-driven]
→ Agent 3: 文件+SSRF (D5+D6) [sink-driven]
→ Agent 4: 反序列化 (D4) [sink-driven]
→ Agent 5: 配置+加密+供应链 (D7+D8+D10) [config-driven]
Phase 3: 覆盖评估
→ 按轨道分别计算覆盖率(Sink 扇出率 / 端点审计率)
→ 识别缺口 → 按需启动 R2 补充 Agent
Phase 4: 报告生成
→ 严重度校准(决策树)
→ 跨 Agent 去重合并
→ 攻击链构建
code-audit/
├── SKILL.md # 技能入口(frontmatter + 执行控制器)
├── agent.md # Agent 工作流(状态机 + 双轨模型)
├── README.md # 文档(英文)
├── README_CN.md # 文档(中文)
└── references/
├── core/ (16) # 核心方法论
│ ├── phase2_deep_methodology.md # 双轨审计方法论
│ ├── taint_analysis.md # 数据流追踪
│ ├── anti_hallucination.md # 防误报规则
│ └── ...
├── checklists/ (11) # D1-D10 覆盖矩阵 + 9 语言检查清单
├── languages/ (18) # 语言漏洞模式
├── security/ (21) # 安全域模块
├── frameworks/ (14) # 框架专项模块
├── adapters/ (5) # 语言适配器 (YAML)
├── wooyun/ (9) # WooYun 真实案例库
├── cases/ (1) # 真实漏洞案例
└── reporting/ (1) # 报告模板
所有发现必须基于工具实际读取的代码:
- 文件路径必须通过 Glob/Read 验证后才能报告
- 代码片段必须来自 Read 工具的实际输出
- 禁止基于"典型项目结构"猜测
- 核心原则:宁可漏报,不可误报
Java, Python, Go, PHP, JavaScript/TypeScript, C/C++, C#/.NET, Ruby, Rust
Spring Boot, Django, Flask, FastAPI, Express, Koa, Gin, Laravel, Rails, ASP.NET Core, NestJS, Fastify, Rust Web (Actix/Axum)
API 安全、LLM/AI 安全、Serverless、密码学、竞态条件、OAuth/OIDC/SAML、WebSocket/gRPC、HTTP 走私、供应链/CI-CD
欢迎贡献新的语言模块或框架模块:
- 在
references/languages/{language}.md或references/frameworks/{framework}.md创建文件 - 按现有模块格式编写(每个 D1-D10 维度的关键问题)
- 包含:危险函数、检测模式、漏洞示例、安全替代方案
- 如需更新
agent.md技术栈路由表
加入微信群交流讨论:
MIT License
本技能仅用于授权的安全测试。使用者必须:
- 拥有审计目标代码的合法授权
- 负责任地披露发现的漏洞
- 遵守相关法律法规和道德规范
未经授权对他人系统进行安全测试可能违法。
