NumScout: Unveiling Numerical Defects in Smart Contracts using LLM-Pruning Symbolic Execution

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Chen, Jiachi, Shao, Zhenzhe, Yang, Shuo, Shen, Yiming, Wang, Yanlin, Chen, Ting, Shan, Zhenyu, Zheng, Zibin
Format: Preprint
Veröffentlicht: 2025
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866912272768565248
author Chen, Jiachi
Shao, Zhenzhe
Yang, Shuo
Shen, Yiming
Wang, Yanlin
Chen, Ting
Shan, Zhenyu
Zheng, Zibin
author_facet Chen, Jiachi
Shao, Zhenzhe
Yang, Shuo
Shen, Yiming
Wang, Yanlin
Chen, Ting
Shan, Zhenyu
Zheng, Zibin
contents In recent years, the Ethereum platform has witnessed a proliferation of smart contracts, accompanied by exponential growth in total value locked (TVL). High-TVL smart contracts often require complex numerical computations, particularly in mathematical financial models used by many decentralized applications (DApps). Improper calculations can introduce numerical defects, posing potential security risks. Existing research primarily focuses on traditional numerical defects like integer overflow, and there is currently a lack of systematic research and effective detection methods targeting new types of numerical defects. In this paper, we identify five new types of numerical defects through the analysis of 1,199 audit reports by utilizing the open card method. Each defect is defined and illustrated with a code example to highlight its features and potential consequences. We also propose NumScout, a symbolic execution-based tool designed to detect these five defects. Specifically, the tool combines information from source code and bytecode, analyzing key operations such as comparisons and transfers, to effectively locate defects and report them based on predefined detection patterns. Furthermore, NumScout uses a large language model (LLM) to prune functions which are unrelated to numerical operations. This step allows symbolic execution to quickly enter the target function and improve runtime speed by 28.4%. We run NumScout on 6,617 real-world contracts and evaluated its performance based on manually labeled results. We find that 1,774 contracts contained at least one of the five defects, and the tool achieved an overall precision of 89.7%.
format Preprint
id arxiv_https___arxiv_org_abs_2503_10041
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle NumScout: Unveiling Numerical Defects in Smart Contracts using LLM-Pruning Symbolic Execution
Chen, Jiachi
Shao, Zhenzhe
Yang, Shuo
Shen, Yiming
Wang, Yanlin
Chen, Ting
Shan, Zhenyu
Zheng, Zibin
Software Engineering
In recent years, the Ethereum platform has witnessed a proliferation of smart contracts, accompanied by exponential growth in total value locked (TVL). High-TVL smart contracts often require complex numerical computations, particularly in mathematical financial models used by many decentralized applications (DApps). Improper calculations can introduce numerical defects, posing potential security risks. Existing research primarily focuses on traditional numerical defects like integer overflow, and there is currently a lack of systematic research and effective detection methods targeting new types of numerical defects. In this paper, we identify five new types of numerical defects through the analysis of 1,199 audit reports by utilizing the open card method. Each defect is defined and illustrated with a code example to highlight its features and potential consequences. We also propose NumScout, a symbolic execution-based tool designed to detect these five defects. Specifically, the tool combines information from source code and bytecode, analyzing key operations such as comparisons and transfers, to effectively locate defects and report them based on predefined detection patterns. Furthermore, NumScout uses a large language model (LLM) to prune functions which are unrelated to numerical operations. This step allows symbolic execution to quickly enter the target function and improve runtime speed by 28.4%. We run NumScout on 6,617 real-world contracts and evaluated its performance based on manually labeled results. We find that 1,774 contracts contained at least one of the five defects, and the tool achieved an overall precision of 89.7%.
title NumScout: Unveiling Numerical Defects in Smart Contracts using LLM-Pruning Symbolic Execution
topic Software Engineering
url https://arxiv.org/abs/2503.10041