# cve-void **Repository Path**: xxyuue/cve-void ## Basic Information - **Project Name**: cve-void - **Description**: Kernel Vulnerability Reproduction: A Multi-Agent Framework - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-09-30 - **Last Updated**: 2025-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Kernel Vulnerability Reproduction: A Multi-Agent Framework # 多Agent协同的内核漏洞自动化复现框架 ## 模块总览 - **prompts/prompts.yaml**:所有提示词集中管理; - **knowledge_base/knowledge_base.yaml**:本地知识库(模板、关键词提示、可选 CWE 映射),用于模板匹配与兜底序列生成; - **src/agents/**:五个 Agent 模块代码(I: `a1_cve_analysis.py`,II + III: `a2a3_match_and_syzgen.py`,IV: `a4_syzkaller_orch.py`,V: `a5_poc_convert.py`); - **src/agents/**:五个 Agent 模块代码; - `a1_cve_analysis.py`:拉取/整理 CVE 信息,生成中文摘要与本地缓存;支持从 `src/agents/llm_config.json` 读取 LLM 配置;提示词默认使用 `prompts/prompts.yaml`中的内容;缓存命名为 `-CACHE.json`(如 `CVE-2021-43267-CACHE.json`); - `a2a3_match_and_syzgen.py`:模板匹配 + syzkaller 序列生成,优先调用 LLM(分类 + 直接产出 base/variants),失败或未启用时回退到本地计分匹配与模板 skeleton 兜底; - `llm_config.json`:OpenAI 兼容配置(key/base/model 等); - **src/cli.py**:统一命令行入口; - **scripts/run_pipeline.sh**:一键执行脚本文件; - **data/**(运行中自动生成/读取): - `data/cve_cache/`:CVE 读取内容缓存(如 `CVE-2021-43267-CACHE.json`); - `data/outputs/`:`a1` 产物(结构化 JSON 与 Markdown 卡片); - `CVE-XXXX-YYYY.json`:结构化信息(含英文描述、受影响组件等); - `CVE-XXXX-YYYY.md`:中文卡片(含摘要与备注); - `data/syzgen/`:`a2a3` 产物(匹配结果与 syzkaller 序列 JSON); - `CVE-XXXX-YYYY.mapping.json`:模板匹配结果(template_id/name、CWE、置信度、解释等); - `CVE-XXXX-YYYY.syz.json`:syzkaller 序列(base + variants + 假设与备注)。 ## 快速开始 ```bash pip install -r requirements.txt # 方式一:逐步执行 python -m src.cli a1 CVE-2021-43267 python -m src.cli a2a3 CVE-2021-43267 --enable-llm # 方式二:一键流水线(等价于 a1 -> a2a3) bash scripts/run_pipeline.sh CVE-2021-43267 # 或:python -m src.cli a123 CVE-2021-43267 --enable-llm ``` ## 目录 ``` cve-void/ └─ knowledge_base/ │ ├─ knowledge_base.yaml ├─ prompts/ │ ├─ prompts.yaml ├─ scripts/ │ ├─ run_pipeline.sh ├─ src/ │ ├─ agents/ │ │ ├─ __init__.py │ │ ├─ a1_cve_analysis.py │ │ ├─ a2a3_match_and_syzgen.py │ │ ├─ a4_syzkaller_orch.py │ │ ├─ a5_poc_convert.py │ │ ├─ llm_config.json │ ├─ __init__.py │ ├─ cli.py ├─ LICENSE ├─ README.md ├─ requirements.txt ```