TriMFVul:一种基于多模态融合和多维表示的代码漏洞检测框架

《Information and Software Technology》:TriMFVul: A multimodal fusion framework with multidimensional representation for code vulnerability detection

【字体: 大 中 小 】 时间:2026年09月02日 来源:Information and Software Technology 4.6

编辑推荐:

  摘要 背景:代码漏洞检测需要整合分布在词汇语义、结构依赖性和功能意图中的异构线索。现有的基于深度学习的方法仍然主要依赖于从源代码中提取的序列化和结构化特征,并且通常采用相对简单的融合策略,这可能会限制跨模态互补性的利用。 目标:本研究旨在通过联合建模互补的代码模态并在多模态融合过

  摘要
背景:代码漏洞检测需要整合分布在词汇语义、结构依赖性和功能意图中的异构线索。现有的基于深度学习的方法仍然主要依赖于从源代码中提取的序列化和结构化特征,并且通常采用相对简单的融合策略,这可能会限制跨模态互补性的利用。
目标:本研究旨在通过联合建模互补的代码模态并在多模态融合过程中保留结构化的跨模态交互来改进代码漏洞检测。
方法:我们提出了TriMFVul,一个用于代码漏洞检测的多模态融合框架,具有多维表示能力。TriMFVul整合了三种互补的模态,即代码序列、程序依赖图(PDGs)和自然语言功能描述。该框架采用任务感知的动态融合机制(TDFM)以任务为中心的方式来细化共享和私有的图表示,并使用多维特征表示和融合(MDF)模块将模态选择性的、全局的以及交互感知的证据组织成二维特征矩阵,以用于后续的分类。
结果:在Devign、Reveal和TrVD三个基准数据集上的实验表明,TriMFVul取得了有竞争力的整体性能。特别是在Devign和Reveal上,它获得了更好的F1分数结果,在TrVD上表现相当。消融研究进一步表明,多模态设计、基于TDFM的结构细化和提出的多维融合方案各自对最终性能有所贡献。在四个种子数据集上,TriMFVul在Devign、Reveal和TrVD上的F1分数分别为60.28% ± 0.76%、49.84% ± 0.60%和89.47% ± 0.09%,分别比最竞争性的结果提高了3.12个和3.08个百分点。在补充的PrimeVul代码-图设置中,TriMFVul获得了96.18% ± 0.27%的准确率和23.87% ± 0.57%的F1分数。
结论:结果表明,在评估的基准设置下,结合多模态代码表示、任务感知的图细化和结构化融合是一种有效的提高漏洞检测的方法。

