摘要
智能合约因漏洞而造成巨大的经济损失受到了广泛关注。针对现有的智能合约漏洞检测方法检测精度不高的问题,结合动态卷积神经网络(dynamic convolution neural network,DCNN)、双向门控递归单元(bidirectional gate recurrent unit,Bi GRU)、图传递神经网络(message passing neural network,MPNN)、注意力机制提出了基于双通道的漏洞检测方法DBTA(DCNN-BiGRU-MPNN-Attention)。首先利用Word2vec词嵌入技术和图归一化方法对数据进行预处理,将获得的词向量表示传入改进DCNN-BiGRU,并引入了R-Drop(regularized dropout for neural networks)正则化方法提高模型泛化能力。将图归一化表示传入图传递神经网络,通过两个通道分别提取序列特征和图特征,然后结合自注意力机制和交叉注意力机制捕捉不同特征间的相关性,从而突出关键特征对漏洞检测的重要性。最后通过全连接层得到输出向量,利用sigmoid函数输出结果。通过消融实验和对比实验表明,所提出的方法在检测两种不同类型的智能合约漏洞方面具有较高的精度。
- 单位