Andy-you/CVE-Reproducer-System
GitHub: Andy-you/CVE-Reproducer-System
基于大语言模型的五阶段自动化漏洞复现系统实验仓库,公开了Python CVE测试集的完整结果与中间产物。
Stars: 0 | Forks: 0
# 论文实验结果:基于大模型的漏洞智能复现技术研究
本仓库提供毕业论文《基于大模型的漏洞智能复现技术研究》中实验部分的**完整测试集结果**、中间产物与统计分析。研究面向 Python 相关 CVE,设计并实现了基于大语言模型的五阶段自动化漏洞复现原型系统(Collect → RAG Enhance → Environment → Code → Validator),并在公开 CVE 样本上完成了端到端测试。
### 主测试集(33 个 Python CVE 样本)
来源于公开仓库 [CVE_Experiments](https://github.com/arlotfi79/CVE_Experiments) 中被验证通过的 Python 相关 CVE 列表。所有样本均为公开漏洞,复现环境与 PoC 均可由 Python 主控。
### 附加挑战集(8 个 CVE 样本)
来自同一公开仓库中**原被归为失败**的 Python 样本,用于检验系统在更困难样本上的突破潜力。
## 📊 完整结果列表
### 一、主测试集(33 个 CVE)
| 序号 | CVE编号 | 公开仓库结论 | gpt-4-mini 首轮 | 最终状态 | 主导问题或恢复路径 |
| :---: | --- | --- | :---: | :---: | --- |
| 1 | CVE-2020-1967 | 成功 | ❌ 失败 | ❌ 失败 | 攻击路径误解,后续重写后仍难在标准场景下触发 |
| 2 | CVE-2021-32677 | 成功 | ❌ 失败 | ❌ 失败 | request、uvicorn、fastapi 等依赖链多次补齐后仍未稳定 |
| 3 | CVE-2021-37678 | 成功 | ❌ 失败 | ✅ 成功 | 初始环境缺少 PyYAML,经一轮迭代修复后成功 |
| 4 | CVE-2021-42576 | 成功 | ❌ 失败 | ❌ 失败 | RAG 质量不足,导致后续阶段思路不正确 |
| 5 | CVE-2022-0391 | 成功 | ❌ 失败 | ❌ 失败 | RAG 质量低导致初始 payload 与检测指标均不正确 |
| 6 | CVE-2022-22817 | 成功 | ❌ 失败 | ✅ 成功 | 初始目标错指内置 eval,修正为 PIL.ImageMath.eval 后成功 |
| 7 | CVE-2022-35934 | 成功 | ✅ 成功 | ✅ 成功 | 首轮复现成功 |
| 8 | CVE-2022-35986 | 成功 | ❌ 失败 | ✅ 成功 | 初始 PoC 调用了错误 API,重写后成功 |
| 9 | CVE-2022-41883 | 成功 | ✅ 成功 | ✅ 成功 | 首轮复现成功 |
| 10 | CVE-2022-41885 | 成功 | ✅ 成功 | ✅ 成功 | 首轮复现成功 |
| 11 | CVE-2022-48560 | 成功 | ❌ 失败 | ❌ 失败 | 目标需早期 Python 小版本,自动环境却错误落到 python:3.9 |
| 12 | CVE-2023-25664 | 成功 | ❌ 失败 | ❌ 失败 | 核心参数与有效载荷不符,重写后仍未对齐核心触发方式 |
| 13 | CVE-2023-25665 | 成功 | ❌ 失败 | ✅ 成功 | 初始 PoC 触发不稳定,经 DeepSeek 修改后成功 |
| 14 | CVE-2023-25666 | 成功 | ✅ 成功 | ✅ 成功 | 首轮端到端复现成功 |
| 15 | CVE-2023-25667 | 成功 | ❌ 失败 | ❌ 失败 | 初始 oracle 设计错误,重写后又受 ffmpeg 缺失影响 |
| 16 | CVE-2023-25668 | 成功 | ❌ 失败 | ❌ 失败 | PoC 未直接调用漏洞操作,重写后仍存在高失败风险 |
| 17 | CVE-2023-25669 | 成功 | ✅ 成功 | ✅ 成功 | 首轮端到端复现成功 |
| 18 | CVE-2023-25672 | 成功 | ❌ 失败 | ❌ 失败 | 环境重写后 PoC 仍使用错误 handle 属性 |
| 19 | CVE-2023-25674 | 成功 | ❌ 失败 | ✅ 成功 | 初始 PoC 未启用 XLA,重写后成功 |
| 20 | CVE-2023-25675 | 成功 | ❌ 失败 | ❌ 失败 | PoC 可运行但未命中核心漏洞逻辑 |
| 21 | CVE-2023-25801 | 成功 | ✅ 成功 | ✅ 成功 | 首轮端到端复现成功 |
| 22 | CVE-2023-37658 | 成功 | ❌ 失败 | ❌ 失败 | PoC 可作为概念验证,但目标版本无法从索引获取 |
| 23 | CVE-2023-6507 | 成功 | ❌ 失败 | ✅ 成功 | 初始检测逻辑错误,重写后成功 |
| 24 | CVE-2024-0397 | 成功 | ❌ 失败 | ❌ 失败 | 原理上可行,但触发概率低且受系统安全机制干扰 |
| 25 | CVE-2024-33664 | 成功 | ❌ 失败 | ❌ 失败 | 初始 PoC seed 被 HTML 污染,重写 PoC 可用,但环境依赖安装失败 |
| 26 | CVE-2024-4032 | 成功 | ✅ 成功 | ✅ 成功 | 首轮端到端复现成功 |
| 27 | CVE-2024-40627 | 成功 | ❌ 失败 | ❌ 失败 | 前期环境缺依赖,初始缺失 requests 库,迭代修复后显露出 PoC 触发/验证逻辑不足 |
| 28 | CVE-2024-43204 | 成功 | ❌ 失败 | ❌ 失败 | 容器启动后仍缺关键 Apache 指令,SSRF 不触发 |
| 29 | CVE-2024-4340 | 成功 | ✅ 成功 | ✅ 成功 | 首轮端到端复现成功 |
| 30 | CVE-2024-9287 | 成功 | ❌ 失败 | ✅ 成功 | 初始脚本语法错误,重写后成功 |
| 31 | CVE-2025-0182 | 成功 | ❌ 失败 | ❌ 失败 | 从 RAG 到环境整体重写后仍不足以支撑复现 |
| 32 | CVE-2025-22153 | 成功 | ✅ 成功 | ✅ 成功 | 首轮端到端复现成功 |
| 33 | CVE-2025-4516 | 成功 | ❌ 失败 | ❌ 失败 | PoC 逻辑可行,但环境构建耗时长且未完成 |
#### 主测试集统计摘要
| 口径 | 成功数 | 失败数 | 成功率 |
| --- | --- | --- | --- |
| gpt-4-mini 首轮直接结果(无迭代修复) | 9 | 24 | **27.3%** |
| 补充重写 + 有限轮次修复后的累计最终结果 | 16 | 17 | **48.5%** |
| 相对首轮新增修复后成功(针对24个首轮失败样本) | 7 | 17 | **29.2%** |
### 二、附加挑战集(8 个 CVE)
| 序号 | CVE编号 | 公开仓库结论 | 本系统最终状态 | 主导问题 | 说明 |
| :---: | --- | --- | :---: | --- | --- |
| 1 | CVE-2022-22816 | 失败 | ❌ 失败 | PoC/目标对象 | 错误地以无效图像流触发,正确思路应构造畸形 ImagePath.Path 对象 |
| 2 | CVE-2022-35938 | 失败 | ❌ 失败 | 环境+PoC问题 | 初始环境依赖声明错误;后续为 PoC 运行时问题 |
| 3 | CVE-2022-35939 | 失败 | ❌ 失败 | 环境问题 | 环境依赖复杂,构建失败 |
| 4 | CVE-2022-36087 | 失败 | ❌ 失败 | 环境问题 | 基镜像选择错误 + 镜像拉取链路不稳定 |
| 5 | CVE-2022-47069 | 失败 | ❌ 失败 | PoC/漏洞核心不匹配 | PoC 试图触发堆溢出,但与指定 CVE 不匹配 |
| 6 | CVE-2023-25663 | 失败 | ✅ 成功 | — | 成功复现(局部突破) |
| 7 | CVE-2023-25670 | 失败 | ❌ 失败 | PoC/API | 使用了错误 TensorFlow API 与数据类型 |
| 8 | CVE-2025-47273 | 失败 | ❌ 失败 | 环境问题 | 镜像和依赖拉取失败,在环境构建阶段失败 |
#### 附加挑战集统计摘要
- **成功**:1 / 8(CVE-2023-25663)
- **失败**:7 / 8
### 复现单个 CVE(需完整系统)
本仓库仅提供实验结果,不包含完整系统源码。若需复现实验,请参考原论文第四章实现说明,或联系作者。
### 下载中间产物示例
目录下提供了部分 CVE 的完整中间产物(原始数据、增强上下文、Dockerfile、PoC、执行日志),可供研究参考。
## ⚠️ 注意事项
1. **样本偏置**:主测试集来自公开仓库中已成功样本,不代表所有 Python 漏洞。
2. **模型与修复混用**:最终成功率引入了跨模型(MiniMax-M2.5、DeepSeek)重写和有限轮次修复,非单一配置下的 benchmark。
3. **人工归因**:失败原因分类基于日志人工判定,可能存在主观性。
4. **非严格多次重复**:未对所有样本进行多轮随机控制实验,结论不做普适性外推。
## 📜 许可证
本仓库中的**实验结果与统计摘要**采用 [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/) 许可。
中间产物(日志、配置文件等)仅用于学术研究目的,请勿用于恶意攻击。
**最后更新**:2026年5月
标签:AI安全, Chat Copilot, CISA项目, CVE, CVE_Experiments, DLL 劫持, DNS 反向解析, Go语言工具, GPT-4, GPT-4-mini, IP 地址批量处理, LLM, Maven, PoC生成, Python, RAG, Unmanaged PE, Validator, WebSocket, 五阶段流水线, 代码生成, 依赖分析, 大语言模型, 容器化执行, 提示词注入, 数字签名, 无后门, 智能安全, 检索增强生成, 毕业论文, 渗透测试工具, 漏洞复现, 漏洞验证, 环境配置, 网络安全, 自动化漏洞复现, 论文实验, 请求拦截, 迭代修复, 逆向工具, 隐私保护, 靶场环境