探索未来:eyeballvul基准测试引领LLM在漏洞检测领域的新篇章
摘要
本文介绍了一种名为eyeballvul的基准测试,用于评估大型语言模型(LLM)在实际代码库中检测安全漏洞的能力。该基准测试从开源仓库中每周更新已发布的漏洞数据,包含超过24,000个漏洞和6,000多个修订版本。eyeballvul的特点包括真实世界的漏洞数据、实际检测场景、大规模数据集、多语言支持以及未来可更新性。论文还详细描述了基准测试的创建过程、工作原理、应用前景以及初步测试结果,展示了当前LLM在漏洞检测方面的性能和潜在改进方向。
原理
eyeballvul基准测试的工作原理基于将现有的开源仓库中的CVE数据重新打包成适合LLM处理的格式。具体步骤包括下载与开源仓库相关的CVE数据,按仓库分组,选择包含至少一个漏洞的最小版本集合,切换到相应的版本,并计算每个修订版本的仓库大小和语言分布。LLM通过比较模型返回的可能漏洞列表与每个修订版本的已知漏洞列表,计算真阳性、假阳性和假阴性,从而评估模型的精确度和召回率。
流程
eyeballvul的工作流程从下载CVE数据开始,经过分组、版本选择、版本切换和仓库大小计算等步骤,最终通过LLM模型进行漏洞检测和评分。具体示例包括模型如何处理代码库中的文件,排除特定类型的文件,以及如何通过API查询和调整数据块大小以适应模型的上下文窗口。模型返回的漏洞信息包括标题、分析、相关CWE、受影响的函数名和文件名,以及漏洞的分类。
应用
eyeballvul基准测试的应用前景广泛,特别是在提高开源软件的安全性方面。通过评估和改进LLM在漏洞检测方面的性能,可以加速安全漏洞的发现和修复过程,减少潜在的安全风险。此外,随着模型的不断进步和成本的降低,未来可能实现对每个新发布的安全关键开源仓库版本的自动检测,进一步提升防御者的优势。
