“ 近年来,基于深度学习的代码漏洞检测方法不断涌现,但一个核心问题始终存在:模型往往“看见”漏洞,却并不真正“理解”漏洞。单一模型通常只能捕获某一视角下的代码特征,难以同时兼顾语法结构、语义依赖与上下文逻辑。

为此,研究者提出了M2CVD,一种通过多模型协同(Multi-Model Collaboration)增强漏洞理解能力的检测框架,旨在从多个认知视角对代码进行联合分析,从而提升漏洞检测的准确性与可解释性。”

  • 📄 论文标题:M2CVD: Enhancing Vulnerability Understanding through Multi-Model Collaboration for Code Vulnerability Detection

  • 📅 发表时间:ACM transactions on software engineering and methodology, 2025

  • 🏫 作者单位:北京大学、重庆大学等

  • 💡开源代码:    https://github.com/HotFrom/M2CVD

01—方法介绍

M2CVD的核心思想并非设计一个“更大的模型”,而是让多个能力互补的模型进行协同分析。整体流程可概括为以下三个阶段:

① 多视角特征建模

利用不同模型分别关注代码的语法、语义与上下文信息。

② 协同特征对齐

通过协同特征对齐机制,统一不同模型的认知空间。

③ 联合漏洞判定

融合多模型输出结果,形成更具鲁棒性的漏洞预测。

图片

图 1. M2CVD整体流程  

小结:M2CVD 关注的不是“模型替代”,而是“模型协作”。

02—关键机制

  1. 多模型协同而非单模型堆叠,强调模型之间的互补与对齐。
  2. 特征级协同机制,不仅融合结果,更对齐中间语义表示。
  3. 更贴近“漏洞理解”目标,从模式匹配走向语义认知。

        模块

        设计思路

        作用

        多模型特征提取

        不同模型关注不同代码语义维度

        避免单一视角带来的信息偏差

        协同特征对齐

        对多模型输出进行统一映射与校准

        提升跨模型语义一致性

        联合决策机制

        融合多模型预测结果

        增强漏洞判断稳定性

        漏洞理解增强

        结合多源特征进行综合分析

        提升检测可解释性

        小结:M2CVD 框架的关键,是使多模型从“并列存在”走向“协同理解”。

        03—实验结果

        实验在两个主流漏洞数据集Devign和Reveal上验证了M2CVD 的有效性,主要实验结果如下。


        (1)实验首先将M2CVD与七种基线方法在两个数据集上的表现进行比较,如表1所示。

        表1. 不同模型在Devign和Reveal数据集上的比较结果

        图片


        (2)为了详细阐述M2CVD框架中第二阶段反馈对代码漏洞检测性能的影响,基于Devign数据集及其默认划分方案建立了一个比较实验,结果见表2。

        表2. 第二阶段不同配置下大型语言模型的准确性对比

        图片

        小结:M2CVD的性能表现表明,相较于单一模型,其通过协同机制在不同实验条件下有效实现了代码缺陷检测任务的更高性能。此外,验证了M2CVD的漏洞描述精炼过程能显著提升代码漏洞检测的准确性。

        📌 总结

        M2CVD从“如何理解漏洞”这一根本问题出发,提出以多模型协同的方式构建更全面的代码语义认知体系。该工作表明,未来漏洞检测的提升方向,可能不止是更大的模型,而是更合理的模型协作方式

        📣 欢迎留言讨论

        • 你认为多模型协同是否会成为漏洞检测的主流范式?

        • 在工程实践中,多模型带来的计算成本是否值得?

        📌 点赞 + 收藏 + 分享,你的支持,是我们持续解析高水平软件安全论文的最大动力!

        Logo

        AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

        更多推荐