引言
随着软件系统规模和复杂性的不断增加,软件安全已成为行业和学术界的基本关注点,推动了软件质量保证方面的持续投资。在快速数字化和智能软件工程的背景下,软件漏洞的日益普遍对系统可靠性和数据安全构成了持续的威胁。因此,代码漏洞检测已成为安全软件开发的关键组成部分。根据共同漏洞和暴露(CVE)计划,截至2026年2月,已有超过315,000条漏洞记录被编入目录。同时,诸如IBM的年度数据泄露分析等行业报告继续强调安全事件日益增长的操作和财务影响。这些趋势突显了开发有效和强大的代码漏洞检测技术的重要性。
传统的漏洞检测方法主要基于静态分析、手工制定的规则和专家知识。尽管这些方法提供了一定程度的可解释性,但它们通常在面对复杂的语义上下文、长距离依赖性和新兴的漏洞模式时存在规则覆盖范围有限、高误报率和可转移性弱的问题。受到深度学习在软件工程任务中成功的启发,最近的研究越来越多地采用数据驱动的方法进行代码漏洞检测。这些方法使用卷积神经网络(CNNs)、图神经网络(GNNs)和预训练的语言模型(PLMs)从令牌序列、抽象语法树(ASTs)、程序依赖图(PDGs)和其他程序视图学习与漏洞相关的表示。最近的综述进一步表明,这一研究方向正逐渐从单视图建模向混合和多模态架构发展。尽管取得了这些进展,但代码漏洞检测中的一个根本性挑战仍未得到充分解决:与漏洞相关的证据通常分散在异构的语义层次上,而不是集中在单一的表示空间中。实际上,代码令牌中的词汇语义可能暴露可疑操作,结构依赖性可能揭示长距离的控制/数据交互,高层次的功能意图可能为程序是否按预期行为提供额外的上下文。然而,现有方法通常只模拟了这部分信息。基于序列的方法在捕捉局部语义模式方面有效,但它们常常难以推理非局部依赖性和结构交互。基于图的方法改进了结构建模,最近的研究进一步探索了用于漏洞检测的异构关系学习,但它们仍然主要关注代码内部关系,可能无法捕捉有助于识别微妙、依赖于上下文的漏洞的辅助语义线索。同时,最近的证据表明,代码语言模型在漏洞检测中的报告效果会受到数据集质量和评估协议的重大影响,这表明仅加强预训练并不能完全解决潜在的表示挑战。因此,漏洞模式通常只能部分被描述,这限制了检测效果。
为了缓解这一限制,最近的研究开始通过结合代码的多个视图来探索多模态学习进行漏洞检测。例如,Ni等人展示了整合文本、基于图的和图像风格的表示可以提高功能级别的漏洞检测。这一研究方向很有前景,但其当前形式在两个重要方面仍然不足。首先,大多数现有方法仍然专注于从源代码中提取的模态,而未充分利用诸如功能描述这样的辅助语义视图。这类信息不应取代以代码为中心的建模,但它可以为解释开发者的意图和程序行为提供补充的高级线索。其次,更重要的是,现有的多模态方法通常依赖于静态和粗粒度的融合策略,如直接连接或固定权重聚合,将异构特征合并为一维向量。这种设计忽略了模态的异质性,掩盖了模态贡献的差异,并且未能明确建模跨模态交互和对齐。因此,即使引入了多种模态,它们的互补性也没有得到充分利用。
为了解决这些限制,我们提出了TriMFVul,一个用于代码漏洞检测的多模态融合框架,具有多维表示能力。TriMFVul的设计旨在解决多模态漏洞检测中的两个核心问题:如何自适应地协调异构模态的贡献以及如何在融合后保留结构关系。为了解决第一个问题,我们引入了一个任务感知的动态融合机制(TDFM),根据任务相关信号自适应地重新调整共享和特定于模态的结构特征,从而为后续的多模态融合产生更具区分性的图表示。为了解决第二个问题,我们设计了一种多维表示策略,将融合的多模态特征组织成二维特征矩阵,从而能够明确地建模跨模态交互和跨粒度结构模式,而不是将它们简化为一维向量。在这个框架内,TriMFVul联合整合了三种互补的漏洞相关信息来源:序列化代码语义、由程序依赖图(PDGs)编码的结构依赖性以及作为辅助语义视图的功能描述。具体来说,使用CodeT5对代码序列进行编码,使用GNNs对基于PDG的结构信息进行建模,使用RoBERTa对功能描述进行编码。通过将自适应融合与多维表示学习相结合,TriMFVul提供了一种更有效的方式来协调和结构化地利用异构但互补的漏洞信号。
总之,本文做出了以下贡献:
- 我们提出了TriMFVul,一个用于代码漏洞检测的多模态融合框架,具有多维表示能力,它将代码序列、基于PDG的结构信息和功能描述集成到一个统一的检测 pipeline 中。
- 我们提出了一个任务感知的动态融合机制(TDFM),以自适应地重新调整共享和私有的结构特征,从而为后续的多模态融合产生更具区分性的图表示。
- 我们设计了一种多维融合策略,将多模态表示组织成二维特征矩阵,从而能够明确地建模跨模态交互和跨粒度结构模式,用于后续的分类。
- 我们在三个公共基准数据集上进行了广泛的实验,表明TriMFVul相对于21个代表性基线取得了有竞争力的性能。进一步分析表明所提出的多模态集成和融合设计的有效性。我们还增加了多种子代码-图PrimeVul实验,以检验在新颖的CVE衍生基准测试中的鲁棒性。
本文的其余部分组织如下。第2节回顾了基于深度学习的漏洞检测的相关工作。第3节介绍了TriMFVul的设计细节。第4节描述了实验设置。第5节报告和分析了实验结果。第6节提供了讨论、局限性和未来方向。最后,第7节总结了本文。

