RealVul:我们能否通过大型语言模型检测Web应用程序中的漏洞?
我们提出了一个名为LLM4Vuln的统一评估框架,通过将LLMs的漏洞推理能力与其他能力进行分离,并评估结合其他能力的方式来增强LLMs的漏洞推理能力。在使用75个经过广泛审计的智能合约漏洞进行控制实验的基础上,我们测试了三个代表性的LLMs(GPT-4,Mixtral和Code Llama)在4950种不同场景下的表现。我们的结果不仅揭示了关于知识增强、上下文补充、提示方案和模型的变化效果的十个发现,还使我们能够在两个试点的漏洞赏金计划中发现9个零日漏洞,并颁发了超过1,000美元的奖励。
Jan, 2024
本研究探讨了ChatGPT和Bard这两个大型语言模型在发现和修复JavaScript程序中的安全漏洞方面的准确性,以及提示语境对定位LLMs生成正确补丁的影响。实验结果显示,虽然LLMs在自动修复JavaScript代码方面具有潜力,但要实现正确的缺陷修复往往需要适当的提示语境。
Mar, 2024
在代码语言模型(Code LMs)和漏洞检测不断增长的兴趣下,我们研究了代码语言模型在漏洞检测方面的有效性。研究发现现有漏洞数据集存在重要不足,包括数据质量不高、标签准确性低和重复率高,导致模型在现实漏洞检测场景中的性能不可靠。为解决这些挑战,我们引入了PrimeVul数据集,用于训练和评估代码语言模型在漏洞检测方面的性能。通过对PrimeVul上的代码语言模型进行评估,发现现有基准明显高估了这些模型的性能。这些发现强调了当前能力和在安全角色中部署代码语言模型的实际需求之间存在的巨大差距,突出了在这一领域需要更多创新的研究。
Mar, 2024
通过使用大型语言模型(LLMs)来辅助发现源代码中的漏洞,相比传统的静态分析工具,我们发现LLMs能够找出更多问题,提高漏洞检测的回溯率和F1分数,从而使得代码更加安全。
May, 2024
通过创建一个新的基准测试集 VulDetectBench,我们评估了各类大型语言模型在漏洞检测任务中的性能,结果显示现有模型在识别和分类与漏洞相关的任务上可以达到80%以上的准确率,但在更复杂的漏洞分析任务上只能达到不到30%的准确率,难以为专业漏洞挖掘提供有价值的辅助信息。这个基准测试集为未来代码安全领域的研究和改进提供了基础。
Jun, 2024
利用LLMs对代码库中的安全漏洞进行检测,介绍了一个基于人工评估的大规模漏洞检测基准,该基准每周从开源代码库中发布的漏洞中进行源和更新,如今包含超过24,000个漏洞、6,000个修订版本和5,000个代码库,并达到55GB大小。
Jul, 2024
本研究针对软件源代码中的漏洞检测问题,提出了一种创新的方法,通过将源代码转换为LLVM中间表示来训练大型语言模型,从而实现跨编程语言的漏洞识别。实验结果表明,该方法在真实和合成代码上具有高准确度,显著提升了漏洞检测的效能。
Aug, 2024
本研究针对大型语言模型在软件漏洞检测(SVD)和修补(SVP)中的局限性,提出了VulnLLMEval框架。通过建立涵盖307种真实漏洞的C代码数据集,研究表明,大型语言模型在识别和修补漏洞时,往往难以区分出易受攻击与已修补的代码,且生成的修补方案可能需进一步修改才能使用。
Sep, 2024