UEChecker: Detecting Unchecked External Call Vulnerabilities in DApps via Graph Analysis
Dechao Kong, Xiaoqi Li, Wenkai Li
TL;DR
This work tackles the challenge of detecting unchecked external call vulnerabilities in DApps, where cross-contract interactions complicate security auditing. It introduces UEChecker, a Graph Convolutional Network–based framework that operates on call graphs derived from source code via Surya, incorporating edge prediction, node aggregation, and a Conformer Block to capture multi-scale dependencies. In experiments on 608 DApps, UEChecker achieves 87.59% accuracy and outperforms LSTM, GAT, and GCN baselines, with strong recall and precision. The approach demonstrates the practical potential of graph-based learning for cross-contract vulnerability detection and contributes a reproducible pipeline for DApp security auditing.
Abstract
The increasing number of attacks on the contract layer of DApps has resulted in economic losses amounting to $66 billion. Vulnerabilities arise when contracts interact with external protocols without verifying the results of the calls, leading to exploit entry points such as flash loan attacks and reentrancy attacks. In this paper, we propose UEChecker, a deep learning-based tool that utilizes a call graph and a Graph Convolutional Network to detect unchecked external call vulnerabilities. We design the following components: An edge prediction module that reconstructs the feature representation of nodes and edges in the call graph; A node aggregation module that captures structural information from both the node itself and its neighbors, thereby enhancing feature representation between nodes and improving the model's understanding of the global graph structure; A Conformer Block module that integrates multi-head attention, convolutional modules, and feedforward neural networks to more effectively capture dependencies of different scales within the call graph, extending beyond immediate neighbors and enhancing the performance of vulnerability detection. Finally, we combine these modules with Graph Convolutional Network to detect unchecked external call vulnerabilities. By auditing the smart contracts of 608 DApps, our results show that our tool achieves an accuracy of 87.59% in detecting unchecked external call vulnerabilities. Furthermore, we compare our tool with GAT, LSTM, and GCN baselines, and in the comparison experiments, UEChecker consistently outperforms these models in terms of accuracy.
