Generalization-Enhanced Code Vulnerability Detection via Multi-Task Instruction Fine-Tuning

2024年06月06日
  • 简介
    基于代码预训练模型(CodePTMs)的漏洞检测在近年来取得了令人瞩目的成果。然而,这些模型往往只学习从源代码到标签的表面映射,而不是理解代码漏洞的根本原因,导致在超出训练实例的真实场景中表现不佳。为了解决这个挑战,我们引入了VulLLM,这是一个新颖的框架,将多任务学习与大型语言模型(LLMs)相结合,以有效地挖掘深层漏洞特征。具体来说,我们在漏洞检测任务之外构建了两个辅助任务。首先,我们利用漏洞补丁构建漏洞定位任务。其次,基于从补丁中提取的漏洞特征,我们利用GPT-4构建漏洞解释任务。VulLLM通过利用生成式LLMs来增强漏洞分类,从而理解复杂的漏洞模式,迫使模型捕捉漏洞的根本原因,而不是过度拟合单个任务的虚假特征。在六个大型数据集上进行的实验表明,VulLLM在有效性、泛化性和鲁棒性方面超过了七种最先进的模型。
  • 图表
  • 解决问题
    本论文旨在解决现有的代码漏洞检测模型在实际应用中泛化能力不足的问题,提出了一种新的框架VulLLM来挖掘深层次的代码漏洞特征。
  • 关键思路
    VulLLM框架将多任务学习与大型语言模型相结合,通过构建漏洞定位和漏洞解释两个辅助任务,引入生成式大型语言模型来理解复杂的漏洞模式,从而使模型能够捕捉漏洞的根本原因,提高泛化能力。
  • 其它亮点
    论文在六个大型数据集上进行了实验,结果表明VulLLM在有效性、泛化能力和鲁棒性方面均超过了七个最先进的模型。此外,论文还开源了代码和数据集,为后续研究提供了便利。
  • 相关研究
    在代码漏洞检测方面,近年来涌现出许多基于深度学习的模型,如CodeBERT、DeepTect、Jiagu等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论