five

VulnGym

收藏
github2026-05-07 更新2026-05-17 收录
下载链接:
https://github.com/Tencent/VulnGym
下载链接
链接失效反馈
官方服务:
资源简介:
VulnGym是一个用于白盒漏洞狩猎智能体的项目级基准,旨在评估智能体在真实世界工程环境中的漏洞检测能力,具有可验证的漏洞触发路径和代码语义证据链。

VulnGym is a project-level benchmark for white-box vulnerability hunting AI agents, designed to evaluate their vulnerability detection capabilities in real-world engineering environments and equipped with verifiable vulnerability triggering paths and code semantic evidence chains.
创建时间:
2026-04-29
原始信息汇总

VulnGym 数据集概述

基本信息

VulnGym 是一个面向白盒漏洞狩猎智能体的项目级基准测试数据集,旨在评估智能体在真实工程上下文中的漏洞检测能力,并提供可验证的漏洞触发路径与代码语义证据链

  • 发布方:腾讯悟空代码安全团队(腾讯安全平台部)
  • 许可协议:CC-BY-4.0
  • 当前版本:v0.1.0(开源版本)

核心设计原则

  1. 🏗️ 实际项目级评估单元:每个样本绑定到一个真实仓库的特定漏洞提交,评估智能体在真实多文件、多模块工程项目中发现和定位漏洞的能力。
  2. 🧠 全面的漏洞类型覆盖:涵盖需要跨模块代码语义推理的业务逻辑缺陷(如授权绕过、认证失效)和传统安全缺陷(如注入、路径遍历)。
  3. ✅ 可验证的漏洞路径:每个样本附带人工审核的可达入口点(entry_point)、关键操作(critical_operation)和跨模块推理链(trace),支持可复现、可解释、确定性的评估。

数据集规模

指标 数值
安全公告(reports) 184
可达入口点(entries) 408
不同项目数 38
不同仓库数 23

漏洞类型分布

每条记录包含两级分类:vuln_category_l1(粗粒度类型)和 vuln_category_l2(细粒度子类型)。

业务逻辑漏洞(占总公告的 71.2%,即 131/184)

细分类别 公告数 占业务逻辑百分比
BL-AUTHZ-BROKEN — 授权逻辑漏洞 31 23.7%
BL-AUTHZ-MISSING — 授权缺失 23 17.6%
BL-AGENT-CAPABILITY — AI/智能体能力边界绕过 20 15.3%
BL-PRIV-ESC — 权限提升 13 9.9%
BL-AUTH-BYPASS — 认证绕过 11 8.4%
其他7个子类别(含源完整性缺失、工作流违规、不安全默认配置等) 33 25.2%

传统漏洞(占总公告的 28.8%,即 53/184)

类别 公告数 占传统漏洞百分比
代码注入 12 22.6%
路径遍历/文件操作 9 17.0%
命令注入 8 15.1%
XSS 5 9.4%
沙箱逃逸 5 9.4%
其他(SSRF、认证绕过、反序列化等) 14 26.4%

数据文件与结构

数据集以两个 JSONL 文件形式提供,位于 data/ 目录下:

  • reports.jsonl:184条记录,每个 GitHub Advisory 一条记录
  • entries.jsonl:408条记录,每个可达入口点一条记录

每条记录包含 repo_urlcommit 字段,可检出对应版本的完整漏洞源码树。详细数据模型和字段定义见 SCHEMA.md


仓库目录结构

VulnGym/ ├── README.md # 英文版说明 ├── README_zh.md # 中文版说明 ├── SCHEMA.md # 字段参考与验证约束 ├── CHANGELOG.md ├── CITATION.cff ├── LICENSE # CC-BY-4.0 ├── data/ │ ├── reports.jsonl # 184行 │ └── entries.jsonl # 408行 └── examples/ ├── load_dataset.py # 标准库/pandas/HuggingFace数据集加载器 ├── example_result.jsonl # 示例工具发现结果提交 └── evaluate.py # 覆盖率/召回率评估器


