MANDO-GURU: Vulnerability Detection for Smart Contract Source Code by Heterogeneous Graph Embeddings

被引:9
作者
Nguyen, Hoang H. [1 ]
Nhat-Minh Nguyen [2 ]
Hong-Phuc Doan [3 ]
Ahmadi, Zahra [1 ]
Thanh-Nam Doan
Jiang, Lingxiao [2 ]
机构
[1] Leibniz Univ Hannover, L3S Res Ctr, Hannover, Germany
[2] Singapore Management Univ, Singapore, Singapore
[3] Hanoi Univ Sci & Technol, Hanoi, Vietnam
来源
PROCEEDINGS OF THE 30TH ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2022 | 2022年
关键词
heterogeneous graphs; graph neural networks; vulnerability detection; smart contracts; Ethereum blockchain;
D O I
10.1145/3540250.3558927
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Smart contracts are increasingly used with blockchain systems for high-value applications. It is highly desired to ensure the quality of smart contract source code before they are deployed. This paper proposes a new deep learning-based tool, MANDO-GURU, that aims to accurately detect vulnerabilities in smart contracts at both coarse-grained contract-level and fine-grained line-level. Using a combination of control-flow graphs and call graphs of Solidity code, we design new heterogeneous graph attention neural networks to encode more structural and potentially semantic relations among different types of nodes and edges of such graphs and use the encoded embeddings of the graphs and nodes to detect vulnerabilities. Our validation of real-world smart contract datasets shows that MANDO-GURU can significantly improve many other vulnerability detection techniques by up to 24% in terms of the F1-score at the contract level, depending on vulnerability types. It is the first learning-based tool for Ethereum smart contracts that identify vulnerabilities at the line level and significantly improves the traditional code analysis-based techniques by up to 63.4%. Our tool is publicly available at https://github.com/MANDO- Project/ge-sc-machine. A test version is currently deployed at http://mandoguru.com, and a demo video of our tool is available at http://mandoguru.com/demo-video.
引用
收藏
页码:1736 / 1740
页数:5
相关论文
共 44 条
[1]  
ApexCharts, 2022, Charts
[2]  
Ashizawa N, 2021, P 3 ACM INT S BLOCKC, P47
[3]   A Survey of Symbolic Execution Techniques [J].
Baldoni, Roberto ;
Coppa, Emilio ;
D'Elia, Daniele Cono ;
Demetrescu, Camil ;
Finocchi, Irene .
ACM COMPUTING SURVEYS, 2018, 51 (03) :1-39
[4]   BGNN4VD: Constructing Bidirectional Graph Neural-Network for Vulnerability Detection [J].
Cao, Sicong ;
Sun, Xiaobing ;
Bo, Lili ;
Wei, Ying ;
Li, Bin .
INFORMATION AND SOFTWARE TECHNOLOGY, 2021, 136
[5]   Deep Learning Based Vulnerability Detection: Are We There Yet? [J].
Chakraborty, Saikat ;
Krishna, Rahul ;
Ding, Yangruibo ;
Ray, Baishakhi .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (09) :3280-3296
[6]  
Checkmarx, 2022, US
[7]   DeepWukong: Statically Detecting Software Vulnerabilities Using Deep Graph Neural Network [J].
Cheng, Xiao ;
Wang, Haoyu ;
Hua, Jiayi ;
Xu, Guoai ;
Sui, Yulei .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2021, 30 (03)
[8]   Static Detection of Control-Flow-Related Vulnerabilities Using Graph Embedding [J].
Cheng, Xiao ;
Wang, Haoyu ;
Hua, Jiayi ;
Zhang, Miao ;
Xu, Guoai ;
Yi, Li ;
Sui, Yulei .
2019 24TH INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS (ICECCS 2019), 2019, :41-50
[9]  
ConsenSys, 2019, MythX Tech: Behind the Scenes of SmartContract Security Analysis
[10]  
Covidence, 2022, About us