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