无需隐形之手修复漏洞:大语言模型在漏洞修复中的差异化复制研究

本研究通过控制实验条件,探究大语言模型在自动化漏洞修复中的真实能力。通过故意偏移漏洞位置,验证模型是否仅依赖记忆而非实际理解生成补丁,结合双重LLM流程与严格测试,揭示隐藏因素对修复效果的影响。

修复漏洞无需隐形之手:大语言模型的差异化复制研究

背景:自动化漏洞修复是程序修复领域中快速发展的分支。近期研究表明,大语言模型在漏洞修复方面优于传统技术,将其成功从代码生成和故障检测进一步扩展。

假设:这些成果可能受到隐藏因素(即“隐形之手”)的驱动,例如训练数据泄露或完美故障定位,使得大语言模型能够复现人类针对相同代码编写的修复方案。

目标:我们在受控条件下复制先前的自动化漏洞修复研究,通过在提示中故意添加漏洞位置的错误。如果大语言模型仅仅是 regurgitate 记忆的修复方案,那么无论定位误差大小,都应产生相同数量的正确补丁,因为任何偏移都应使模型偏离原始修复方案。

方法:我们的流程在将故障位置从真实位置偏移 n 行后,修复来自 Vul4J 和 VJTrans 基准测试的漏洞。首个大语言模型生成补丁,第二个大语言模型进行审查,我们通过回归测试和漏洞证明测试验证结果。最后,我们手动审计补丁样本,并使用 Agresti-Coull-Wilson 方法估计错误率。

主题:软件工程;密码学与安全;机器学习

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计