7.2 KiB
7.2 KiB
代码安全审计技能
安全审计 漏洞检测 白盒测试 多智能体 Claude Code
Claude Code 代码审计技能
专业白盒代码安全审计技能,支持 55+ 漏洞类型、双轨审计模型与多智能体深度分析。
概述
代码审计是专为 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)的各语言专项清单
- 双轨审计模型:注入/RCE 采用 Sink 驱动,授权/业务逻辑采用控制流驱动
- 多智能体深度分析:并行 Agent 执行,支持大型代码库(874+ Java 文件约 15 分钟完成)
- WooYun 案例库:88,636 条真实漏洞案例(2010-2016)供模式参考
- 攻击链构建:自动将发现的漏洞串联为可利用的攻击路径
安装
# 克隆到 Claude Code 技能目录
cp -r code-audit ~/.claude/skills/
# 或从仓库克隆
cd ~/.claude/skills
git clone <repository-url> code-audit
在 Claude Code 中发起安全审计请求时,该技能将自动激活。
使用方法
触发短语
"审计这个项目"
"检查代码安全性"
"查找安全漏洞"
"/audit" 或 "/code-audit"
扫描模式
| 模式 | 适用场景 | 范围 |
|---|---|---|
| 快速 | CI/CD、小型项目 | 高危漏洞、敏感信息、依赖 CVE |
| 标准 | 常规审计 | OWASP Top 10、认证、加密,1-2 轮 |
| 深度 | 关键项目、渗透测试 | 全量覆盖、攻击链、业务逻辑,2-3 轮 |
示例
用户:/code-audit deep /path/to/project
Claude:[模式] 深度
[侦察] 874 个文件,Spring Boot 1.5 + Shiro 1.6 + JPA + Freemarker
[计划] 5 个 Agent,覆盖 D1-D10,预计 125 轮
...(用户确认后)...
[报告] 严重 10 个,高危 14 个,中危 12 个,低危 4 个
架构设计
双轨审计模型
不同类型的漏洞需要本质上不同的检测策略:
| 轨道 | 维度 | 方法 | 发现目标 |
|---|---|---|---|
| Sink 驱动 | D1(注入)、D4(反序列化)、D5(文件操作)、D6(SSRF) | 搜索危险模式 -> 追踪数据流 -> 验证防御缺失 | 实际存在的危险代码 |
| 控制流驱动 | D3(授权)、D9(业务逻辑) | 枚举端点 -> 验证安全控制是否存在 -> 缺失即漏洞 | 缺失的安全控制 |
| 配置驱动 | D2(认证)、D7(加密)、D8(配置)、D10(供应链) | 搜索配置 -> 与基线对比 | 配置错误 |
10 个安全维度
| # | 维度 | 覆盖范围 |
|---|---|---|
| D1 | 注入 | SQL/命令/LDAP/SSTI/SpEL/JNDI |
| D2 | 认证 | Token/Session/JWT/过滤器链 |
| D3 | 授权 | CRUD 权限一致性、IDOR |
| D4 | 反序列化 | Java/Python/PHP 利用链 |
| D5 | 文件操作 | 上传/下载/路径穿越 |
| D6 | SSRF | URL 注入、协议限制 |
| D7 | 加密 | 密钥管理、加密模式、KDF |
| D8 | 配置 | Actuator、CORS、错误信息泄露 |
| D9 | 业务逻辑 | 竞态条件、批量赋值、状态机、多租户 |
| D10 | 供应链 | 依赖 CVE、版本检查 |
多智能体工作流
阶段一:侦察
-> 技术栈识别
-> 攻击面映射(五层推导)
-> 端点-权限矩阵生成
-> Agent 分配
阶段二:并行 Agent 执行(第一轮)
-> Agent 1:注入(D1)[Sink 驱动]
-> Agent 2:认证 + 授权 + 业务逻辑(D2+D3+D9)[控制流驱动]
-> Agent 3:文件操作 + SSRF(D5+D6)[Sink 驱动]
-> Agent 4:反序列化(D4)[Sink 驱动]
-> Agent 5:配置 + 加密 + 供应链(D7+D8+D10)[配置驱动]
阶段三:覆盖率评估
-> 各轨道覆盖率指标(扇出率 / 端点审计率)
-> 识别盲区 -> 必要时启动第二轮补充 Agent
阶段四:报告生成
-> 严重性评级(决策树)
-> 跨 Agent 去重
-> 攻击链构建
文件结构
code-audit/
├── SKILL.md # 技能入口(前置声明 + 执行控制器)
├── 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
免责声明
本技能仅供授权安全测试使用。使用者须:
- 获得对目标代码进行审计的合法授权
- 负责任地披露所发现的漏洞
- 遵守适用法律法规及道德准则
未经授权对非自有系统进行安全测试可能违法。