文章主要内容总结
本文针对大型语言模型(LLMs)在多语言软件漏洞修复中的表现开展了大规模实证研究,核心内容如下:
- 研究背景:现有基于深度学习的漏洞修复方法多局限于C/C++语言,而LLMs具备语言无关性和强语义理解能力,有望突破这一限制,但目前其在多语言漏洞修复中的有效性尚未被充分探索。
- 研究设计:基于多语言漏洞数据集REEF(涵盖7种编程语言:C、C#、C++、Go、JavaScript、Java、Python,含4466个CVE和30987个补丁),设计了四个研究问题,评估现有自动漏洞修复(AVR)技术、预训练语言模型(PLMs)和LLMs的表现。
- 核心发现:
- 在现有AVR和PLM技术中,VulMaster表现最佳,精确匹配(EM)分数为28.94%。
- 经指令微调并结合少样本提示的GPT-4o表现最优(EM分数28.71%),与VulMaster竞争力相当。
- 所有模型在Go语言上修复效果最佳,在C/C++上最差。
- LLM在修复独特漏洞和最危险漏洞(基于2023年CWE Top 25)方面更具优势,且对未见过的TypeScript漏洞泛化能力更强。
- LLM修复失败的主要原因是错误定位。
文章创新点
- 首次系统性研究:首个针对多语言漏洞修复场景,系统评估现有AVR技术、P