" 在大规模软件开发与开源复用背景下,代码漏洞已成为威胁软件安全的关键隐患。尽管深度学习推动了自动化漏洞检测的发展,但如何同时捕获代码的语义依赖与复杂结构关系,仍然是亟待突破的问题。传统序列模型关注局部上下文,而图模型虽可建模结构,却难以融合语义路径信息。本文提出的 MDVul ,便旨在解决这一痛点。"
论文标题: MDVul: A Semantic-Based Complex Dependency Code Vulnerability Detection Using Fusion Path
作者单位:东北大学、西电等
发表期刊: Information Fusion , 2026, Elsevier 出版
01
---
方法介绍
MDVul将漏洞检测建模为语义-结构融合问题,核心思想是构建多路径代码表示 :在传统AST与CFG的基础上,额外引入语义依赖路径(Semantic Fusion Path),以捕获变量、函数调用、数据流之间的显式与隐式关系。
随后,模型首先基于 UniXcoder 对代码片段进行语义编码,再将这些嵌入作为路径/节点输入,采用 Attention-BGRU 聚合多条融合路径,最终用 KAN 分类器进行判别,从而支持跨语句、跨函数的特征交互。
图 1:MDVul 模型架构示意
**小结:**MDVul 不再局限于语法结构,而是将代码理解提升到"跨路径语义关联"层面。
02
---
关键机制
| 机制 | 核心内容 | 作用 |
|---|---|---|
| 多路径图构建 | AST / CFG + 语义路径 (fusion path) | 建模复杂依赖与上下文关系 |
| 路径语义嵌入 | UniXcoder / Code 表征 + Attention-BGRU | 增强路径与节点的语义表示能力 |
| 多通道聚合与 KAN 判别 | 多条路径聚合 + KAN 分类器 | 区分高维语义差异,提升不平衡场景下的 F1 |
**小结:**关键机制实现了从"结构识别"到"语义理解"的跨越,是模型性能提升的根本原因。
03
---
实验结果
本文用到的数据集与规模:
| 数据集 | 非漏洞样本 | 漏洞样本 | 总样本数 |
|---|---|---|---|
| Ffmpeg + Qemu(处理后 | 14117 | 11952 | 26069 |
| TrVD | 166641 | 98181 | 264822 |
| Sub_DiverseVul (用于类型敏感性分析) | 131439 | 8576 | 140015 |
小结:实验使用了两个主测试集(Ffmpeg+Qemu_p 与 TrVD)与一个用于漏洞类型敏感性分析的子集 Sub_DiverseVul,覆盖了真实项目与合成/参考集的混合场景。
下表为论文对比结果(Ffmpeg+Qemu_p):MDVul 在 F1 与 Recall 上有较明显提升,以下表为论文中的主要对比条目。
| 模型 | Accuracy | Precision | Recall | F1 |
|---|---|---|---|---|
| MDVul (本文) | 66.22 | 61.16 | 77.15 | 68.23 |
| EPVD | 61.52 | 55.79 | 72.88 | 63.20 |
| UniXcoder | 64.85 | 63.25 | 60.96 | 62.09 |
| LineVul | 62.46 | 60.15 | 60.71 | 60.43 |
| DLAP | 63.97 | 68.69 | 58.10 | 62.95 |
| Devign | 58.42 | 58.62 | 65.38 | 61.82 |
| TrVD | 59.58 | 56.67 | 69.34 | 62.37 |
| VulDeePecker | 40.12 | 37.45 | 28.74 | 32.52 |
| SySeVR | 46.46 | 42.57 | 50.36 | 46.14 |
小结:在 Ffmpeg+Qemu_p(真实项目数据)上,MDVul 在 F1/Recall 上优于多数基线,尤其对依赖复杂、需跨路径判断的漏洞类型更为敏感。
论文中还给出了 TrVD 数据集上的对比,结果如下(供跨数据集对比参考)。
| 模型 | Accuracy | Precision | Recall | F1 |
|---|---|---|---|---|
| MDVul (本文) | 87.64 | 91.83 | 86.73 | 89.21 |
| TrVD | 88.49 | 90.68 | 81.97 | 86.11 |
| UniXcoder | 88.26 | 85.01 | 82.88 | 83.93 |
| LineVul | 87.97 | 84.86 | 81.35 | 83.07 |
| EPVD | 87.34 | 84.51 | 85.69 | 85.10 |
| DLAP | 88.41 | 87.69 | 82.93 | 85.24 |
| VulDeePecker | 86.14 | 80.47 | 78.61 | 79.53 |
| SySeVR | 87.25 | 82.13 | 80.14 | 81.12 |
小结:MDVul在两类不同性质的数据集上均表现良好:在真实项目(Ffmpeg + Qemu_p)上对复杂依赖漏洞敏感度高,在合成/参考集(TrVD)上总体指标更高,表明方法既能处理现实复杂逻辑,也能在结构化测试集上获得强性能。
📌 总结
MDVul 通过语义路径建模与多通道图融合,为漏洞检测提供了一种超越传统结构分析的新范式。其核心贡献在于把隐式语义依赖显式化为融合路径,并利用预训练编码器 + Attention-BGRU 与 KAN 分类器提升对复杂依赖漏洞的识别能力。
📣 欢迎留言讨论
- 你认为漏洞检测的突破方向在于更强的图建模,还是更大的预训练模型?
- 语义路径是否会成为下一代代码理解模型的标配?
📌 点赞 · 收藏 · 分享 ------ 你的支持,是我们持续解析高水平代码安全论文的最大动力。