评估方法

使用提供的 evaluate.py 脚本对工具生成的发现结果进行评估:

bash python3 examples/evaluate.py path/to/your_findings.jsonl -v

每个发现结果必须包含:repo_urlcommitentry_point(可达入口点)和 critical_operation(核心缺陷位置)。

评估指标

  • 公告级召回率(主要指标):被覆盖公告数 / 可用公告数
  • 入口点级召回率(次要指标):匹配的入口点数 / 可用入口点数

默认匹配策略包括路径精确匹配、行容差(|Δ行| ≤ 5),所有策略可通过命令行参数配置。


现有基准测试的局限性对比

局限性 表现
评估粒度不足 多数基准使用函数或差异片段作为评估单元,无法反映在完整工程项目中的定位能力
漏洞类型狭窄 过度强调可模式匹配的CWE缺陷(如SQL注入、缓冲区溢出),缺乏对需深度上下文推理的类别覆盖
真相粒度粗糙 通常为二分类标签或补丁差异,无法精确验证是否定位到正确的入口点和缺陷位置

致谢与学术合作

由腾讯悟空代码安全团队联合以下学术机构共同构建:

  • 复旦大学系统软件与安全实验室
  • 北京大学深圳研究生院李辉教授团队
  • 香港大学
  • 哈尔滨工业大学
  • 中国科学院信息工程研究所网络威胁分析实验室
