SecVulEval
收藏github2025-05-22 更新2025-05-31 收录
下载链接:
https://github.com/basimbd/SecVulEval
下载链接
链接失效反馈官方服务:
资源简介:
SecVulEval是一个关于C/C++漏洞的数据集,包含5,867个CVEs,10,998个漏洞函数和14,442个非漏洞函数。此外,该数据集还包括语句级别的错误修复变更和与漏洞语句相关的上下文信息。
SecVulEval is a dataset targeting C/C++ vulnerabilities. It encompasses 5,867 CVEs, 10,998 vulnerable functions, and 14,442 non-vulnerable functions. Additionally, this dataset includes statement-level error repair changes and contextual information related to vulnerable statements.
创建时间:
2025-05-16
原始信息汇总
SecVulEval数据集概述
数据集基本信息
- 数据类型:C/C++漏洞数据集
- 数据规模:
- 包含5,867个CVE
- 10,998个易受攻击函数
- 14,442个非易受攻击函数
数据内容特征
- 包含漏洞修复的语句级变更
- 提供易受攻击语句的相关上下文信息
数据获取方式
- 托管平台:HuggingFace
- 加载脚本: python from datasets import load_dataset dataset = load_dataset("arag0rn/SecVulEval", split="train")
实验运行要求
-
依赖包:
- torch==2.5.1
- transformers==4.47.0
- accelerate==1.3.0
- openai
- anthropic
- tree-sitter
- tree-sitter-c==0.23.4
- tree-sitter-cpp==0.23.4
- openpyxl
-
环境变量:
- OPENAI_API_KEY
- ANTHROPIC_API_KEY
- HF_TOKEN
实验说明
- 主要实验文件:orchestrator.ipynb
- 随机子集文件:random_subset.json
- 符号缓存文件:symcache.sqlite
搜集汇总
数据集介绍

构建方式
SecVulEval数据集的构建过程体现了对C/C++漏洞研究的系统性考量。研究团队从5,867个CVE条目中提取了10,998个存在漏洞的函数和14,442个正常函数作为对比样本,每个样本不仅包含基础的函数代码,还精细标注了语句级别的缺陷修复变更及其上下文信息。这种多层次的构建方式确保了数据集既能反映漏洞特征,又能提供足够的对照样本,为漏洞检测算法训练提供了理想的实验材料。
使用方法
使用SecVulEval数据集需要配置特定的运行环境,包括安装torch、transformers等深度学习框架以及tree-sitter等代码解析工具。研究人员可以通过HuggingFace平台直接加载数据集,配套提供的orchestrator.ipynb笔记本文件详细指导了实验流程。首次运行时系统会自动提取符号信息并缓存,后续实验将显著提速。数据集支持自定义随机子集选择,通过修改random_subset.py脚本即可灵活调整实验数据范围。
背景与挑战
背景概述
SecVulEval数据集作为C/C++漏洞研究领域的重要资源,由专业研究团队构建并于近年发布。该数据集收录了5,867个CVE漏洞记录,包含10,998个易受攻击函数和14,442个非易受攻击函数,同时提供了语句级别的漏洞修复变更及相关上下文信息。数据集构建者arag0rn团队通过系统化收集和标注漏洞数据,为软件安全领域的漏洞检测、代码审计等研究提供了标准化评估基准。该数据集在HuggingFace平台公开可用,支持使用transformers库直接加载,显著促进了智能漏洞检测领域的研究进展。
当前挑战
在漏洞检测领域,SecVulEval致力于解决代码静态分析中误报率高、上下文理解不足等核心问题。数据集构建过程中面临多重技术挑战:需要精确识别语句级漏洞差异并保持上下文完整性;处理C/C++语言的复杂语法和预处理指令增加了标注难度;确保漏洞样本与非漏洞样本的平衡性对模型训练至关重要。实验复现环节依赖多种外部API和特定环境配置,对研究者的技术栈广度提出较高要求。首次运行时符号提取耗时较长等工程实现问题也需要特别关注。
常用场景
经典使用场景
在软件安全研究领域,SecVulEval数据集为漏洞检测模型的训练与评估提供了丰富的资源。该数据集包含大量C/C++语言的漏洞函数与非漏洞函数,研究者可通过对比分析,深入理解漏洞代码的特征模式。数据集提供的语句级漏洞修复变更及上下文信息,使得模型能够学习到更细粒度的漏洞表征,为构建高精度漏洞检测系统奠定基础。
解决学术问题
SecVulEval有效解决了软件安全研究中样本不足、标注质量参差不齐的难题。通过精心整理的CVEs漏洞数据,研究者能够系统性地探索漏洞代码的语法与语义特征。数据集提供的漏洞修复补丁,为理解漏洞产生机理及修复策略提供了实证基础,推动了基于深度学习的漏洞检测方法在准确率与泛化能力上的突破。
实际应用
该数据集在实际软件开发周期中具有重要价值。安全团队可利用其训练自动化漏洞扫描工具,集成至CI/CD流程实现早期风险预警。开源项目维护者通过分析历史漏洞模式,能够针对性加强代码审查。数据集涵盖的多样化漏洞类型,也为构建企业级静态分析工具提供了基准测试标准。
数据集最近研究
最新研究方向
在软件安全领域,SecVulEval数据集因其全面的C/C++漏洞标注信息而成为前沿研究的焦点。该数据集整合了5867个CVE漏洞实例,覆盖10998个易受攻击函数和14442个安全函数,为基于深度学习的漏洞检测模型提供了丰富的训练素材。当前研究热点集中在如何利用该数据集中的语句级漏洞修复变更和上下文信息,结合大语言模型技术提升漏洞检测的准确率。部分团队正尝试将Transformer架构与符号执行技术相结合,通过分析漏洞上下文语义来识别潜在的安全威胁。这一方向不仅推动了静态分析技术的革新,也为软件供应链安全风险评估提供了新的方法论支撑。
以上内容由遇见数据集搜集并总结生成



