five

hitoshura25/crossvul

收藏
Hugging Face2025-10-14 更新2025-10-25 收录
下载链接:
https://hf-mirror.com/datasets/hitoshura25/crossvul
下载链接
链接失效反馈
官方服务:
资源简介:
CrossVul多语言安全漏洞数据集,包含9313对存在安全漏洞和修复后的代码示例,覆盖了158个CWE类别和21种编程语言,适用于训练AI模型进行安全代码修复。

CrossVul Multi-Language Security Vulnerability Dataset, containing 9,313 pairs of vulnerable and fixed code examples, covering 158 CWE categories and 21 programming languages, ideal for training AI models for security code remediation.
提供机构:
hitoshura25
搜集汇总
数据集介绍
main_image_url
构建方式
在软件安全领域,高质量的漏洞修复数据集是训练智能代码修复模型的关键基石。CrossVul数据集源自对原始CrossVul语料库的系统性加工,通过自动化脚本精确匹配漏洞代码与其修复版本(即bad_*与good_*文件对),并依据目录结构自动检测编程语言。数据集经过严格的质量过滤,仅保留文件大小小于500KB且有效字符数超过50的样本,同时提取CWE元数据与描述信息,最终以原始的JSON Lines格式输出,未施加任何对话格式化处理,确保了数据的纯净性与可塑性。
特点
该数据集汇聚了9,313组漏洞修复代码对,横跨158种CWE漏洞类别与21种编程语言,展现出卓越的多样性与覆盖广度。其中C语言样本占比最高(3,972例),PHP、JavaScript等紧随其后,而CWE-79(跨站脚本攻击)类别以1,426例成为最普遍的漏洞类型。数据集不仅包含漏洞代码与修复后的安全代码,还附带了CWE标识符、详细描述、语言标签及文件对ID等结构化信息,为多语言、多类别的漏洞修复研究提供了丰富而均衡的训练素材。
使用方法
使用该数据集时,需先通过HuggingFace的datasets库加载原始数据,随后调用process_artifacts.py脚本将其转换为对话格式:以系统角色设定安全专家身份,用户角色输入包含CWE类别与语言的漏洞代码,助手角色则输出修复后的代码。这种结构化的聊天数据可直接用于序列化微调,推荐采用两阶段训练策略——先使用CrossVul进行通用安全知识训练,再结合项目特定数据做专项适配,同时保留15%的CrossVul样本以防止灾难性遗忘,从而在模型泛化能力与专业化精度之间取得平衡。
背景与挑战
背景概述
在软件安全领域,漏洞的自动化检测与修复一直是研究热点,而高质量、多语言、多类型的漏洞数据集是推动该领域发展的基石。CrossVul数据集由Laura Wartschinski等研究人员于2022年提出,源自同名研究项目,旨在为基于图神经网络的漏洞修复模型VulnRepair提供训练与评估基础。该数据集汇集了9,313组漏洞代码及其对应修复代码对,覆盖158种通用弱点枚举(CWE)类别和21种编程语言,其中C、PHP、JavaScript等语言样本量居前。其核心研究问题在于如何构建一个规模充足、标注准确、跨语言通用的漏洞修复数据集,以支持深度学习模型学习从漏洞代码到安全代码的映射关系。CrossVul的发布显著推动了代码安全智能修复领域的发展,为后续研究提供了标准化基准,并已被广泛应用于大语言模型的安全微调任务。
当前挑战
CrossVul数据集面临的核心挑战首先体现在领域问题的复杂性上:软件漏洞类型多样且分布极度不均衡,如跨站脚本(CWE-79)样本多达1,426例,而部分CWE类别仅有个位数样本,导致模型对罕见漏洞类型的修复能力不足。其次,漏洞修复任务本身具有高度上下文依赖性,同一漏洞在不同语言、不同代码结构中的修复模式差异显著,对模型的泛化能力构成严峻考验。在数据集构建过程中,挑战同样突出:从原始开源仓库中自动匹配漏洞代码与修复代码对(bad_*/good_*文件)时,面临代码版本对应不准确、修复范围界定模糊等问题;此外,编程语言自动检测依赖目录结构,可能导致部分代码语言标签错误;为控制数据质量而设置的过滤规则(如文件大小<500KB、字符数>50)虽减少了噪声,但也可能排除部分有效的短代码片段,影响数据集的全面性。
常用场景
经典使用场景
在软件安全领域,CrossVul数据集以其跨越21种编程语言、涵盖158类CWE漏洞的独特优势,成为训练代码安全修复模型的经典基准。研究者通常将其转化为对话式训练样本,通过构造‘系统-用户-助手’的三元组结构,使模型学习从脆弱代码到安全补丁的映射关系。该数据集尤其适用于指令微调范式,能够有效提升大语言模型在跨语言漏洞检测与自动修复任务中的泛化能力,为构建通用型代码安全智能体奠定了坚实的数据基础。
衍生相关工作
基于CrossVul衍生的工作主要聚焦于两大方向:一是图神经网络在代码结构感知修复中的应用,如VulnRepair利用程序依赖图增强对上下文的理解;二是大语言模型的高效微调策略,例如通过记忆回放机制在项目特定数据上训练时保留CrossVul的通用修复知识。此外,该数据集还被用于评估代码修复模型在零样本场景下的表现,催生了针对CWE类别不平衡问题的采样策略研究,以及跨语言漏洞模式对齐的对比学习框架,持续拓展着智能代码修复的技术边界。
数据集最近研究
最新研究方向
在软件安全领域,随着人工智能与代码分析技术的深度融合,基于大语言模型的漏洞自动修复已成为前沿热点。CrossVul多语言安全漏洞数据集凭借其横跨158个CWE类别、涵盖21种编程语言的9313对漏洞代码与修复代码,为训练具备通用安全修复能力的AI模型提供了关键资源。当前研究聚焦于利用该数据集进行两阶段微调策略:先通过通用安全训练让模型掌握跨语言、跨CWE类型的漏洞修复模式,再结合具体项目数据进行领域适配,并以记忆回放机制缓解灾难性遗忘。这一方法显著提升了模型在真实场景下的漏洞检测与修复能力,尤其在应对Web安全漏洞(如XSS、SQL注入)和内存安全漏洞(如缓冲区溢出)等高频高危类型时表现突出。该数据集的出现不仅推动了从规则驱动到数据驱动的安全修复范式转变,也为构建自主可控的软件供应链安全防护体系提供了重要支撑。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作