Vul-LMGNNs:融合语言模型与在线蒸馏图神经网络进行代码漏洞检测
密码学与安全
2025-03-24 v2
摘要
代码语言模型 和图神经网络 被广泛用于代码漏洞检测。然而,GNN 通常依赖于聚合相邻节点的信息,限制了跨层的结构信息传播。虽然 codeLM 可以用语义信息补充 GNN,但现有的集成方法尚未充分探索它们的协作潜力。为了应对这些挑战,我们提出了 Vul-LMGNNs,将预训练的 codeLM 与 GNN 集成,以实现语义和结构信息的跨层传播。Vul-LMGNNs 利用代码属性图 来纳入语法、控制流和数据依赖,并使用门控 GNN 进行结构提取。在线知识蒸馏 机制允许学生 GNN 通过交替训练从训练好的对应模型中捕获结构信息。此外,“隐式-显式”联合训练框架利用 codeLM 初始化嵌入并传播代码语义。在显式阶段,它通过线性插值执行后期融合。在真实世界漏洞数据集上的评估表明,Vul-LMGNNs 优于 17 种 SOTA 方法。源代码可在以下地址获取:https://github.com/Vul-LMGNN/vul-LMGNN。
引用
@article{arxiv.2404.14719,
title = {Vul-LMGNNs: Fusing language models and online-distilled graph neural networks for code vulnerability detection},
author = {Ruitong Liu and Yanbin Wang and Haitao Xu and Jianguo Sun and Fan Zhang and Peiyue Li and Zhenhao Guo},
journal= {arXiv preprint arXiv:2404.14719},
year = {2025}
}
备注
16 pages, 7 figures