catalog/repos/3stonebrother--code-audit.md

198 lines
7.2 KiB
Markdown
Raw Normal View History

2026-04-06 15:47:33 +08:00
# 代码安全审计技能
2026-04-06 19:01:37 +08:00
`安全审计` `漏洞检测` `白盒测试` `多智能体` `Claude Code`
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
# Claude Code 代码审计技能
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
> 专业白盒代码安全审计技能,支持 55+ 漏洞类型、双轨审计模型与多智能体深度分析。
2026-04-06 15:47:33 +08:00
[中文文档](README_CN.md)
2026-04-06 19:01:37 +08:00
## 概述
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
代码审计是专为 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) 设计的专业安全审计技能。它通过静态白盒分析,系统性地发现并验证源代码中的安全漏洞。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
### 核心特性
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
- **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供模式参考
- **攻击链构建**:自动将发现的漏洞串联为可利用的攻击路径
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
## 安装
2026-04-06 15:47:33 +08:00
```bash
2026-04-06 19:01:37 +08:00
# 克隆到 Claude Code 技能目录
2026-04-06 15:47:33 +08:00
cp -r code-audit ~/.claude/skills/
2026-04-06 19:01:37 +08:00
# 或从仓库克隆
2026-04-06 15:47:33 +08:00
cd ~/.claude/skills
git clone <repository-url> code-audit
```
2026-04-06 19:01:37 +08:00
在 Claude Code 中发起安全审计请求时,该技能将自动激活。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
## 使用方法
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
### 触发短语
2026-04-06 15:47:33 +08:00
```
2026-04-06 19:01:37 +08:00
"审计这个项目"
"检查代码安全性"
"查找安全漏洞"
"/audit" 或 "/code-audit"
2026-04-06 15:47:33 +08:00
```
2026-04-06 19:01:37 +08:00
### 扫描模式
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
| 模式 | 适用场景 | 范围 |
|------|----------|------|
| **快速** | CI/CD、小型项目 | 高危漏洞、敏感信息、依赖 CVE |
| **标准** | 常规审计 | OWASP Top 10、认证、加密1-2 轮 |
| **深度** | 关键项目、渗透测试 | 全量覆盖、攻击链、业务逻辑2-3 轮 |
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
### 示例
2026-04-06 15:47:33 +08:00
```
2026-04-06 19:01:37 +08:00
用户:/code-audit deep /path/to/project
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
Claude[模式] 深度
[侦察] 874 个文件Spring Boot 1.5 + Shiro 1.6 + JPA + Freemarker
[计划] 5 个 Agent覆盖 D1-D10预计 125 轮
...(用户确认后)...
[报告] 严重 10 个,高危 14 个,中危 12 个,低危 4 个
2026-04-06 15:47:33 +08:00
```
2026-04-06 19:01:37 +08:00
## 架构设计
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
### 双轨审计模型
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
不同类型的漏洞需要本质上不同的检测策略:
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
| 轨道 | 维度 | 方法 | 发现目标 |
|------|------|------|----------|
| **Sink 驱动** | D1注入、D4反序列化、D5文件操作、D6SSRF | 搜索危险模式 -> 追踪数据流 -> 验证防御缺失 | 实际存在的危险代码 |
| **控制流驱动** | D3授权、D9业务逻辑 | 枚举端点 -> 验证安全控制是否存在 -> 缺失即漏洞 | **缺失**的安全控制 |
| **配置驱动** | D2认证、D7加密、D8配置、D10供应链 | 搜索配置 -> 与基线对比 | 配置错误 |
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
### 10 个安全维度
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
| # | 维度 | 覆盖范围 |
|---|------|----------|
| 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、版本检查 |
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
### 多智能体工作流
2026-04-06 15:47:33 +08:00
```
2026-04-06 19:01:37 +08:00
阶段一:侦察
-> 技术栈识别
-> 攻击面映射(五层推导)
-> 端点-权限矩阵生成
-> Agent 分配
阶段二:并行 Agent 执行(第一轮)
-> Agent 1注入D1[Sink 驱动]
-> Agent 2认证 + 授权 + 业务逻辑D2+D3+D9[控制流驱动]
-> Agent 3文件操作 + SSRFD5+D6[Sink 驱动]
-> Agent 4反序列化D4[Sink 驱动]
-> Agent 5配置 + 加密 + 供应链D7+D8+D10[配置驱动]
阶段三:覆盖率评估
-> 各轨道覆盖率指标(扇出率 / 端点审计率)
-> 识别盲区 -> 必要时启动第二轮补充 Agent
阶段四:报告生成
-> 严重性评级(决策树)
-> 跨 Agent 去重
-> 攻击链构建
2026-04-06 15:47:33 +08:00
```
2026-04-06 19:01:37 +08:00
## 文件结构
2026-04-06 15:47:33 +08:00
```
code-audit/
2026-04-06 19:01:37 +08:00
├── SKILL.md # 技能入口(前置声明 + 执行控制器)
├── agent.md # Agent 工作流(状态机 + 双轨模型)
├── README.md # 文档(英文)
├── README_CN.md # 文档(中文)
2026-04-06 15:47:33 +08:00
└── references/
2026-04-06 19:01:37 +08:00
├── core/ (16) # 核心方法论
│ ├── phase2_deep_methodology.md # 双轨审计方法论
│ ├── taint_analysis.md # 数据流追踪
│ ├── anti_hallucination.md # 误报防范
2026-04-06 15:47:33 +08:00
│ └── ...
2026-04-06 19:01:37 +08:00
├── checklists/ (11) # D1-D10 覆盖矩阵 + 9 种语言清单
├── languages/ (18) # 各语言漏洞模式
├── security/ (21) # 安全领域模块
├── frameworks/ (14) # 各框架专项模块
├── adapters/ (5) # 语言适配器YAML
├── wooyun/ (9) # WooYun 真实案例库
├── cases/ (1) # 真实漏洞案例
└── reporting/ (1) # 报告模板
2026-04-06 15:47:33 +08:00
```
2026-04-06 19:01:37 +08:00
## 防幻觉机制
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
每一条发现必须基于通过工具实际读取的代码:
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
- 报告前须通过 Glob/Read 验证文件路径存在
- 代码片段必须来自 Read 工具的实际输出
- 禁止基于"典型项目结构"进行猜测
- **核心原则:宁可漏报,不可误报**
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
## 支持的技术栈
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
### 语言
Java、Python、Go、PHP、JavaScript/TypeScript、C/C++、C#/.NET、Ruby、Rust
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
### 框架
Spring Boot、Django、Flask、FastAPI、Express、Koa、Gin、Laravel、Rails、ASP.NET Core、NestJS、Fastify、Rust WebActix/Axum
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
### 安全领域
API 安全、LLM/AI 安全、Serverless、加密学、竞态条件、OAuth/OIDC/SAML、WebSocket/gRPC、HTTP 请求走私、供应链/CI-CD
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
## 贡献指南
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
欢迎贡献!如需添加新语言或框架支持:
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
1. 创建 `references/languages/{language}.md``references/frameworks/{framework}.md`
2. 遵循现有模块格式(每个 D1-D10 维度包含关键检测问题)
3. 包含:危险函数、检测模式、漏洞示例、安全替代方案
4. 如需要,更新 `agent.md` 中的技术栈路由表
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
## 参考资料
2026-04-06 15:47:33 +08:00
- [Code Audit Skill 详解(上)](https://mp.weixin.qq.com/s/K5yJ9nPUzwpBV5rMPPKfCg)
- [Code Audit Skill 详解(下)](https://mp.weixin.qq.com/s/yTPehTfk1ufv3RXq6gh1mA)
2026-04-06 19:01:37 +08:00
## 社区
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
加入我们的微信群参与讨论和获取支持:
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
<img src="image/wechat.png" alt="微信群" width="300">
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
## 许可证
2026-04-06 15:47:33 +08:00
MIT License
2026-04-06 19:01:37 +08:00
## 免责声明
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
本技能仅供**授权安全测试**使用。使用者须:
- 获得对目标代码进行审计的合法授权
- 负责任地披露所发现的漏洞
- 遵守适用法律法规及道德准则
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
未经授权对非自有系统进行安全测试可能违法。