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, 源到汇分析, 漏洞枚举, 网络安全, 网络安全研究, 自动化渗透测试, 自动化漏洞验证, 请求拦截, 逆向工具, 隐私保护