M2CVD:通过多模型协作提升代码漏洞检测中对漏洞本质的理解

《ACM Transactions on Software Engineering and Methodology》:M2CVD: Enhancing Vulnerability Understanding through Multi-Model Collaboration for Code Vulnerability Detection

【字体: 时间:2025年11月08日 来源:ACM Transactions on Software Engineering and Methodology

编辑推荐:

  多模型协作漏洞检测方法通过结合LLMs的语义理解和预训练模型的可调性,分三阶段优化漏洞检测:初始检测使用预训练模型(如CodeBERT)和LLMs(如ChatGPT)分别识别漏洞,生成基础描述;通过反馈检测结果,LLMs迭代优化漏洞描述以提升语义对齐;最终构建合成数据集,优化检测模型并提高整体准确性。实验表明该方法在真实数据集上显著优于基线,且可扩展至其他模型组合。

  

摘要

大型语言模型(LLMs)在代码理解方面具有很强的能力,但微调成本和语义对齐问题限制了它们针对特定项目的优化效果;相反,像CodeBERT这样的微调模型易于进行微调,但从复杂的代码语言中学习漏洞语义通常较为困难。为了解决这些挑战,本文提出了多模型协作漏洞检测方法(M2CVD),该方法利用LLMs在分析漏洞语义方面的强大能力来提高微调模型的检测精度。M2CVD采用了一种新颖的协作流程:首先通过微调模型对项目代码的理解来提升LLMs生成的漏洞描述的质量,然后利用这些改进后的漏洞描述来提高微调模型的检测精度。M2CVD主要包括三个阶段:1)初始漏洞检测:初始漏洞检测通过分别对检测模型(例如CodeBERT)和LLM(例如ChatGPT)进行微调来实现。当LLM检测到代码存在漏洞时,它会生成相应的漏洞描述。2)漏洞描述优化:通过向LLM提供检测模型的漏洞评估结果,我们通过与LLM的交互来优化漏洞描述。这种优化可以增强LLM对特定项目中漏洞的理解,有效缩小之前提到的语义对齐差距;3)集成漏洞检测:M2CVD将代码片段与优化后的漏洞描述结合起来形成合成数据,然后使用这些合成数据对验证模型进行微调,以提升模型的缺陷特征学习效率并提高检测精度。我们在两个真实世界的数据集上验证了M2CVD的有效性,结果表明M2CVD的表现显著优于基线方法。此外,我们还证明了M2CVD协作方法可以扩展到其他不同的LLMs和微调模型上,从而提高它们在漏洞检测任务中的准确性。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普
  • 急聘职位
  • 高薪职位

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号