We introduce SCooLS, our Smart Contract Learning (Semi-supervised) engine. SCooLS uses neural networks to analyze Ethereum contract bytecode and identifies specific vulnerable functions. SCooLS incorporates two key elements: semi-supervised learning and graph neural networks (GNNs). Semi-supervised learning produces more accurate models than unsupervised learning, while not requiring the large oracle-labeled training set that supervised learning requires. GNNs enable direct analysis of smart contract bytecode without any manual feature engineering, predefined patterns, or expert rules. SCooLS is the first application of semi-supervised learning to smart contract vulnerability analysis, as well as the first deep learning-based vulnerability analyzer to identify specific vulnerable functions. SCooLS's performance is better than existing tools, with an accuracy level of 98.4%, an F1 score of 90.5%, and an exceptionally low false positive rate of only 0.8%. Furthermore, SCooLS is fast, analyzing a typical function in 0.05 seconds. We leverage SCooLS's ability to identify specific vulnerable functions to build an exploit generator, which was successful in stealing Ether from 76.9% of the true positives.
翻译:我们介绍 SCooLS,我们的智能合约学习 (半监督) 引擎。SCooLS使用神经网络分析以太坊合同字节码并识别特定的易受攻击的函数。 SCooLS包含两个关键元素:半监督学习和图神经网络 (GNNs)。半监督学习可以产生比无监督学习更准确的模型,而不需要大量标记的训练集,这是监督学习所需的。 GNNs使得直接分析智能合约字节码成为可能,无需任何手动特征工程,预定义模式或专家规则。 SCooLS是半监督学习应用于智能合约易受攻击性分析的第一个应用程序,也是第一个基于深度学习的易受攻击性分析器,可识别特定的易攻击函数。 SCooLS的性能优于现有工具,准确率为98.4%,F1分数为90.5%,误报率仅为0.8%。此外,SCooLS非常快,可以在0.05秒内分析一个典型的函数。 我们利用SCooLS识别易受攻击的特定函数的能力来构建一个利用生成器,在攻击真阳性数中成功窃取了以太币的76.9%。