  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.
