“ 在真实工业场景中,漏洞检测远不只是“跑模型”这么简单。噪声数据、标签不一致、代码规模巨大以及漏洞模式多样,使得许多在基准数据集上表现良好的方法,难以直接迁移到真实工程环境中。
针对这一问题,本文提出了一套面向真实世界代码的漏洞检测整体框架,系统性地覆盖了从数据预处理到多特征融合建模的完整流程,为工业级漏洞检测提供了一种更具可落地性的解决方案。”
-
📄 论文标题:Real-World Code Vulnerability Detection Framework: From Data Preprocessing to Multi-Feature Fusion Detection
-
📅 发表时间: IEEE Transactions on Dependable and Secure Computing, 2025
-
🏫 作者单位:同济大学、北京宝兰德软件股份有限公司
-
💡开源代码: https://github.com/zjx-forever/MARCOVul
01—方法介绍
该框架的核心思想是:漏洞检测性能的上限,不仅由模型决定,更由数据质量与特征表达能力共同决定。整体流程可分为三大阶段:
① 数据预处理与清洗
针对真实漏洞数据中存在的重复、噪声与标签不一致问题进行系统化处理;
② 多粒度特征提取
从代码文本、语法结构与语义信息中提取互补特征;
③ 多特征融合检测
将不同来源的特征进行统一建模,实现更鲁棒的漏洞识别。

图 1. MARCOVul整体框架
小结:该框架强调“工程视角”的漏洞检测,将模型能力与数据治理同等对待。
02—关键机制
|
数据清洗 |
去重、无效样本过滤、标签规范化 |
提升训练数据的可信度与一致性 |
|
代码表示 |
词法特征 + 语法特征 + 语义嵌入 |
多角度刻画漏洞相关信息 |
|
特征融合 |
拼接 + 加权融合策略 |
缓解单一特征表达能力不足的问题 |
|
漏洞分类 |
深度学习分类器 |
实现端到端漏洞检测 |
小结:多特征融合显著提升了模型在复杂真实代码场景下的稳定性。
03—实验结果
研究团队在主流漏洞数据集DiverseVul上验证了MARCOVul的有效性,选取七种大规模预训练语言模型及两种多阶段管道模型作为基线。此外,为探究代码规范化与权重设置的影响,针对每种语言模型基线开展了四种不同配置的实验(含/不含规范化处理,含/不含类别权重)。实验结果如下。
表1. 与基线模型漏洞检测结果对比

小结:通过对比结果发现MARCOVul在大多数指标上均优于这些基准模型。MARCOVul 将代码抽象语法树(AST)、控制流图(CFG)和程序数据图(PDG)的结构特征与文本语义特征相结合,通过融合这些特征来提升实际CVD性能。
📌 总结
本文从工程实践出发,提出了一套覆盖全流程的真实世界代码漏洞检测框架,为将学术研究成果真正落地到工业环境提供了有价值的参考。其核心启示在于:高质量数据与合理特征设计,往往比复杂模型结构更关键。
📣 欢迎留言讨论
-
在你看来,真实漏洞检测中最大的挑战是数据、特征,还是模型?
-
多特征融合是否会成为工业漏洞检测的标配方案?
📌 点赞 + 收藏 + 分享,你的支持,是我们持续解析高水平软件安全论文的最大动力!


