本文提出了一种名为Clear的智能合约漏洞检测方法。Clear包括三个阶段:
数据采样阶段:从数据集中采样合约对,并为每对合约生成相关性标签,用于指导后续的对比学习过程。
对比学习阶段:设计了一个包含上下文增强模块和Transformer模块的对比学习模型,通过计算对比损失函数来学习合约之间的相关性信息。
漏洞检测阶段:利用对比学习阶段学习到的相关性特征,结合合约语义信息,通过全连接神经网络进行最终的漏洞检测。
实验结果表明,Clear在三种主要类型的智能合约漏洞(重入、时间依赖、整数溢出/下溢)检测上均优于13种最新的基准方法,平均F1值达到94.52%,相比现有最佳方法提高了9.73%。此外,对比学习模块也能显著提升其他深度学习模型(如RNN、LSTM、GRU)在智能合约漏洞检测任务上的性能。
翻译成其他语言
从原文生成
arxiv.org
更深入的查询