摘要
大型语言模型 (LLM) 在检测和修复脆弱代码方面面临着重大挑战,尤其是在处理涉及多个方面的漏洞时,例如变量、代码流和代码结构。在本研究中,我们使用 GitHub Copilot 作为 LLM,重点关注缓冲区溢出漏洞。我们的实验表明,Copilot 在处理缓冲区溢出漏洞时存在显著差距,漏洞检测率为 76%,但漏洞修复率仅为 15%。为了解决这个问题,我们提出了上下文感知的提示调整技术,旨在增强 LLM 在修复缓冲区溢出方面的性能。通过注入一系列关于漏洞的领域知识,包括各种安全和代码上下文,我们证明了 Copilot 的成功修复率提高到 63%,比没有领域知识的修复提高了四倍以上。