{"type":"ScholarlyArticle","title":"Smart Contract Vulnerability Detection using Graph Neural Network","authors":[{"name":"Yuan Zhuang","slug":"yuan-zhuang","given":"Yuan","family":"Zhuang","affiliation":"Zhejiang Gongshang University"},{"name":"Zhenguang Liu","slug":"zhenguang-liu","given":"Zhenguang","family":"Liu","affiliation":"Zhejiang Gongshang University"},{"name":"Peng Qian","slug":"peng-qian","given":"Peng","family":"Qian","affiliation":"Zhejiang Gongshang University"},{"name":"Qi Liu","slug":"qi-liu","given":"Qi","family":"Liu","affiliation":"University of Oxford"},{"name":"Xiang Wang","slug":"xiang-wang","given":"Xiang","family":"Wang","affiliation":"National University of Singapore"},{"name":"Qinming He","slug":"qinming-he","given":"Qinming","family":"He","affiliation":"Zhejiang University"}],"abstract":"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.","doi":"10.24963/ijcai.2020/454","url":"https://ijcai.org/proceedings/2020/454","pdf":"https://ijcai.org/proceedings/2020/0454.pdf","markdown":"https://ijcai.org/proceedings/2020/454.md","bibtex":"https://ijcai.org/proceedings/2020/bibtex/454","volume":{"slug":"2020","title":"Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 2020","url":"https://ijcai.org/proceedings/2020/","year":2020,"location":"Yokohama","dates":"January 2021 (postponed from 11-17 July 2020)","editors":"Christian Bessiere","isbn":"978-0-9992411-6-5","publisher":"International Joint Conferences on Artificial Intelligence Organization","doi_prefix":"10.24963/ijcai.2020"},"section":"Machine Learning","track":"Main track","number":454,"pages":{"first":3283,"last":3290},"keywords":["Machine Learning Applications: Applications of Supervised Learning","Machine Learning: Knowledge-based Learning","Multidisciplinary Topics and Applications: Security and Privacy"],"videos":[{"label":"Video","url":"https://videos.ijcai20.org/25321/file_25321.m3u8","length_sec":286,"provider":"hls"}],"references":[{"position":1,"raw":"[Allamanis et al., 2018] Miltiadis Allamanis, Marc Brockschmidt, and Mahmoud Khademi. Learning to represent programs with graphs. In International Conference on Learning Representations, 2018.","title":"Learning to represent programs with graphs","authors":"Miltiadis Allamanis, Marc Brockschmidt, Mahmoud Khademi","year":"2018","venue":"International Conference on Learning Representations","doi":null,"url":null,"internal_url":null},{"position":2,"raw":"[Burnim et al., 2009] Jacob Burnim, Nicholas Jalbert, Chris- tos Stergiou, and Koushik Sen. Looper: Lightweight de- tection of infinite loops at runtime. In Proceedings of the International Conference on Automated Software En- gineering, pages 161-169. IEEE Computer Society, 2009.","title":"Looper: Lightweight detection of infinite loops at runtime","authors":"Jacob Burnim, Nicholas Jalbert, Christos Stergiou, Koushik Sen","year":"2009","venue":"Proceedings of the International Conference on Automated Software Engineering","doi":null,"url":null,"internal_url":null},{"position":3,"raw":"[Carbin et al., 2011] Michael Carbin, Sasa Misailovic, Michael Kling, and Martin C Rinard. Detecting and es- caping infinite loops with jolt. In European Conference on Object-Oriented Programming, pages 609-633. Springer, 2011.","title":"Detecting and escaping infinite loops with jolt","authors":"Sasa Michael Carbin, Michael Misailovic, Martin C Kling, Rinard","year":"2011","venue":"European Conference on Object-Oriented Programming","doi":null,"url":null,"internal_url":null},{"position":4,"raw":"[Cheng et al., 2019] Zhiyong Cheng, Xiaojun Chang, Lei Zhu, Rose Catherine Kanjirathinkal, and Mohan S. Kankanhalli. MMALFM: explainable recommendation by leveraging reviews and images. ACM Trans. Inf. Syst., 37(2):16:1-16:28, 2019.","title":"MMALFM: explainable recommendation by leveraging reviews and images","authors":"Zhiyong Cheng, Xiaojun Chang, Lei Zhu, Rose, Catherine Kanjirathinkal, Mohan S Kankanhalli","year":"2019","venue":"ACM Trans. Inf. Syst","doi":null,"url":null,"internal_url":null},{"position":5,"raw":"[Defferrard et al., 2016] Michaël Defferrard, Xavier Bres- son, and Pierre Vandergheynst. Convolutional neural net- works on graphs with fast localized spectral filtering. In Advances in neural information processing systems, pages 3844-3852, 2016.","title":"Convolutional neural networks on graphs with fast localized spectral filtering","authors":"Michaël Defferrard, Xavier Bresson, Pierre Vandergheynst","year":"2016","venue":"Advances in neural information processing systems","doi":null,"url":null,"internal_url":null},{"position":6,"raw":"[Ibing and Mai, 2015] Andreas Ibing and Alexandra Mai. A fixed-point algorithm for automated static detection of infi- nite loops. In International Symposium on High Assurance Systems Engineering, pages 44-51. IEEE, 2015.","title":"Andreas Ibing and Alexandra Mai. A fixed-point algorithm for automated static detection of infinite loops","authors":"Mai Ibing","year":"2015","venue":"International Symposium on High Assurance Systems Engineering","doi":null,"url":null,"internal_url":null},{"position":7,"raw":"[Jiang et al., 2018] Bo Jiang, Ye Liu, and WK Chan. Con- tractfuzzer: Fuzzing smart contracts for vulnerability de- tection. In Proceedings of the International Conference on Automated Software Engineering, pages 259-269. ACM, 2018.","title":"Contractfuzzer: Fuzzing smart contracts for vulnerability detection","authors":"Bo Jiang, Ye Liu, Chan","year":"2018","venue":"Proceedings of the International Conference on Automated Software Engineering","doi":null,"url":null,"internal_url":null},{"position":8,"raw":"[Kipf and Welling, 2017] Thomas N. Kipf and Max Welling. Semi-supervised classification with graph convolutional networks. In International Conference on Learning Rep- resentations, 2017.","title":"Semi-supervised classification with graph convolutional networks","authors":"Thomas N Kipf, Max Welling","year":"2017","venue":"International Conference on Learning Representations","doi":null,"url":null,"internal_url":null},{"position":9,"raw":"[Kling et al., 2012] Michael Kling, Sasa Misailovic, Michael Carbin, and Martin Rinard. Bolt: on-demand in- finite loop escape in unmodified binaries. ACM SIGPLAN Notices, 47(10):431-450, 2012.","title":"Bolt: on-demand infinite loop escape in unmodified binaries","authors":"Michael Kling, Sasa Misailovic, Michael Carbin, Martin Rinard","year":"2012","venue":"ACM SIGPLAN Notices","doi":null,"url":null,"internal_url":null},{"position":10,"raw":"[Li et al., 2018] Ruoyu Li, Sheng Wang, Feiyun Zhu, and Junzhou Huang. Adaptive graph convolutional neural net- works. In Thirty-Second AAAI Conference on Artificial Intelligence, 2018.","title":"Adaptive graph convolutional neural networks","authors":"Ruoyu Li, Sheng Wang, Feiyun Zhu, Junzhou Huang","year":"2018","venue":"Thirty-Second AAAI Conference on Artificial Intelligence","doi":null,"url":null,"internal_url":null},{"position":11,"raw":"[Liu et al., 2018a] An-An Liu, Ning Xu, Hanwang Zhang, Weizhi Nie, and Yuting Su. Multi-level policy and reward reinforcement learning for image captioning. 2018.","title":"Multi-level policy and reward reinforcement learning for image captioning","authors":"Liu","year":"2018","venue":null,"doi":null,"url":null,"internal_url":"/proceedings/2018/114"},{"position":12,"raw":"[Liu et al., 2018b] Chao Liu, Han Liu, Zhao Cao, Zhong Chen, Bangdao Chen, and Bill Roscoe. Reguard: find- ing reentrancy bugs in smart contracts. In Proceedings of International Conference on Software Engineering: Com- panion Proceeedings, pages 65-68. ACM, 2018.","title":"Reguard: finding reentrancy bugs in smart contracts","authors":"Liu","year":"2018","venue":"Proceedings of International Conference on Software Engineering: Companion Proceeedings","doi":null,"url":null,"internal_url":null},{"position":13,"raw":"[Luu et al., 2016] Loi Luu, Duc-Hiep Chu, Hrishi Olickel, Prateek Saxena, and Aquinas Hobor. Making smart con- tracts smarter. In Conference on computer and communi- cations security, pages 254-269. ACM, 2016.","title":"Making smart contracts smarter","authors":"Loi Luu, Duc-Hiep Chu, Hrishi Olickel, Prateek Saxena, Aquinas Hobor","year":"2016","venue":"Conference on computer and communications security","doi":null,"url":null,"internal_url":null},{"position":14,"raw":"[Micheli, 2009] Alessio Micheli. Neural network for graphs: A contextual constructive approach. IEEE Transactions on Neural Networks, 20(3):498-511, 2009.","title":"Neural network for graphs: A contextual constructive approach","authors":"Alessio Micheli","year":"2009","venue":"IEEE Transactions on Neural Networks","doi":null,"url":null,"internal_url":null},{"position":15,"raw":"[Mueller, 2017] Bernhard Mueller. A framework for bug hunting on the ethereum blockchain. Webiste, 2017. https: //github.com/ConsenSys/mythril.","title":"A framework for bug hunting on the ethereum blockchain","authors":"Bernhard Mueller","year":"2017","venue":null,"doi":null,"url":"https://github.com/ConsenSys/mythril","internal_url":null},{"position":16,"raw":"[Nikolić et al., 2018] Ivica Nikolić, Aashish Kolluri, Ilya Sergey, Prateek Saxena, and Aquinas Hobor. Finding the greedy, prodigal, and suicidal contracts at scale. In Pro- ceedings of the Annual Computer Security Applications Conference, pages 653-663. ACM, 2018.","title":"Finding the greedy, prodigal, and suicidal contracts at scale","authors":"Ivica Nikolić, Aashish Kolluri, Ilya Sergey, Prateek Saxena, Aquinas Hobor","year":"2018","venue":"Proceedings of the Annual Computer Security Applications Conference","doi":null,"url":null,"internal_url":null},{"position":17,"raw":"[Sankar et al., 2017] Lakshmi Siva Sankar, M Sindhu, and M Sethumadhavan. Survey of consensus protocols on blockchain applications. In International Conference on Advanced Computing and Communication Systems, pages 1-5. IEEE, 2017.","title":"Survey of consensus protocols on blockchain applications","authors":"Lakshmi Siva Sankar, M Sindhu, M Sethumadhavan","year":"2017","venue":"International Conference on Advanced Computing and Communication Systems","doi":null,"url":null,"internal_url":null},{"position":18,"raw":"[Tikhomirov et al., 2018] Sergei Tikhomirov, Ekaterina Voskresenskaya, Ivan Ivanitskiy, Ramil Takhaviev, Evgeny Marchenko, and Yaroslav Alexandrov. Smartcheck: Static analysis of ethereum smart con- tracts. In International Workshop on Emerging Trends in Software Engineering for Blockchain, pages 9-16. IEEE, 2018.","title":"Smartcheck: Static analysis of ethereum smart contracts","authors":"Sergei Tikhomirov, Ekaterina Voskresenskaya, Ivan Ivanitskiy, Ramil Takhaviev, Evgeny Marchenko, Yaroslav Alexandrov","year":"2018","venue":"International Workshop on Emerging Trends in Software Engineering for Blockchain","doi":null,"url":null,"internal_url":null},{"position":19,"raw":"[Tsankov et al., 2018] Petar Tsankov, Andrei Dan, Dana Drachsler-Cohen, Arthur Gervais, Florian Buenzli, and Martin Vechev. Securify: Practical security analysis of smart contracts. In Conference on Computer and Commu- nications Security, pages 67-82. ACM, 2018.","title":"Securify: Practical security analysis of smart contracts","authors":"Petar Tsankov, Andrei Dan, Dana Drachsler-Cohen, Arthur Gervais, Florian Buenzli, Martin Vechev","year":"2018","venue":"Conference on Computer and Communications Security","doi":null,"url":null,"internal_url":null},{"position":20,"raw":"[Veličković et al., 2017] Petar Veličković, Guillem Cucurull, Arantxa Casanova, Adriana Romero, Pietro Lio, and Yoshua Bengio. Graph attention networks. arXiv preprint arXiv:1710.10903, 2017.","title":"Graph attention networks","authors":"Petar Veličković, Guillem Cucurull, Arantxa Casanova, Adriana Romero, Pietro Lio, Yoshua Bengio","year":"2017","venue":null,"doi":null,"url":null,"internal_url":null},{"position":21,"raw":"[Zhang et al., 2018] Jiani Zhang, Xingjian Shi, Junyuan Xie, Hao Ma, Irwin King, and Dit-Yan Yeung. Gaan: Gated at- tention networks for learning on large and spatiotemporal graphs. arXiv preprint arXiv:1803.07294, 2018.","title":"Gaan: Gated attention networks for learning on large and spatiotemporal graphs","authors":"Jiani Zhang, Xingjian Shi, Junyuan Xie, Hao Ma, Irwin King, Dit-Yan Yeung","year":"2018","venue":null,"doi":null,"url":null,"internal_url":null}],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}