【论文速读】|用于安全代码评估的大语言模子:一项多语言实证研究 ...

打印 上一主题 下一主题

主题 943|帖子 943|积分 2829


基本信息

原文标题:Large Language Models for Secure Code Assessment: A Multi-Language Empirical Study
原文作者:Kohei Dozono, Tiago Espinha Gasiba, Andrea Stocco
作者单元:Technical University of Munich, Siemens AG, fortiss GmbH
关键词:大语言模子(LLMs),安全代码评估,漏洞检测,多语言实证研究
原文链接:https://arxiv.org/pdf/2408.06428v1
开源代码:暂无
论文要点

论文简介:
本文研究了大语言模子(LLMs)在多种编程语言中检测和分类软件漏洞的有效性。重点评估了GPT-3.5 Turbo、GPT-4 Turbo、GPT-4o、CodeLlama-7B、CodeLlama-13B和Gemini 1.5 Pro六种预训练LLMs在Python、C、C++、Java和JavaScript五种语言中的表现。
结果表现,GPT-4o在漏洞检测和CWE(Common Weakness Enumeration)分类中表现最佳,尤其在少样本学习下结果尤为显著。为进一步验证LLMs的现实应用价值,作者开发了名为CODEGUARDIAN的VSCode扩展,答应开发职员在代码编辑时实时扫描漏洞。实验表明,使用CODEGUARDIAN显著提高了检测准确性和服从。
研究目标:
本研究旨在评估LLMs在检测和分类多种编程语言漏洞中的有效性,补充现有研究中主要集中于C/C++代码的范围。通过实验,作者探讨了LLMs在差别语言和情境下的表现,并通过开发CODEGUARDIAN工具,验证其在工业应用中的潜力,以提升开发职员的安全意识和漏洞检测能力。
研究贡献:
1. 数据集贡献:构建了涵盖五种编程语言的多语言漏洞数据集,包含370多个手动验证的漏洞,支持主动化安全检测和分类技能的评估。
2. 评估贡献:进行了实证研究,评估了六种预训练LLMs在五种编程语言中的漏洞检测和分类能力。
3. 工具贡献:开发了名为CODEGUARDIAN的VSCode扩展,支持开发职员在代码编辑过程中实时使用LLMs进行漏洞扫描。
4. 用户研究:对22名工业开发职员进行了用户研究,分析了他们对CODEGUARDIAN的使用体验和反馈。
引言

软件漏洞答应攻击者控制体系、窃取数据或植入恶意软件。差别漏洞的性子和危害程度各异,但所有漏洞都对应用步伐和其运行情况构成风险。多数研究集中在C/C++代码的漏洞检测,其他语言的漏洞检测尚未得到充分探讨。为填补这一空缺,本文评估了六种预训练大语言模子在五种编程语言中检测和分类常见弱点(CWE)的能力,并探讨其在工业中的应用潜力。
相干工作

传统的漏洞分析主要依赖静态(SAST)和动态(DAST)应用步伐安全测试。SAST检查源代码但不执行,侧重于语法和语义检查;DAST则在运行时评估应用,模仿攻击者行为。然而,SAST通常误报率高,而DAST容易漏报。深度学习技能近年来在漏洞检测中取得了进展,但其将代码视为线性序列,大概忽略复杂语义关系。相比之下,LLMs无需显式训练,在漏洞检测中表现突出。本文探讨了LLMs在多语言情况下的应用,并特别关注数据集的质量和语言多样性。
实证研究

本研究计划了一系列实证研究,探讨了六种LLMs在多种编程语言中检测和分类漏洞的有效性。研究首先计划了代表性的数据集,涵盖五种常见编程语言中的25个最危险的CWE种别。数据集包括来自CVEFixes、CWE-snippets和JavaScript Vulnerability DataSet(JVD)三个参考数据集的漏洞代码片断。为每种语言保留了相称数量的漏洞和非漏洞片断,确保了数据集的平衡性。
实验中的研究题目包括:
1. LLMs在差别语言中检测CWE的结果怎样?


2. LLMs在分类CWE方面的准确性怎样?差别语言之间的结果差别怎样?


实验结果表明,在少样本学习设置下,LLMs的表现显著优于零样本设置 。
实现结果

实验结果表现,GPT-4o在漏洞检测和CWE分类任务中表现最佳,特别是在少样本学习设置下,其召回率和F1评分表现卓越。GPT-4 Turbo在Python和JavaScript语言中表现突出,而Gemini 1.5 Pro在Python的CWE分类中表现精良。CodeLlama模子在某些任务中的表现较弱,但在资源受限的情况中仍有潜力。总体而言,模子在差别语言中的表现差别显著,选择合适的模子需联合具体语言和任务需求。


用户研究

为评估CODEGUARDIAN的应用结果,研究进行了用户实验,涉及22名工业软件工程师。实验结果表现,使用CODEGUARDIAN的实验组在任务准确性上提高了203%,完成时间收缩了66%,显著提升了开发职员的漏洞检测服从,纵然他们缺乏网络安全知识。
研究讨论

研究发现,差别LLMs在漏洞检测和CWE分类任务中的表现差别明显。GPT-4系列在大多数语言中表现精良,尤其在召回率和F1评分上具有优势,但GPT-4o的高召回率陪同着精度损失,大概导致误报增加。因此,选择模子时需根据具体安全需求进行权衡。此外,少样本学习设置显著提升了模子的分类能力,特别是在复杂的CWE分类任务中。总体来看,本研究夸大了在多语言情况下选择合适LLM模子对代码安全性的提升至关重要。
论文结论

本文全面研究了最新的大语言模子在跨多语言情况中的漏洞检测和分类能力。实验表明,GPT-4 Turbo和GPT-4o在多个任务中表现精良,尤其在少样本学习设置下。此外,开发的CODEGUARDIAN工具显著提高了开发职员的漏洞检测服从。未来研究应扩展数据集范围,探索更先进的提示工程方法,并改进CODEGUARDIAN的用户界面,提升其在安全软件开发中的应用结果。
原作者:论文解读智能体
校对:小椰风



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

涛声依旧在

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表