pentest-dataset
收藏资源简介:
面向Agentic AI/渗透测试AI的本地数据集:完整的CVE集合(NVD完整转储)、Exploit-DB的漏洞利用/PoC以及GitHub的writeup仓库——通过SQLite+FTS5索引,使agent能够快速查询。
Local dataset for Agentic AI / Penetration Testing AI: Complete CVE collection (full NVD dump), exploit scripts/PoCs from Exploit-DB, and writeup repositories on GitHub, all indexed via SQLite + FTS5 to enable fast querying by AI agents.
数据集概述
pentest-dataset 是一个面向 Agentic AI 和渗透测试 AI 的本地化数据集,整合了完整的 CVE 数据(NVD 全量转储)、Exploit-DB 漏洞利用及 PoC 资源,以及 GitHub 上的漏洞 writeup 仓库,并通过 SQLite + FTS5 全文索引实现高效查询。
数据规模与内容
| 数据类型 | 来源 | 规模 |
|---|---|---|
| CVE 漏洞数据 | NVD 全量转储 | 约 373k 条 |
| 漏洞利用(Exploit/PoC) | Exploit-DB(GitLab CSV) | 约 46k 条 |
| Writeup 渗透报告 | GitHub 仓库浅克隆 | 约 48k 条 |
| 富化评分数据(CVE/CVSS v4/CPE) | HuggingFace 的 CIRCL 数据集 | 15 个分片(每片 ≤13MB) |
| 补丁差异数据(patch diff + commit URL) | HuggingFace 的 CIRCL 数据集 | 随补丁记录存储 |
数据结构
数据集采用分目录管理,主要数据以 Parquet 格式存储于 data/ 目录:
cves/train/data.parquet:NVD CVE 数据exploits/train/data.parquet:Exploit-DB 数据,完整 PoC 文件保存在data/raw/exploitdb/files/(flat 格式,文件名 =exploitdb_id.ext)patches/train/data.parquet:补丁差异(patch diff)及提交 URLscores/train/data_part{0..14}.parquet:CIRCL 富化评分数据writeups/train/data.parquet:GitHub writeup 仓库数据
本地构建时还会生成 dataset.db(SQLite 数据库)、hf/、cves/ 等附加目录。
查询方式
数据集支持两种查询接口:
1. 命令行工具(NDJSON 输出,适合 agent 解析)
- 按 CVE 编号查询并关联漏洞利用:
python3 tools/query.py --cve CVE-2024-3400 --with-exploits - 全文搜索(FTS5)加严重程度、时间、CVSS 等过滤条件
- 按产品、CWE、平台搜索漏洞利用或 writeup
- 查询 HuggingFace 富化数据(覆盖 NVD 转储之外的新 CVE)
--stats查看数据集统计信息
2. SQLite 直接连接(适合 RAG / embedding 流水线)
数据库包含 cves、cves_fts(FTS5 全文索引)、exploits、writeups 以及 hf_vuln_scores、hf_vuln_patches 等富化表,JSON 数组类型的列存储于 cves.refs、cves.ref_tags、exploits.cves 等字段。
构建管道
数据集支持完整重建,通过多个脚本完成:
fetch_nvd.py:下载并提取 NVD 全量数据(支持按年份增量更新,幂等操作)fetch_exploitdb.py:获取 Exploit-DB 元数据、PoC 和 Markdownfetch_github_writeups.py:浅克隆 GitHub writeup 仓库fetch_hf.py:获取 HuggingFace 的 CIRCL 富化数据(漏洞评分、CWE/补丁)build_index.py:构建 SQLite 数据库(保留hf_*表)export_parquet.py:将 SQLite 导出为 zstd 压缩的 Parquet 格式push_hf_multi.py:推送 Parquet 到 HuggingFace Hub
法律与伦理说明
数据集明确声明仅用于合法授权的安全测试场景,包括漏洞赏金、CTF 竞赛、私人实验室以及已获许可的研究活动。Exploit-DB 中的漏洞利用和 PoC 仅限在授权环境中使用。




