UserB1ank/code-audit-system
GitHub: UserB1ank/code-audit-system
一个基于 Claude Code 多智能体协作的面向 CVE 的自动化代码审计系统,能从源码分析到 POC 编写与运行时验证完成全链路漏洞挖掘。
Stars: 1 | Forks: 0
# 代码审计系统 — 多智能体 CVE 发现引擎
一个作为 Claude Code 技能实现的**面向 CVE 的多智能体代码审计系统**。它协调并行的子智能体在 Git 仓库中发现可利用的漏洞,编写武器化的 POC,在运行中的部署环境上验证它们,并生成符合 CVE 标准的报告。
## 架构
```
┌──────────────────────────────────────────────────────────┐
│ MainAgent (Orchestrator) │
│ · Fast pre-scan → immediate subagent dispatch │
│ · Deep reconnaissance (parallel with subagents) │
│ · Incremental intelligence injection into subagents │
│ · Workspace & state management │
│ · Final report aggregation │
└──────────────────────────────────────────────────────────┘
│ │ │
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Subagent 1 │ │ Subagent 2 │ │ Subagent N │
│ Module A │ │ Module B │ │ Module N │
│ │ │ │ │ │
│ Recon │ │ Recon │ │ Recon │
│ Source→Sink │ │ Source→Sink │ │ Source→Sink │
│ Exploit Eval│ │ Exploit Eval│ │ Exploit Eval│
│ CVE Report │ │ CVE Report │ │ CVE Report │
└──────────────┘ └──────────────┘ └──────────────┘
```
## 核心功能
- **并行子智能体审计** — 模块被同时审计,而非顺序执行
- **双审计模式** — 标准模式(直接代码审计)和专业模式(基于 CVE 历史驱动发现)
- **图谱增强侦察** — `codebase-memory` MCP 构建代码知识图谱,用于 Source→Sink 追踪
- **增量情报注入** — MainAgent 在审计中途将深度侦察发现馈送给子智能体
- **实时 POC 验证** — 通过 Docker 部署目标,在真实的运行服务上验证漏洞利用
- **严格的可利用性过滤** — 理论上的或被阻断的问题会被丢弃;只报告可验证的漏洞利用
- **崩溃恢复** — 状态文件支持检查点和恢复机制
## 工作流程
```
Standard: Init → Pre-scan → Subagent Audit (parallel) → POC → Verify → Report
↗ MainAgent Deep Recon (parallel) ↗
Specialized: Init → CVE Intel → Pre-scan → Subagent Audit (parallel) → POC → Verify → Report
↗ MainAgent Deep Recon (parallel) ↗
```
### 阶段 1 — 项目初始化
将目标仓库克隆到 `source/` 中,创建 `metadata.json`、状态文件和工作区骨架。
### 阶段 2 — CVE 发现(核心)
- **2A(快速预扫描)**:语言/框架检测、粗略模块划分、攻击面勾勒。立即并行调度所有子智能体。
- **2B(深度侦察)**:MainAgent 通过 `codebase-memory` MCP 构建代码知识图谱,进行深度攻击面映射和模块依赖分析——所有这些都与子智能体审计并行进行。
- **2C(增量注入)**:深度侦察发现会在子智能体工作时推送到它们的背景文档中。
- **2.3(子智能体审计)**:每个子智能体执行 4 阶段审计(侦察 → 深入挖掘 → 可利用性评估 → CVE 报告)。
- **2.4(报告)**:生成包含 Source→Sink 调用链、CVSS 评分和可利用性结论的符合 CVE 标准的报告。
### 阶段 3 — 环境部署(可选)
在 Docker 中部署目标应用程序,用于 POC 验证。
### 阶段 4 — POC 编写
针对 CVE 级别的漏洞编写武器化的 Python 漏洞利用脚本。
### 阶段 5 — 验证(可选)
在部署的环境中测试 POC。**不接受仅基于源代码的验证** — 漏洞利用必须在运行中的实例上验证。如果无法验证,将明确说明。
### 阶段 6 — 总结报告
将所有已验证的发现汇总到 CVE 提交包中。
## 审计模式
| 模式 | 适用场景 | 额外步骤 | 优势 |
|------|-------------|-------------|-----------|
| **标准** | 首次审计、内部项目、无 CVE 历史 | 无 | 启动快,流程简单 |
| **专业** | 知名的开源产品、已有 CVE 历史 | 阶段 2.0:通过 `cve-search` 收集 CVE 情报 | 基于历史驱动的定向 hunting,发现率更高 |
对于知名的开源组织(Apache、Spring、WordPress 等)或用户明确要求时,专业模式会自动触发。
## 使用示例
使用 Git 仓库 URL 调用该技能:
```
/code-audit-system https://github.com/InsForge/InsForge.git 专项审计
```
### 完整审计演练
```
# 1. 项目初始化 — 将目标克隆到隔离工作区
mkdir -p code-audit-projects/InsForge/{source,state,workspace,pocs,reports,docker}
git clone https://github.com/InsForge/InsForge.git code-audit-projects/InsForge/source/
# 2. CVE 情报(Specialized mode)— 查询历史 CVE
# 使用 cve-search MCP 收集供应商/产品的 CVE 历史,
# 分析攻击模式,并将其适配到当前 codebase
# 3. 快速预扫描 + subagent 调度
# MainAgent 识别技术栈,划分模块,
# 立即并行调度 subagents
# 4. 深度侦察(与 subagents 并行)
# MainAgent 使用 codebase-memory MCP 构建代码知识图谱,
# 执行深度 Source→Sink 映射,将发现注入 subagents
# 5. 针对已确认漏洞的 POC 开发
# 6. 用于验证的环境部署
# 在验证主机上部署目标(例如,基于 Debian 的 POC 环境)
# 从分析主机提交 exploit 请求以验证漏洞:
# # ssh verifier@ "sudo docker compose -f /path/to/docker-compose.yml up -d"
# python poc-001-rce.py --target http://:8080
# # 仅依靠源代码审查是不够的——只有运行时 POC
# 验证才算数。如果无法验证,请将其报告为未验证。
# 7. 为已验证的漏洞生成 CVE 提交报告
```
### 验证环境
该系统支持在专用的 POC 验证主机上部署目标:
- **部署**:基于 Docker,通过验证主机上的 `docker compose` 执行
- **连通性**:从分析工作站到验证主机的 SSH 用于命令执行,HTTP 用于漏洞利用投递
- **权限**:验证主机上具有无密码 `sudo` 权限,用于容器生命周期管理
- **原则**:只有通过运行时 POC 执行确认的漏洞才会包含在最终的 CVE 报告中。没有实际验证的静态分析结果将被标记为未验证。
## CVE 提交门槛
| 标准 | 要求 |
|-----------|------------|
| CVSS 评分 | ≥ 7.0(高危/严重) |
| 可利用性 | 必须具有完整的 Source→Sink 调用链 |
| POC | 必须是武器化且可运行的 |
| 影响 | 影响真实用户(不仅是本地/仅限测试) |
| 版本 | 明确识别受影响的版本 |
## 项目结构
```
code-audit-projects//
├── source/ # Cloned source code (git clone MUST target this)
├── state/ # Audit state & task history (checkpoint recovery)
│ ├── audit-state.json
│ └── task-history.jsonl
├── workspace/ # Subagent workspaces
│ ├── 00-work-background.md
│ ├── 01-module-map.md
│ └── agent-/
│ ├── background.md
│ ├── skill.md
│ └── report.md
├── pocs/ # Weaponized POC scripts
├── reports/ # CVE submission reports
├── docker/ # Docker deployment configs
└── metadata.json
```
## MCP 集成
| MCP 服务器 | 用途 |
|-----------|---------|
| `codebase-memory` | 构建代码知识图谱,支持跨模块边界的 Source→Sink 追踪 |
| `cve-search` | 为专业审计模式查询历史 CVE 数据,分析攻击模式 |
## 特定语言的漏洞指南
| 语言 | 覆盖范围 |
|----------|----------|
| Python | SQL 注入、命令注入、路径遍历、反序列化、SSTI、XXE、SSRF |
| PHP | SQL 注入、命令注入、文件包含、XSS、反序列化、路径遍历、SSRF |
| Java | SQL 注入、命令注入、XXE、反序列化、路径遍历、SSRF、SSTI、JNDI 注入 |
| Rust | Unsoundness、并发竞争、资源耗尽、整数/缓冲区问题、供应链 |
## 交付物
1. **CVE 提交报告** — 汇总报告,包含执行摘要、CVE 候选表和详细的逐漏洞分析
2. **逐漏洞报告** — 独立的 CVE 报告,包含 Source→Sink 链、CVSS 向量和证据
3. **武器化 POC 脚本** — 独立的 Python 漏洞利用脚本
4. **验证报告** — 针对实时部署环境的逐漏洞验证结果
## 文件映射
```
SKILL.md # Core skill definition — full audit workflow
references/ # Language guides & operational references
├── python-guide.md # Python vulnerability patterns
├── php-guide.md # PHP vulnerability patterns
├── java-guide.md # Java vulnerability patterns
├── rust-guide.md # Rust vulnerability patterns
├── module-detection.md # Module partitioning by project type
├── project-structure.md # Standard directory layout
├── parallel-audit-workflow.md # Phase 2A/2B/2C parallel audit details
├── subagent-guide.md # Subagent background doc creation
├── phase1-project-init.md # Initialization detailed steps
├── phase2-cve-intelligence.md # CVE intelligence gathering (specialized mode)
├── phases-3to6.md # Deployment, POC, verification, reporting
├── cve-intelligence-guide.md # CVE intelligence methodology
└── operations.md # Error handling, reminders, deliverables
templates/ # Output templates
├── vulnerability-report-template.md
├── subagent-skill-template.md
├── subagent-background-template.md
├── summary-report-template.md
├── verification-report-template.md
├── poc-template.py
└── ...
state/ # State schema
└── audit-state-schema.md
evals/ # Trigger evaluation test cases
├── evals.json
└── trigger-evals.json
```
## 环境要求
- [Claude Code](https://claude.ai/code) CLI
- Git
- Docker(用于 POC 验证)
- Python 3.x(用于 POC 执行)
- MCP 服务器:`codebase-memory`、`cve-search`(可选,用于专业模式)
## 许可证
本项目是 Claude Code 的技能定义。使用风险自负。该系统专为授权的安全测试和漏洞研究而设计。
标签:AI安全, Chat Copilot, CISA项目, Claude Code, CVE发现引擎, CVE报告生成, Git仓库分析, PyRIT, Python, URL发现, 代码安全, 多智能体系统, 大语言模型应用, 安全检测, 并行子代理, 无后门, 智能体编排, 武器化POC, 源到汇分析, 漏洞枚举, 网络安全, 网络安全研究, 自动化渗透测试, 自动化漏洞验证, 请求拦截, 逆向工具, 隐私保护