修复漏洞无需隐形之手:大语言模型的差异化复制研究
背景:自动化漏洞修复是程序修复领域中快速发展的分支。近期研究表明,大语言模型在漏洞修复方面优于传统技术,将其成功从代码生成和故障检测进一步扩展。
假设:这些成果可能受到隐藏因素(即“隐形之手”)的驱动,例如训练数据泄露或完美故障定位,使得大语言模型能够复现人类针对相同代码编写的修复方案。
目标:我们在受控条件下复制先前的自动化漏洞修复研究,通过在提示中故意添加漏洞位置的错误。如果大语言模型仅仅是 regurgitate 记忆的修复方案,那么无论定位误差大小,都应产生相同数量的正确补丁,因为任何偏移都应使模型偏离原始修复方案。
方法:我们的流程在将故障位置从真实位置偏移 n 行后,修复来自 Vul4J 和 VJTrans 基准测试的漏洞。首个大语言模型生成补丁,第二个大语言模型进行审查,我们通过回归测试和漏洞证明测试验证结果。最后,我们手动审计补丁样本,并使用 Agresti-Coull-Wilson 方法估计错误率。
主题:软件工程;密码学与安全;机器学习