Smart Contract Vulnerability Detection using Graph Neural Network
Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence
Main track. Pages 3283-3290. https://doi.org/10.24963/ijcai.2020/454
The security problems of smart contracts have drawn extensive attention due to the enormous financial losses caused by vulnerabilities. Existing methods on smart contract vulnerability detection heavily rely on fixed expert rules, leading to low detection accuracy. In this paper, we explore using graph neural networks (GNNs) for smart contract vulnerability detection. Particularly, we construct a contract graph to represent both syntactic and semantic structures of a smart contract function. To highlight the major nodes, we design an elimination phase to normalize the graph. Then, we propose a degree-free graph convolutional neural network (DR-GCN) and a novel temporal message propagation network (TMP) to learn from the normalized graphs for vulnerability detection. Extensive experiments show that our proposed approach significantly outperforms state-of-the-art methods in detecting three different types of vulnerabilities.
Machine Learning: Knowledge-based Learning
Multidisciplinary Topics and Applications: Security and Privacy
Machine Learning Applications: Applications of Supervised Learning