" 随着软件系统持续演进,漏洞检测任务从"离线分析"逐步转向"实时监测"。传统图神经网络模型虽然能够捕获程序语法与控制流结构,但在处理多类型节点、跨语义关系以及快速推理需求时仍显不足。
为此,研究团队提出了 HgtJIT ------ 一种基于异构图 Transformer 的即时漏洞检测框架,通过构建函数级多视图异构图,结合多头注意力机制的语义建模,实现对真实工业代码的高效、精准漏洞识别。"
📄 论文标题:HgtJIT: Just-in-Time Vulnerability Detection Based on Heterogeneous Graph Transformer
📅 发表时间:IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2025
🏫 作者单位:扬州大学、南昆士兰大学等
💡开源代码:https://github.com/mxzhou666/HgtJIT
01
---
方法介绍
HgtJIT 的核心思想是利用异构图 Transformer(HGT)捕获代码中的多类型语义结构,以实现即时漏洞预测。整体流程分为三步:
① 异构图构建:
从源代码中提取 AST、CFG、DFG 多视图结构,将其融合为统一的异构图表示。
② 异构注意力编码:
利用 HGT 进行节点类型感知的注意力学习,建模跨类型依赖。
③ 漏洞预测:
对函数级特征进行融合,通过分类器实现即时漏洞检测。

图 1. HgtJIT框架
小结:HgtJIT 将多源程序结构融合于异构图中,并使用基于节点类型的 Transformer 注意力机制提取语义依赖,使模型兼具结构细粒度与语义表现力。
02
---
关键机制
-
多视图统一语义的异构图表示:
同时保留语法树、控制流与数据流的结构差异。
-
节点类型感知的交互注意力:
为不同语义实体(变量、常量、语句等)分配独立学习路径。
-
面向即时检测的轻量解码器:
相比传统 GNN 模型推理速度提高显著。
| 模块 | 实现方式 | 主要作用 |
|---|---|---|
| 多视图异构图构建 | 融合 AST、CFG、DFG,构建节点类型与边类型可区分的异构图 | 完整表达代码的语法、控制与数据流信息 |
| 异构注意力机制 | 为不同节点类型分配独立注意力头,动态学习跨类型依赖 | 提升模型对关键语义节点的敏感度 |
| 语义级特征聚合 | 结合 Transformer 聚合策略构建函数级表示 | 获得更适合漏洞分类的高维结构语义嵌入 |
| 即时检测分类器 | 轻量级 MLP 分类层 | 加速预测过程,实现 near real-time 检测 |
小结: HGT 的引入解决了传统 GNN 在异构场景中的表达瓶颈,使模型更加契合真实代码结构的复杂性。
03
---
实验结果
研究团队在 CodeJIT(Code-centric learning-based just-in-time vulnerability detection)数据集上评估了 HgtJIT与 DeepJIT 、 CC2Vec、CCT5等模型,结果表明HgtJIT 在 F1 与 AUC 上均有显著提升。
-
按时间戳升序对所有提交进行排序,随后将排名前80%的提交作为训练数据,其余20%的提交作为测试数据。
表1 时间分割:与基线相比的性能评估结果
| 模型 | P | R | F1 | AUC |
|---|---|---|---|---|
| VCCFinder | 0.34 | 0.58 | 0.43 | 0.54 |
| DeepJIT | 0.30 | 0.60 | 0.40 | 0.70 |
| CC2Vec | 0.30 | 0.62 | 0.41 | 0.71 |
| CCT5 | 0.33 | 0.62 | 0.43 | 0.74 |
| CodeJIT* | 0.55 | 0.42 | 0.48 | 0.65 |
| HgtJIT(本文) | 0.61 | 0.51 | 0.55 | 0.83 |
在随机划分的项目中,80%的项目中的所有提交用于训练模型,其余20%项目中的提交用于测试。
表2 跨项目:性能评估结果与漏洞检测基准的对比
| 模型 | P | R | F1 | AUC |
|---|---|---|---|---|
| VCCFinder | 0.32 | 0.67 | 0.43 | 0.49 |
| DeepJIT | 0.44 | 0.56 | 0.50 | 0.67 |
| CC2Vec | 0.47 | 0.56 | 0.51 | 0.70 |
| CCT5 | 0.50 | 0.59 | 0.54 | 0.72 |
| CodeJIT* | 0.74 | 0.50 | 0.60 | 0.73 |
| HgtJIT(本文) | 0.62 | 0.64 | 0.63 | 0.80 |
小结**:与最先进的基线相比,HgtJIT在即时编译漏洞检测方面表现卓越,F1值和AUC值分别提升高达37.5%和53.7%。这表明利用代码变更图的异构信息学习漏洞特征具有显著效果。在跨项目场景中,HgtJIT仍保持整体最优性能,F1值与AUC值分别提升高达46.5%和93.3%,表明其具备更强的泛化能力。**
📌 总结
HgtJIT 通过异构图 Transformer 深度建模程序代码的多视图结构,在即时漏洞检测场景中展现出强大优势:更强的跨语义依赖建模能力、更高效的推理性能、更适配真实工程代码的复杂性。这一方向为未来的代码安全检测带来新的可能:模型能够在代码提交时即时识别潜在风险。
📣 欢迎留言讨论
-
你认为异构图是否会成为下一代代码分析模型的主流结构?
-
在企业 CI/CD 场景中,JIT 漏洞检测是否真正可落地?
📌 点赞 + 收藏 + 分享,你的支持,是我们持续解析高水平软件安全论文的最大动力!