VDExplainer:让漏洞检测模型“说清楚”,逐语句解释漏洞从何而来
“ 近年来深度学习在漏洞检测任务中取得了显著进展然而一个始终困扰学术界与工业界的问题是模型为什么认为这段代码有漏洞漏洞究竟体现在哪些语句上多数现有方法仍停留在“给结论”的阶段缺乏细粒度、可理解的解释机制。针对这一问题研究者提出了VDExplainer一种面向漏洞检测的语句级解释框架通过序列决策与概率采样机制让模型逐步“选出”真正导致漏洞的关键语句。 ”论文标题VDExplainer: Sequential Decision-Making and Probability Sampling Guided Statement-Level Explanation for Vulnerability Detection发表时间Computers Security, 2025作者单位哈尔滨工业大学开源代码https://figshare.com/s/9f6a9f553a9dc30029c9.01—方法介绍图1给出了NVD编号153804的漏洞代码示例源自OpenSSL。程序在读取128字节数据时未保证字符串空终止随后在第34行通过strcpy复制到同样大小的缓冲区可能越界读取并引发缓冲区溢出。该漏洞并非由单一语句造成而是与stonesoup_buffer和stonesoup_input_buf相关的一组语句在定义、初始化、文件读取和字符串复制等上下文中共同作用的结果。由此可得两点结论1明确标注与漏洞相关的语句有助于开发人员快速定位和修复漏洞2漏洞模式并非单一语句而是由易损语句及其上下文共同构成漏洞分析需整体考察相关代码。图 1. 动机示例。VDExplainer 的核心思想是漏洞解释本身就是一个“选择过程”模型需要从大量语句中逐步筛选出真正有贡献的部分。为此论文将漏洞解释建模为一个序列决策问题整体流程可概括为三步① 语句级表示建模为代码中的每条语句构建语义表示。② 序列决策解释模型逐步决定“是否保留”当前语句作为漏洞解释的一部分。③ 概率采样引导通过采样策略探索不同语句组合避免贪心选择带来的偏差。图 1. VDExplainer的处理框架小结VDExplainer 关注的不是“一次性指出答案”而是“解释是如何一步步形成的”。02—关键机制语句级漏洞解释比函数级、片段级解释更精细。序列决策建模将解释过程显式建模为决策序列。概率采样机制提升解释多样性与鲁棒性。检测-解释一致性确保解释真正支撑模型预测。模块设计思路作用语句级编码建模单条语句语义作为解释决策的基本单元序列决策模型逐步选择关键语句构建漏洞解释路径概率采样策略在候选语句间随机探索避免局部最优解释解释一致性约束解释需支持检测结果保证解释有效性小结解释不是事后附加而是与检测过程紧密耦合。03—实验结果实验在两个数据集上进行了VDEplainer评估Big-Vul和作者自己构建的一个切片级半合成数据集其中包括合成代码和真实项目代码主要来源于NVD2025和CVE, 2025。主要实验结果如下。其中评价指标有1Fidelity (FD)保真度越高所提取的漏洞模式就越重要2K-Accuracy(A(k))K-Accuracy用于衡量在包含k个语句的漏洞模式中至少出现一个实际漏洞语句的样本百分比。3Line Coverage(LC)衡量预测漏洞模式中的易受攻击语句数量与实际易受攻击语句数量之间的比率。1如表1所示LineVul和VulBERTa-CNN在半合成数据集和Big-Vul数据集上取得了良好的检测结果。表2和表3总结了使用不同的解释方法对Big-Vul和半合成数据集上的LineVul和VulBERTa-CNN的影响。表1. 需要解释的基于预训练模型的漏洞检测模型的检测结果指标单位%表2. 在Big-Vul数据集上对两个基于预训练模型的模型采用不同解释方法的结果表3. 在半合成数据集上对两个基于预训练模型的模型采用不同解释方法的结果2实验还考虑了解释基于深度学习的方法模型见表4。解释结果如表5所示。表4. 需要解释的基于深度学习的漏洞检测模型的检测结果指标单位%。表5. 在半合成数据集上对三个需要解释的深度学习模型采用不同解释方法的结果。小结系统评估VDExplainer的实验结果表明生成的解释在语句级定位准确率上显著优于主流可解释方法解释结果更贴近真实漏洞触发逻辑在不明显牺牲检测性能的前提下显著提升模型可解释性。 总结VDExplainer 从方法论层面重新审视了漏洞检测中的“解释”问题。通过将解释建模为序列决策过程该方法让模型能够明确回答哪些语句导致了漏洞判断以及它们是如何共同作用的。这一工作表明未来漏洞检测模型的重要竞争力之一可能不再只是“检得准”而是能否把漏洞讲清楚。 欢迎留言讨论你认为语句级解释是否是漏洞检测可解释性的理想粒度在工程实践中解释质量与推理成本应如何平衡 点赞 收藏 分享你的支持是我们持续解析高水平软件安全论文的最大动力