LLM2D
基于大型语言模型的安全代码审查:能力、障碍和影响因素
An Insight into Security Code Review with LLMs: Capabilities, Obstacles and Influential Factors
作者: Jiaxin Yu, Peng Liang, Yujia Fu, Amjed Tahir, Mojtaba Shahin, Chong Wang, Yangxiao Cai
发布日期: 10/8/2024
arXiv ID: oai:arXiv.org:2401.16310v3

摘要

安全代码审查是一个耗时费力的过程,通常需要与自动安全缺陷检测工具集成。然而,现有的安全分析工具面临着泛化能力差、误报率高和检测粒度粗糙等问题。大型语言模型 (LLMs) 被认为是解决这些挑战的有力候选者。在本研究中,我们进行了一项实证研究,以探索 LLMs 在代码审查中检测安全缺陷的潜力。具体而言,我们评估了六种 LLMs 在五种不同提示下的性能,并将它们与最先进的静态分析工具进行了比较。我们还对性能最佳的 LLM 进行了语言学和回归分析,以识别其响应中的质量问题以及影响其性能的因素。我们的研究结果表明:(1)现有的预训练 LLMs 在安全代码审查方面能力有限,但显著优于最先进的静态分析工具。(2)GPT-4 在提供 CWE 列表作为参考时,在所有 LLMs 中表现最佳。(3)GPT-4 经常生成冗长或不符合提示中给出的任务要求的响应。(4)GPT-4 更擅长识别代码文件中的安全缺陷,这些代码文件包含较少的标记、包含功能逻辑或由参与项目较少的开发人员编写。