利用大型语言模型进行源代码漏洞检测
通过评估OpenAI的GPT-4等大型语言模型与传统的静态代码分析器(如Snyk和Fortify)在检测软件漏洞方面的能力,我们发现GPT-4能够识别出大约四倍于其他模型的漏洞,并提供可行的修复方案,同时显示出较低的误报率。未来研究应当探索系统级漏洞,并整合多个静态代码分析器,以获得对大型语言模型潜力的全面视角。
Aug, 2023
大型语言模型(LLMs)在代码生成方面取得了显著进展,但它们的训练使用了来自开源代码库(如GitHub)的未经筛选的数据,存在意外传播安全漏洞的风险。为了有效地减轻这一问题,本文从软件安全的角度对代码LLMs进行了全面研究,并提出了SecuCoGen数据集,用于评估和增强代码LLMs的安全性能。研究结果发现,现有模型在代码生成中经常忽视安全问题,提出了有效的方法来解决安全漏洞,并提高代码的整体稳健性。此外,研究还发现现有模型在修复漏洞代码方面存在问题,并且某些漏洞类型对模型构成挑战。基于这些发现,我们相信本研究将对软件工程社区产生积极影响,激发改进LLMs训练和使用方法的开发,从而实现更安全、更可信的模型部署。
Oct, 2023
研究致力于自动修复代码漏洞的复杂挑战,引入了一种新的代码修改表示格式,使用了先进的大型语言模型(如Code Llama和Mistral)。这些模型在C代码漏洞数据集上进行了微调,显着提高了自动代码修复技术的准确性和适应性。研究还对当前的评估指标(如完美预测)进行了关键评估,并强调了在真实场景中反映自动修复模型真正能力的局限性。研究强调了在代码修复任务中提高LLMs效果的数据集完整性和训练样本缺失测试数据集的重要性。此工作对数字安全的贡献不仅体现在提高代码安全方面的潜力上,而且推动了这些关键领域的进一步探索与研究。
Jan, 2024
我们提出了一个名为LLM4Vuln的统一评估框架,通过将LLMs的漏洞推理能力与其他能力进行分离,并评估结合其他能力的方式来增强LLMs的漏洞推理能力。在使用75个经过广泛审计的智能合约漏洞进行控制实验的基础上,我们测试了三个代表性的LLMs(GPT-4,Mixtral和Code Llama)在4950种不同场景下的表现。我们的结果不仅揭示了关于知识增强、上下文补充、提示方案和模型的变化效果的十个发现,还使我们能够在两个试点的漏洞赏金计划中发现9个零日漏洞,并颁发了超过1,000美元的奖励。
Jan, 2024
通过研究使用大型语言模型(LLMs)在代码审查中的作用,其中包括检测安全漏洞和验证软件功能的有效性,本文发现大型专有模型在这些任务上的性能显著优于小型开源模型,并证明了LLMs能够生成与真实漏洞相关的详细描述。
Mar, 2024
通过使用大型语言模型(LLMs)来辅助发现源代码中的漏洞,相比传统的静态分析工具,我们发现LLMs能够找出更多问题,提高漏洞检测的回溯率和F1分数,从而使得代码更加安全。
May, 2024
通过创建一个新的基准测试集 VulDetectBench,我们评估了各类大型语言模型在漏洞检测任务中的性能,结果显示现有模型在识别和分类与漏洞相关的任务上可以达到80%以上的准确率,但在更复杂的漏洞分析任务上只能达到不到30%的准确率,难以为专业漏洞挖掘提供有价值的辅助信息。这个基准测试集为未来代码安全领域的研究和改进提供了基础。
Jun, 2024
本研究针对大型语言模型在软件漏洞检测(SVD)和修补(SVP)中的局限性,提出了VulnLLMEval框架。通过建立涵盖307种真实漏洞的C代码数据集,研究表明,大型语言模型在识别和修补漏洞时,往往难以区分出易受攻击与已修补的代码,且生成的修补方案可能需进一步修改才能使用。
Sep, 2024