返回
Improving Smart Contract Vulnerability Detection With Correlation-Driven Semi-Supervised Learning
DOI:10.1109/TSE.2025.3647014.png)
摘要
En 中文
深度神经网络(DNNs)是用于检测智能合约漏洞(SCVs)的最有效方法之一。当前DNN方法的表现高度依赖于大量训练样本和标签。半监督学习(SSL)通过训练伪标签机制并在无标签数据上执行标签传播,从而缓解这一问题。然而,由于这些方法在捕捉细微故障方面的局限性,它们不适合与智能合约漏洞检测(SCVD)相关的任务,而细微故障是SCVD的主要原因。我们相信,细微故障包含在相关性特征中,该特征涵盖了易受攻击合约之间的共同点以及易受攻击合约与非易受攻击合约之间的差异。因此,我们提出了一种基于相关性的SSL方法,称为Jupiter,以解决这一局限性。具体而言,Jupiter整合了一个对比学习模块,用于在智能合约之间进行成对比较并捕捉相关性特征。这些相关性特征有助于分离易受攻击合约和非易受攻击合约的特征分布。然后,利用内置RBF核函数的支持向量机来建立两种合约分布之间的决策边界。我们采用数据点到决策边界的距离作为置信度分数,并将高质量伪标签传播到超过阈值的每个无标签数据上。这一过程迭代进行,其中标签数据集通过结合伪标签和真实标签数据构建,并重新输入对比学习模型,直到所有数据都被标记。最后,结合语义信息和相关性特征可准确检测SCVs。通过对包含超过40,000个智能合约的大型真实世界数据集进行实证评估,我们比较了6种最先进的SSL方法和5种最先进的SCVD方法的性能。我们的研究发现,所提出的Jupiter方法在以下两个方面表现出有效性:(1)Jupiter在所有SSL方法中实现了最佳性能,其F1分数比其他方法高出18.89%至28.42%;(2)当前最先进的SCVD方法在仅使用少量标签数据时无法获得满意结果。具体而言,这些方法在使用仅10%的标签数据时,F1分数范围为49.72%至50.98%。相比之下,在相同条件下,Jupiter超越了所有基线方法,实现了89.28%的F1分数,较基线方法提升了75.12%至79.56%。
Keyword:
Smart contract
vulnerability detection
deep learning
semi-supervised learning
期刊
IF:
5.6
论文数:
2.9K
被引数:
1.1W
机构
引用论文
Combining Graph Neural Networks With Expert Knowledge for Smart Contract Vulnerability Detection结合图神经网络和专家知识的智能合约漏洞检测

