摘要

一种面向Java源码的语句级模式探索的漏洞检测方法,包括以下步骤:步骤1:用户将Java文件上传到语句级漏洞检测框架ISVSF,框架中的方法表示生成器提取全部方法,然后将方法抽象为控制流抽象语法树CFAST;步骤2:方法表示生成器通过遍历CFAST内的basic子树/控制流子树得到每个基本子块/控制流子块的句子;步骤3:用基于Transformer的双向编码器将每个句子嵌入到句子向量中;步骤4:漏洞分类器从生成器接收方法表示,首先统一其长度,然后分类器计算条件概率,最后根据阈值进行分类;步骤5,漏洞分类器通过分类结果预测方法是否存在漏洞的,并且输出预测结果。相较于传统的基于深度学习的预训练模型,使用BERT模型使得分类的速度变快,预训练处理数据速度变快。