相关工作
为了更好地将文献综述与本文的动机对齐,我们将相关工作分为三类:(1)依赖于单视图代码表示的传统基于深度学习的漏洞检测方法;(2)利用互补信息和语义知识的多模态和LLM增强方法;(3)融合学习和结构化表示方法。

方法
为了解决现有漏洞检测方法在源代码表示和低维多模态表示方面的局限性,我们提出了TriMFVul,一个用于代码漏洞检测的多模态、多维框架。如图1所示,TriMFVul由三个主要阶段组成:多模态特征编码、任务感知的动态融合和多维表示学习及分类。具体来说,TriMFVul联合模拟了三种互补的信息来源。

研究问题
为了系统地评估TriMFVul在代码漏洞检测中的有效性,本文从整体性能、模态贡献、融合策略和表示学习的角度设计了五个研究问题:
- RQ1:TriMFVul在公共基准数据集上的表现与现有的代表性漏洞检测方法相比如何?
- RQ2:代码序列特征、图结构特征和代码功能描述各自的影响是什么?

为了回答RQ1,我们在Devign、Reveal和TrVD三个公共基准数据集上评估了TriMFVul,并报告了四个种子的平均结果。我们将其与21个代表性基线进行了比较,同时根据第4.3节中阐明的比较范围解释了混合复现和文献报告的结果。实验结果见表4。
总体而言,TriMFVul在三个基准数据集上取得了有竞争力的整体性能。它在Devign和Reveal上获得了有利的F1分数结果,在TrVD上的表现相当。

讨论
TriMFVul在多个基准测试上取得了令人鼓舞的结果,但其有效性仍然取决于模态质量和数据集的可靠性。代码序列特征提供了最稳定的信号,而基于PDG的结构和功能描述提供了补充线索。Devign可能受到标签噪声的影响,TrVD包含的合成样本的分布可能与真实工业代码不同。因此,我们主要将它们视为公共可比性基准,并使用PrimeVul进行测试。

结论
本文提出了TriMFVul,一个具有结构化二维融合表示的多模态框架,用于代码漏洞检测。通过联合建模代码序列、基于PDG的结构依赖性和功能描述,TriMFVul整合了来自语义、结构和功能方面的互补信息。在这个框架内,TDFM在最终的多模态融合之前提供了任务感知的结构细化,而MDF组织了融合后的特征。

作者贡献声明
郝华祥:撰写——原始草稿、可视化、软件、方法论、调查、形式分析。
张淑丽:撰写——审阅与编辑、验证、监督、概念化。
赵天成:撰写——审阅与编辑、验证、调查、形式分析、数据管理。
徐光龙:撰写——审阅与编辑、资源、项目管理、调查。
王晓宇:撰写——审阅与编辑、验证、资源、数据管理。
马超:撰写——审阅与编辑。

在准备这项工作期间,作者使用ChatGPT协助翻译和语言润色。最初的草稿和所有实质性科学内容均由作者撰写。没有使用任何生成式AI或AI辅助工具来创建或修改图表或其他艺术品。在使用该工具后,作者仔细审查并编辑了内容,并对发表文章的内容负全责。

资助
这项工作得到了中国黑龙江省自然科学基金(项目编号ZL2025F005)的支持。

利益冲突声明
作者声明他们没有已知的竞争性财务利益或个人关系,这些关系可能会影响本文报告的工作。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

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

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号