ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

语义 + 解释双驱动:融合代码语义与 LLM 推理的漏洞检测新范式

语义 + 解释双驱动:融合代码语义与 LLM 推理的漏洞检测新范式 “ 近年来基于深度学习的漏洞检测方法取得了显著进展但仍面临一个核心瓶颈模型“看懂”代码结构却未必真正理解语义检测结果缺乏可解释性难以辅助安全分析LLM 虽具备强推理能力但直接用于检测存在幻觉与不稳定问题。因此一个关键问题是如何同时利用“结构语义建模能力”与“LLM 推理解释能力”论文提出一种融合代码语义特征与LLM生成解释的漏洞检测方法实现“检测 解释”协同优化。”论文标题Enhancing vulnerability detection by fusing code semantic features with LLM-generated explanations发表时间Information Fusion2025作者单位西安邮电大学等开源代码https//github.com/XUPT-SSS/FuSEVul01—方法介绍该方法的核心思想可以总结为不仅让模型“看代码”还让模型“解释代码”并将解释反哺检测过程。整体流程如下① 语义特征提取对源代码进行表示学习② LLM 生成解释生成与漏洞相关的语义描述③ 多模态融合对齐代码表示与文本解释④ 联合训练利用解释增强检测模型⑤ 输出结果同时提供检测标签与解释信息。图1. FuSEVul方法架构小结从“黑盒分类”迈向“可解释检测”的关键一步。02—关键机制代码语义 LLM解释融合首次系统性结合两类信息源。解释驱动学习机制利用自然语言解释提升模型判别能力。多模态特征对齐实现代码与文本语义空间融合。检测与解释一体化同时输出预测结果与原因分析。模块设计思路作用代码语义编码器利用深度模型提取语法与语义特征捕获程序结构与上下文信息LLM 解释生成生成漏洞相关的自然语言解释提供高层语义推理信息特征融合模块将代码特征与文本解释进行对齐融合增强模型语义表达能力联合判别器基于融合特征进行漏洞分类输出检测结果解释约束机制利用解释信息引导模型学习提升可解释性与鲁棒性小结将“代码表示学习”与“语言推理能力”进行深度耦合实现检测能力升级。03—实验结果实验在三个广泛使用的公开数据集上进行评估Devign、Reveal和TrVD。主要实验结果如下。1FuSEVul与现有方法的漏洞检测性能对比。如表1所示FuSEVul在三个数据集上均全面领先所有基线方法在准确率和F1分数上均取得最优结果。与6个单模态监督学习方法相比FuSEVul在Devign、Reveal和TrVD数据集上取得了平均相对准确率提升11.2%、5.5%和3.7%F1分数提升21.1%、68.3%和8.1%。与8个预训练模型方法相比FuSEVul在三个数据集上分别取得相对准确率提升2.7%、3.0%和1.4%F1分数提升3.4%、39.5%和8.7%。与2个多模态融合方法DeepVD、S2FVD相比FuSEVul通过引入代码解释这一全新模态取得了相对准确率提升5.8%、2.4%和1.9%F1分数提升6.5%、68.8%和2.2%。LLM直接提示方法表现显著较差FuSEVul相对于ChatGPT-3.5和Codellama-7B取得了平均相对准确率提升12.6%、11.0%和74.0%F1分数提升275.1%、519.3%和36.9%。表1. FuSEVul与基线方法的性能对比。2数据稀缺场景下的性能评估结果见图2。结果表明FuSEVul在所有数据稀缺条件下均优于所有基线方法表现出更强的泛化能力。在Devign数据集上FuSEVul在数据稀缺场景下的平均F1分数提升为5.14%。在Reveal数据集上当训练样本仅100个时FuSEVul的平均F1分数提升达到8.48%。在TrVD数据集上FuSEVul的平均准确率提升6.84%F1分数提升16.09%。值得注意的是FuSEVul仅用100个训练样本即可达到85.83%的F1分数超过了18个基线方法中13个在全量数据上训练的性能。图2. FuSEVul与基线方法在数据稀缺场景下的性能对比。小结FuSEVul通过融合代码语义特征与LLM生成的自然语言解释实现了更全面的漏洞检测能力。实验结果表明在三个公开数据集上全面超越18个基线方法平均相对准确率提升7.3%F1分数提升52.2%。在数据稀缺场景下展现出强泛化能力仅用100个样本即可超越大多数全量训练的基线方法。 总结该工作的重要意义在于打破“检测 vs 可解释性”的对立将二者统一到同一框架中。它揭示了一个关键趋势未来漏洞检测模型将从“纯表示学习”走向“语义推理融合”。这一思路可进一步拓展至自动漏洞修复Explain → FixAI 驱动的软件工程工具链。
返回列表