搜集汇总
数据集介绍
main_image_url
构建方式
VulnGym是一个面向白盒漏洞狩猎智能体的项目级基准测试数据集,旨在评估智能体在真实工程语境下的漏洞检测能力。该数据集以真实开源项目的漏洞提交(vulnerable commit)为单元进行构建,每个样本均绑定到特定仓库的具体提交版本,确保评估环境贴近实际开发场景。数据以JSONL格式存储于`data/`目录下,包含`reports.jsonl`(以GitHub Advisory为粒度)和`entries.jsonl`(以可达入口点为粒度)两个文件,共计涵盖184份安全公告和408条可达入口点记录,涉及38个不同项目与23个独立仓库。每条记录均包含仓库URL和提交哈希,便于完整检出对应版本的漏洞源码。
特点
该数据集的核心特色在于三点:一是真实项目级评估单元,每个样本紧扣实际多文件、多模块工程项目的具体漏洞提交,模拟真实开发环境中的漏洞定位挑战;二是漏洞类型覆盖全面,不仅涵盖需跨模块代码语义推理的业务逻辑缺陷(如授权绕过、身份认证失效),同时包含传统安全漏洞(如注入、路径遍历),总计采用12类加1个后备类别的细粒度分类体系,其中业务逻辑漏洞占71.2%;三是可验证的漏洞路径,每个样本配备人工审核的可达入口点(entry_point)、关键操作点(critical_operation)及跨模块推理链(trace),支持可复现、可解释且确定性的评估。
使用方法
使用VulnGym数据集时,首先通过Git克隆仓库并运行`python3 examples/load_dataset.py`快速加载数据。用户可直接用Python标准库`json`读取JSONL文件,或借助Pandas和HuggingFace Datasets库进行数据加载与过滤。评估工具时,需将工具的检测结果按指定格式写入JSONL文件(每条结果需包含仓库URL、提交哈希、entry_point和critical_operation),然后运行`python3 examples/evaluate.py path/to/your_findings.jsonl -v`脚本。评估器基于归一化精确路径匹配与行号容差(默认±5行)进行匹配,输出公告级召回率(主指标)与入口点级召回率(副指标),所有匹配策略均可通过命令行参数灵活配置。
背景与挑战
背景概述
VulnGym是由腾讯悟空代码安全团队联合复旦大学系统软件与安全实验室、北京大学深圳研究生院李辉教授团队、香港大学等多所高校于2025年5月正式开源发布的一款面向白盒漏洞狩猎智能体的项目级基准评测数据集。核心研究问题在于评估AI智能体在真实工程环境中发现并定位多模块、多文件项目中漏洞的能力。该数据集涵盖184个GitHub安全公告(Advisory),共408个可达入口点,涉及38个不同项目和23个独立仓库。尤为突出的是,71.2%的漏洞为逻辑业务漏洞(如授权绕过、权限提升),其余为传统安全缺陷(如注入、路径遍历),每个样本均附有经人工审核的可达入口点、关键操作及跨模块推理链,弥补了现有基准在评估粒度和漏洞类型覆盖上的不足。VulnGym的发布对安全领域智能化漏洞检测的发展具有里程碑意义,为可复现、可解释的确定性评估提供了标准。
当前挑战
VulnGym所解决的领域挑战在于现有漏洞基准存在三个显著局限:一是评估粒度过粗,多数基准以函数或差异片段为单元,无法反映智能体在完整工程项目中定位漏洞的能力;二是漏洞类型狭窄,过度聚焦于SQL注入、缓冲区溢出等模式匹配型CWE缺陷,缺乏需要深度上下文推理的类别;三是真值粗糙,通常仅提供二分类标签或补丁差异,无法精准验证智能体是否定位到正确的入口点和缺陷位置。在构建过程中,VulnGym团队面临的挑战主要包括:从真实仓库的漏洞提交中提取和标注多层级、可验证的漏洞触发路径(包括可达入口点、关键操作及跨模块推理链),确保每个样本的语义正确性和可复现性;设计并实现覆盖12类细粒度业务逻辑漏洞(如工作流违例、多租户隔离失效)的分类体系,以全面评估智能体对多样漏洞类型的感知能力;以及建立可配置的行容忍度匹配策略以支持灵活而严格的召回率评估,同时避免对过度报告的惩罚机制缺失带来的评估偏差。
常用场景
经典使用场景
VulnGym作为一个面向白盒漏洞狩猎智能体的项目级基准数据集,其最经典的使用场景在于评估和验证AI驱动的代码安全分析工具在真实工程上下文中的漏洞检测能力。研究者可将智能体的检测结果与数据集中提供的可复现漏洞触发入口、关键操作及跨模块推理链进行精准比对,从而衡量工具在多元文件、多模块工程项目中发现和定位漏洞的实效。该基准覆盖了从业务逻辑缺陷(如授权绕过、认证缺失)到传统安全漏洞(如注入、路径遍历)的丰富类型,为智能体的综合漏洞发现能力提供了系统性的评估框架。
衍生相关工作
基于VulnGym数据集,学术界与工业界已衍生出多项相关研究工作。该基准为构建更智能、更鲁棒的白盒漏洞狩猎智能体提供了标准化的评估平台,推动了对大型语言模型在代码安全推理能力边界上的深入探索。研究者围绕其设计的可验证漏洞路径机制,开发了新的智能体推理策略和评估指标。数据集中丰富的业务逻辑漏洞实例,催生了对跨模块语义理解和多步推理能力的专项研究。此外,该项目鼓励社区贡献新的漏洞条目和评估改进,其持续演进的特性为长期跟踪安全智能体技术发展提供了基准参考,促进了领域内可复现、公平的对比研究环境。
数据集最近研究
最新研究方向
在软件安全攻防对抗日益激烈的当下,智能化漏洞挖掘已成为网络安全领域的前沿热点。VulnGyn数据集应运而生,它突破了传统基于函数或代码片段的评估粒度,首次以真实世界、项目级的可验证漏洞触发路径为基石,致力于衡量白盒漏洞猎手智能体在完整工程上下文中的深度语义推理能力。该数据集不仅广泛覆盖了业务逻辑缺陷(如授权绕过、权限提升)与传统安全漏洞,更通过人工校验的跨模块推理链,为漏洞检测的可复现性与可解释性设立了新标杆。其发布标志着AI驱动的漏洞发现从模式匹配迈向了工程化、可验证的量化评估新阶段,对推动大语言模型在软件安全领域的可信落地具有里程碑意义。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作