MegaVul
收藏arXiv2024-06-18 更新2024-06-20 收录
下载链接:
https://github.com/Icyrockton/MegaVul
下载链接
链接失效反馈官方服务:
资源简介:
MegaVul是由浙江大学创建的一个大规模C/C++漏洞数据集,包含17,380个漏洞,来源于992个开源仓库,涵盖169种不同的漏洞类型。数据集通过高级工具确保代码完整性,并提供四种不同的代码转换表示。创建过程中,首先从CVE数据库收集漏洞描述信息,然后从28个基于Git的网站提取漏洞相关代码变更。MegaVul适用于多种软件安全相关任务,如漏洞检测和漏洞严重性评估,旨在通过数据驱动的方法提升软件安全性。
MegaVul is a large-scale C/C++ vulnerability dataset developed by Zhejiang University. It contains 17,380 vulnerabilities sourced from 992 open-source repositories and covers 169 distinct vulnerability types. The dataset ensures code integrity through advanced tools and provides four different code transformation representations. During its creation, vulnerability description information was first collected from the CVE Database, followed by extraction of vulnerability-related code changes from 28 Git-based websites. MegaVul is applicable to various software security-related tasks such as vulnerability detection and vulnerability severity assessment, and aims to enhance software security via data-driven approaches.
提供机构:
浙江大学
创建时间:
2024-06-18
搜集汇总
数据集介绍

构建方式
MegaVul数据集通过从Common Vulnerabilities and Exposures (CVE)数据库和28个基于Git的开源项目中爬取数据构建而成。首先,从CVE数据库中收集所有可用的漏洞描述信息,包括CVE的严重性评分和相关产品的参考链接。随后,通过这些参考链接深入挖掘相关产品的代码提交记录,提取与漏洞修复相关的代码变更。为了确保代码的完整性,采用了先进的工具进行代码提取,并对代码进行了四种不同的转换表示,最终形成了包含17,380个漏洞的全面数据集。
特点
MegaVul数据集具有多维度的特点,不仅包含原始的漏洞描述信息和代码变更,还提供了四种不同的代码表示形式,包括抽象语法树(AST)和程序依赖图(PDG)等。此外,数据集涵盖了从2006年到2023年的992个开源仓库中的169种不同类型的漏洞,确保了数据的多样性和广泛性。数据集以JSON格式存储,便于使用和扩展,且公开在GitHub上,支持持续更新。
使用方法
MegaVul数据集可用于多种软件安全相关的任务,如漏洞检测、漏洞严重性评估以及漏洞修复补丁的识别。研究人员可以通过分析CVE描述、提交消息和代码变更之间的关联,利用自然语言处理技术(如CodeBERT)进行深度分析。此外,数据集的丰富信息支持训练基于序列和图的深度学习模型,用于自动化漏洞检测和补丁识别。数据集的公开性和持续更新特性,使其成为软件安全研究的重要基准。
背景与挑战
背景概述
随着软件安全领域的快速发展,数据驱动的软件漏洞分析已成为学术界和工业界的核心研究方向。MegaVul数据集由浙江大学和中央财经大学的研究人员于2024年构建,旨在通过从Common Vulnerabilities and Exposures (CVE)数据库和28个基于Git的开源项目中爬取数据,提供一个大规模且全面的C/C++漏洞数据集。该数据集包含了17,380个漏洞,涵盖了992个开源仓库中的169种不同漏洞类型,时间跨度从2006年1月至2023年10月。MegaVul不仅提供了详细的漏洞描述信息,还通过先进的工具确保了代码的完整性,并提供了四种不同的代码表示形式,为软件安全相关的任务如漏洞检测和漏洞严重性评估提供了丰富的数据支持。
当前挑战
MegaVul数据集的构建过程中面临了多项挑战。首先,从CVE数据库和开源项目中提取高质量的漏洞数据需要复杂的爬取和过滤技术,以确保数据的准确性和完整性。其次,现有的漏洞数据集存在一些局限性,如人工合成的漏洞(如SARD)、数据分布不真实(如Devign的平衡分布)、多样性有限(如ReVeal的有限项目和漏洞类型)、新披露漏洞的覆盖不足(如Big-Vul仅覆盖2003至2019年)以及数据质量问题(如Big-Vul中的函数不完整或合并错误)。此外,MegaVul在数据去重和异常数据过滤方面也面临挑战,特别是在处理跨分支的相同功能时,自动判断其内容是否相同具有一定的难度。
常用场景
经典使用场景
MegaVul数据集的经典使用场景主要集中在软件安全领域,尤其是在C/C++代码的漏洞检测与分析任务中。该数据集通过收集从2006年至2023年的17,380个漏洞,涵盖了992个开源仓库中的169种不同漏洞类型,提供了丰富的代码表示形式,包括抽象语法树(AST)、程序依赖图(PDG)等。这些多维度的代码表示使得研究人员能够进行深度学习模型的训练,从而实现高效的漏洞检测与修复补丁的识别。
衍生相关工作
MegaVul数据集的发布催生了一系列相关的经典工作,特别是在漏洞检测和代码分析领域。基于该数据集,研究人员开发了多种深度学习模型,如基于图神经网络的漏洞检测模型和基于序列模型的代码分析工具。此外,MegaVul的开放性和多维度信息也为其他编程语言的漏洞检测研究提供了参考,推动了跨语言漏洞检测技术的发展。未来,随着数据集的持续更新,预计将有更多基于MegaVul的创新研究涌现。
数据集最近研究
最新研究方向
在软件安全领域,MegaVul数据集的最新研究方向主要集中在通过多维度的代码表示和丰富的漏洞信息,推动深度学习在漏洞检测和修复中的应用。该数据集不仅涵盖了从2006年到2023年的17,380个C/C++漏洞,还通过先进的工具确保了代码的完整性和多样性,提供了包括抽象语法树(AST)和程序依赖图(PDG)在内的多种代码表示形式。这些丰富的信息使得MegaVul成为研究者进行漏洞特征深度分析和数据驱动漏洞检测的理想平台。此外,MegaVul的持续更新和公开可用性,使其在推动软件安全相关任务的研究中具有重要意义,尤其是在应对日益复杂的软件漏洞和提升检测模型的实际应用能力方面。
相关研究论文
- 1MegaVul: A C/C++ Vulnerability Dataset with Comprehensive Code Representation浙江大学 · 2024年
以上内容由遇见数据集搜集并总结生成



