five

eyeballvul

收藏
arXiv2024-07-12 更新2024-08-06 收录
下载链接:
http://arxiv.org/abs/2407.08708v1
下载链接
链接失效反馈
官方服务:
资源简介:
eyeballvul数据集是由Timothée Chauvin创建,专门用于测试语言模型在实际环境中检测漏洞的能力。该数据集包含超过24,000个真实世界的安全漏洞,涵盖6,000多个修订版本和5,000多个开源仓库,总大小约为55GB。数据集的创建过程包括从OSV数据集中下载与开源仓库相关的CVEs,并通过一系列步骤将其转换为适合评估的格式。eyeballvul数据集主要应用于评估和提升语言模型在静态应用安全测试(SAST)中的性能,旨在解决大规模代码库中安全漏洞检测的问题。

The eyeballvul dataset was developed by Timothée Chauvin, specifically tailored to assess the vulnerability detection capabilities of language models in real-world scenarios. This dataset contains over 24,000 real-world security vulnerabilities, covering more than 6,000 code revisions and over 5,000 open-source repositories, with a total size of approximately 55 GB. The dataset was constructed by downloading CVEs associated with open-source repositories from the OSV dataset, then converting these CVEs into evaluation-ready formats through a series of standardized steps. The eyeballvul dataset is primarily used to evaluate and enhance the performance of language models in Static Application Security Testing (SAST), aiming to address the challenges of security vulnerability detection in large-scale codebases.
提供机构:
未提及
创建时间:
2024-07-12
搜集汇总
数据集介绍
main_image_url
构建方式
eyeballvul数据集的构建过程主要涉及从开源仓库中收集已发布的漏洞信息,并将其转换为适合模型评估的格式。具体步骤包括从OSV数据集中下载与开源仓库相关的CVEs,按仓库分组并提取受影响的版本,然后选择包含每个漏洞的最小版本集。通过git切换到所选版本的修订版,并使用GitHub的linguist计算每个修订版的总大小和语言分布,以便进行后续评估。最后,将模型返回的可能漏洞列表与每个修订版已知的漏洞列表进行比较,以计算诸如精确度和召回率等指标。
特点
eyeballvul数据集具有以下特点:1)真实世界漏洞:从开源仓库的大量CVEs中获取;2)真实检测环境:直接测试漏洞检测可能在实践中部署的方式;3)大型数据集:包含6,000多个修订版和24,000多个漏洞,总大小超过50GB;4)多样性:不受限于少数编程语言;5)前瞻性:每周从发布的CVEs中更新,缓解训练数据污染的担忧。
使用方法
eyeballvul数据集的使用方法包括以下步骤:1)从开源仓库中下载相关CVEs,并按仓库分组;2)提取每个CVE的受影响版本,并选择包含每个漏洞的最小版本集;3)使用git切换到所选版本的修订版;4)使用GitHub的linguist计算每个修订版的总大小和语言分布;5)将模型返回的可能漏洞列表与每个修订版已知的漏洞列表进行比较,以计算精确度和召回率等指标。
背景与挑战
背景概述
在开源代码库中,安全漏洞的检测是一项至关重要的任务。随着大型语言模型(LLMs)能力的提升,其上下文窗口长度的增加使得将整个代码库或其大部分内容装入LLMs的上下文窗口并指示它们查找安全漏洞成为可能。然而,目前尚无数据集或基准来评估LLMs在此任务上的性能。为了填补这一空白,Timothée Chauvin等人引入了eyeballvul数据集,这是一个开源基准,旨在测试LLMs在大规模下的漏洞检测能力。eyeballvul数据集每周从开源仓库中发布的漏洞流中获取和更新,包含了6,000多个修订版本、5,000多个仓库和24,000多个漏洞,总大小约为55GB。该数据集的引入为评估LLMs在漏洞检测任务上的性能提供了一个重要的工具。
当前挑战
eyeballvul数据集面临的主要挑战包括:1) 漏洞检测的挑战:eyeballvul数据集旨在测试LLMs在漏洞检测任务上的能力,但目前LLMs在检测内存损坏漏洞(如越界写/读、使用后释放)方面相对较弱,而这类漏洞通常发生在较大的C/C++项目中,这使得LLMs的检测效果受到影响。2) 构建过程中的挑战:eyeballvul数据集的构建过程中,研究人员面临着将现有数据(开源仓库中发布的CVEs)转换为适当格式的问题。此外,CVE描述往往过于简洁和不够精确,这给LLMs的评分带来了困难。此外,eyeballvul数据集的评分方法是基于LLM的评分器,该评分器需要根据每个修订版本已知的漏洞列表对模型返回的可能漏洞列表进行比较,这也增加了构建过程中的复杂性。
常用场景
经典使用场景
eyeballvul数据集主要用于评估语言模型在检测代码库中安全漏洞的能力。该数据集包含了来自开源代码仓库的大量已知漏洞,以及与之相关的修订版本信息。通过对模型返回的可能漏洞列表与已知漏洞列表进行比较,可以计算模型的精确率、召回率等指标,从而评估其在漏洞检测任务上的性能。
实际应用
eyeballvul数据集可以用于开发静态应用安全测试(SAST)工具,帮助开发人员检测和修复代码中的安全漏洞。此外,该数据集还可以用于训练和评估其他类型的安全检测模型,例如动态分析工具和模糊测试工具。通过使用eyeballvul数据集进行训练和评估,可以显著提高这些工具的检测能力,从而更好地保护软件系统的安全。
衍生相关工作
eyeballvul数据集的发布为安全研究领域带来了新的研究方向。例如,研究人员可以利用该数据集来研究如何提高语言模型在漏洞检测任务上的性能,或者开发新的安全检测工具。此外,eyeballvul数据集还可以用于评估其他类型的安全检测模型,例如动态分析工具和模糊测试工具。通过使用eyeballvul数据集进行训练和评估,可以显著提高这些工具的检测能力,从而更好地保护软件系统的安全。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作