Smart contracts are programs that automate agreements between parties without the need for intermediaries. Embedded in a blockchain, they ensure transparency, immutability, and trustworthiness. While efficient, their immutable nature and reliance on internet-connected nodes make them susceptible to attacks. Identifying vulnerabilities before deployment is critical to mitigate risks, prevent catastrophic events, and avoid significant financial losses. This paper introduces a method for detecting vulnerabilities in smart contracts written in Solidity and deployed on the Ethereum blockchain. The approach models a smart contract as an Abstract State Machine (ASM), where the absence of specific vulnerabilities is encoded as invariants. An existing symbolic execution technique for ASM models was extended and improved to enable the processing of the ASM models of the smart contracts. By symbolically executing the ASM, the method identifies faulty execution paths that violate these invariants, exposing potential vulnerabilities in the contract’s behavior. Vulnerable execution scenarios of the smart contract can be generated using the symbolic execution results. As a proof of concept, we show the approach on a running case study, the Auction smart contract. Furthermore, we discuss the results of applying the technique to a number of Solidity smart contracts.
Using Symbolic Model Execution to Detect Vulnerabilities of Smart Contracts / C. Braghin, G. Del Castillo, E. Riccobene, S. Valentini (LECTURE NOTES IN COMPUTER SCIENCE). - In: Rigorous State-Based Methods[s.l] : Springer, 2026. - ISBN 9783031945328. - pp. 31-51 (( 11. ABZ International Conference on Rigorous State-Based Method : June, 10 – 13 Düsseldorf (Germany) 2025 [10.1007/978-3-031-94533-5_3].
Using Symbolic Model Execution to Detect Vulnerabilities of Smart Contracts
C. BraghinPrimo
;E. Riccobene
Penultimo
;S. ValentiniUltimo
2026
Abstract
Smart contracts are programs that automate agreements between parties without the need for intermediaries. Embedded in a blockchain, they ensure transparency, immutability, and trustworthiness. While efficient, their immutable nature and reliance on internet-connected nodes make them susceptible to attacks. Identifying vulnerabilities before deployment is critical to mitigate risks, prevent catastrophic events, and avoid significant financial losses. This paper introduces a method for detecting vulnerabilities in smart contracts written in Solidity and deployed on the Ethereum blockchain. The approach models a smart contract as an Abstract State Machine (ASM), where the absence of specific vulnerabilities is encoded as invariants. An existing symbolic execution technique for ASM models was extended and improved to enable the processing of the ASM models of the smart contracts. By symbolically executing the ASM, the method identifies faulty execution paths that violate these invariants, exposing potential vulnerabilities in the contract’s behavior. Vulnerable execution scenarios of the smart contract can be generated using the symbolic execution results. As a proof of concept, we show the approach on a running case study, the Auction smart contract. Furthermore, we discuss the results of applying the technique to a number of Solidity smart contracts.| File | Dimensione | Formato | |
|---|---|---|---|
|
ABZ2025-7.pdf
accesso aperto
Tipologia:
Pre-print (manoscritto inviato all'editore)
Licenza:
Publisher
Dimensione
425.29 kB
Formato
Adobe PDF
|
425.29 kB | Adobe PDF | Visualizza/Apri |
|
978-3-031-94533-5_3.pdf
accesso riservato
Tipologia:
Publisher's version/PDF
Licenza:
Nessuna licenza
Dimensione
729.39 kB
Formato
Adobe PDF
|
729.39 kB | Adobe PDF | Visualizza/Apri Richiedi una copia |
Pubblicazioni consigliate
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.




