Ethereum Smart Contract Vulnerability Detection and Machine Learning-Driven Solutions: A Systematic Literature Review
Abstract
:1. Introduction
- The focus is on state-of-the-art machine learning-driven solutions that have been applied for vulnerability detection in SCs. In this respect, 55 journal articles and conference papers published between 2019 and 18 May 2024, will be explored. Moreover, we classify these methods under three different machine learning perspectives (i.e., classical models, deep learning, and ensemble models).
- We underline cutting-edge machine learning-driven frameworks that address the class imbalance issue and unknown vulnerabilities.
- We propose some contemporary open challenges to cover significant gaps when machine learning methods are applied for vulnerability detection.
2. Preliminaries
2.1. Blockchain
2.2. Ethereum
2.3. Smart Contracts
2.4. Vulnerability Detection Tools
2.5. Machine Learning Techniques
2.5.1. Classical Machine Learning Models
2.5.2. Deep Learning Models
2.5.3. Ensemble Learning
Vulnerability | Description |
---|---|
Timestamp Dependency | When a contract employs block variables as a call condition to execute important operations or as a seed for generating random numbers [24,25]. |
Reentrancy | It allows attackers to invoke a specific contract function multiple times while the contract execution remains incomplete, enabling them to manipulate the contract’s behavior or pilfer funds [1,24,25,26]. |
Transaction Ordering Dependency | The attacker can manipulate the order in which transactions occur, thus potentially exploiting the logic of a contract [24,25]. |
tx.origin | A transaction origin attack is a phishing attack that can drain a contract of all funds [1,25,26]. |
Block-hashBlock Number | When the block has a block number, it is utilized to generate randomness by generating random numbers [24,25]. |
Gas Related Issues | The dependency of contract codes on data items that are either provided or manipulated by contract users is what causes these vulnerabilities [24,25]. |
Delegate Call | Using Ethereum virtual machine opcodes maliciously by the callee contract to bring up to date the state variables of the caller’s contract [24,26]. |
Arithmetic UnderflowOverflow | When the result of a mathematical operation exceeds the maximum value that the program can store, an arithmetic underflow is the opposite of an arithmetic overflow [1,24,26]. |
Unchecked Call | When an exception is thrown by the called contract and the return value is not validated, there is a risk of the execution continuing, which could result in unexpected behavior within the contract [1]. |
Self Destruct | The attacker can use the “self destruct” method to kill a contract because of poor authentication in the contract [1,24,26]. |
Access Control | Inadequate authorization or authentication enables the attacker to maliciously access the critical functions [1]. |
Denial of Service | Acting in a malicious manner while receiving a transaction. Enhancing the gas artificially to calculate a function. Exploiting access controls to gain unauthorized entry into private components of SCs [1]. |
VD Tools | Description | Samples |
---|---|---|
Static | These tools use a compliance pattern to check the vulnerability of a contract [4,13]. | Smartcheck, Securify, and Slither |
Symbolic | These tools use symbolic execution to check for the transformation of the memory state [4,13]. | Oyenty and Mythril |
Dynamic | By employing a dynamic tool, the contract’s behavior is continuously monitored during execution to identify and mitigate any potential vulnerabilities or security breaches proactively [4,13]. | Maian and ECFChecker |
Formal Verification | These methods produce proofs based on an abstract “mathematical model” of a system [4,13]. | F* Framework, Isabelle/HOL, and FEther |
Fuzzy Testing | These methods run the SC on the blockchain and fuzz some input to the contract [4,13]. | ContractFuzzer, Echidna, and ILF |
Learning Algorithm | Description |
---|---|
Supervised | It is a type of labeling learning technology that uses a labeled training dataset to construct a model representing the learned relationship between the input and output values. |
Semi-supervised | It is a type of learning technology in which most of the training samples are unlabeled and a few are labeled. |
Unsupervised | It is a machine learning algorithm that uses training datasets without labels. |
Reinforcement | Training algorithms using a system of reward and punishment mechanisms. |
2.6. Class Imbalance
2.6.1. Data-Level Methods
2.6.2. Algorithm-Level Methods
2.6.3. Hybrid Approaches
3. Related Work
Reference | Environment | Review Type | Year of Pub | Selection Process | Taxonomy | Year Covered |
---|---|---|---|---|---|---|
[28] | Security, performance, and applications | SLR | 2019 | clear 1 | ✓ | 2016–2018 |
[29] | Security | survey | 2019 | clear 1 | ✓ | Until Deccember 2018 |
[30] | Applications | SLR | 2019 | clear 1 | ✓ | 2014–April 2018 |
[31] | Security | SLR | 2020 | semi clear 2 | ✓ | 2015–July 2019 |
[32] | Cyber security | SLR | 2020 | clear 1 | April 2018 | |
[33] | Development, test, and security | SLR | 2021 | clear 1 | ✓ | 2016–2020 |
[34] | Technical aspect, future directions | survey | 2021 | not clear 3 | Until 2020 | |
[4] | Difficulties and future trends | review | 2022 | not clear 3 | Until 2022 | |
[13] | Analysis tools | SLR | 2022 | semi clear 4 | ✓ | 2016–December 2021 |
[35] | Vulnerability detection and machine learning | survey | 2022 | not clear 3 | Until 2021 | |
[36] | Vulnerability detection tools within Web 3.0 | survey | 2023 | not clear 3 | ✓ | 2011–2023 |
[14] | Security threats, collaborative defense | review | 2023 | not clear 3 | 2018–2023 | |
[37] | Vulnerability detection | survey | 2023 | not clear 3 | Until 2023 | |
[38] | Platforms, applications, and challenges | review | 2023 | clear 1 | ✓ | 2015–May 2020 |
Reference | Database | Keywords | # Papers | |||||||
---|---|---|---|---|---|---|---|---|---|---|
Google Scholar | IEEE | ScienceDirect | Springer | Wiley | Taylor & Francis | ACM | Other | |||
[28] | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | Smart contract, contract, chaincode | 90 | ||
[29] | ✓ | ✓ | ✓ | ✓ | ✓ | Smart contract, security, verification | 53 | |||
[30] | ✓ 1 | Blockchain, application | 260 | |||||||
[31] | ✓ | Smart contract, Dapps, token, EVM, security | - | |||||||
[32] | ✓ | ✓ | ✓ | ✓ | ✓ | Blockchain, block-chain, distributed ledger, security | 30 | |||
[33] | ✓ | ✓ | ✓ | ✓ | Blockchain, smart contract, Ethereum | 96 | ||||
[13] | ✓ | ✓ | ✓ | ✓ | - | 132 | ||||
[38] | ✓ | ✓ | ✓ | ✓ | Smart contract, smart contract applications, smart contract tools, smart contract platforms, smart contract challenges, blockchain | 183 |
Reference | Research Questions |
---|---|
[28] | 1: What are the security problems with SCs, and how can we address them? 2: What methods are applied to improve the performance of SCs? |
[31] | 1: How is the existing security state-of-play for SCs? 2: How do you design countermeasures to the identified security challenges? 3: When and where are these studies about SC security published? 4: What are potential future research challenges? |
[32] | 1: What are the latest blockchain applications focused on security? 2: How is blockchain used to improve cyber security? 3: What methods are available for blockchain solutions to manage security without requiring a cryptocurrency token? |
[13] | 1: What are the static analysis tools available for Ethereum blockchain SCs? 2: Which dynamic analysis tools are available for the Ethereum blockchain SC? 3: For Ethereum blockchain SCs, what kind of analysis approaches are employed by static/dynamic analysis tools? 4: What are the five most common vulnerabilities detected by analysis tools? |
[38] | 1: How can available platforms support SC development? 2: What are the presented decentralized applications, which mainly discuss SC design and implementation? 3: What are the challenges that relate to the application of SCs? 4: What are the solutions to the identified challenges? |
4. Methodology
4.1. Research Questions (RQ)
- RQ1: What machine learning-driven techniques are used in vulnerability detection tools?
- RQ2: What machine learning-driven vulnerability detection tools have addressed the class imbalance issue?
- RQ3: What machine learning-driven vulnerability detection tools have addressed unknown vulnerabilities?
4.2. Selection of Primary Studies
4.3. Inclusion and Exclusion Criteria
4.4. Selection Results
- IEEE: 57 results.
- ScienceDirect: 12 results.
- Springer: 29 results.
- ACM: 7 results.
- Wiley: 3 results.
- Taylor & Francis: 3 results.
5. Taxonomy of Machine Learning-Driven Solutions for Vulnerability Detection
5.1. Machine Learning Models
5.1.1. Classical Machine Learning Models
5.1.2. Deep Learning Models
5.1.3. Ensemble Learning Models
5.2. Class Imbalance Issue
5.3. Unknown Vulnerabilities
6. Comparison
6.1. RQ1: What Machine Learning-Driven Techniques Are Used in Vulnerability Detection Tools?
6.2. What Machine Learning-Driven Vulnerability Detection Tools Have Addressed the Class Imbalance Issue or Unknown Vulnerabilitis?
7. Discussion
8. Conclusions and Future Work
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Liao, J.-W.; Tsai, T.-T.; He, C.-K.; Tien, C.-W. Soliaudit: Smart contract vulnerability assessment based on machine learning and fuzz testing. In Proceedings of the 2019 Sixth International Conference on Internet of Things: Systems, Management and Security (IOTSMS), Granada, Spain, 22–25 October 2019; IEEE: New York, NY, USA, 2019; pp. 458–465. [Google Scholar]
- Feng, X.; Liu, H.; Wang, L.; Zhu, H.; Sheng, V.S. An Interpretable Model for Large-Scale Smart Contract Vulnerability Detection. SSRN 4572174. Available online: https://ssrn.com/abstract=4572174 (accessed on 23 February 2024).
- Wu, H.; Dong, H.; He, Y.; Duan, Q. Smart contract vulnerability detection based on hybrid attention mechanism model. Appl. Sci. 2023, 13, 770. [Google Scholar] [CrossRef]
- Wu, C.; Xiong, J.; Xiong, H.; Zhao, Y.; Yi, W. A review on recent progress of smart contract in blockchain. IEEE Access 2022, 10, 50839–50863. [Google Scholar] [CrossRef]
- Qian, S.; Ning, H.; He, Y.; Chen, M. Multi-label vulnerability detection of smart contracts based on Bi-LSTM and attention mechanism. Electronics 2022, 11, 3260. [Google Scholar] [CrossRef]
- Sayeed, S.; Marco-Gisbert, H.; Caira, T. Smart contract: Attacks and protections. IEEE Access 2020, 8, 24416–24427. [Google Scholar] [CrossRef]
- Sujeetha, R.; Akila, K. Improving Coverage and Vulnerability Detection in Smart Contract Testing Using Self-Adaptive Learning GA. IETE J. Res. 2023, 1–14. [Google Scholar] [CrossRef]
- Ndiaye, M.; Konate, K. Security strengths and weaknesses of blockchain smart contract system: A survey. Int. J. Inf. Commun. Eng. 2022, 16, 134–143. [Google Scholar]
- Wu, H.; Zhang, Z.; Wang, S.; Lei, Y.; Lin, B.; Qin, Y.; Zhang, H.; Mao, X. Peculiar: Smart contract vulnerability detection based on crucial data flow graph and pre-training techniques. In Proceedings of the 2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE), Wuhan, China, 25–28 October 2021; IEEE: New York, NY, USA, 2021; pp. 378–389. [Google Scholar]
- Singh, U.K.; Joshi, C.; Kanellopoulos, D. A framework for zero-day vulnerabilities detection and prioritization. J. Inf. Secur. Appl. 2019, 46, 164–172. [Google Scholar] [CrossRef]
- Liu, Y.; Yu, F.R.; Li, X.; Ji, H.; Leung, V.C. Blockchain and machine learning for communications and networking systems. IEEE Commun. Surv. Tutor. 2020, 22, 1392–1431. [Google Scholar] [CrossRef]
- Wang, M.; Xie, Z.; Wen, X.; Li, J.; Zhou, K. Ethereum smart contract vulnerability detection model based on triplet loss and BiLSTM. Electronics 2023, 12, 2327. [Google Scholar] [CrossRef]
- Kushwaha, S.S.; Joshi, S.; Singh, D.; Kaur, M.; Lee, H.-N. Ethereum smart contract analysis tools: A systematic review. IEEE Access 2022, 10, 57037–57062. [Google Scholar] [CrossRef]
- Li, X.; Cheng, J.; Shi, Z.; Liu, J.; Zhang, B.; Xu, X.; Tang, X.; Sheng, V.S. Blockchain Security Threats and Collaborative Defense: A Literature Review; Tech Science Press: Nanjing, China, 2023. [Google Scholar]
- Fei, J.; Chen, X.; Zhao, X. MSmart: Smart Contract Vulnerability Analysis and Improved Strategies Based on Smartcheck. Appl. Sci. 2023, 13, 1733. [Google Scholar] [CrossRef]
- Gao, C.; Yang, W.; Ye, J.; Xue, Y.; Sun, J. sGuard+: Machine Learning Guided Rule-Based Automated Vulnerability Repair on Smart Contracts; ACM Transactions on Software Engineering and Methodology: New York, NY, USA, 2024. [Google Scholar]
- Szabo, N. Formalizing and Securing Relationships on Public Networks; First Monday: Canton, TX, USA, 1997. [Google Scholar]
- Luu, L.; Chu, D.-H.; Olickel, H.; Saxena, P.; Hobor, A. Making smart contracts smarter. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, 24–28 October 2016; pp. 254–269. [Google Scholar]
- Hu, B.; Zhang, Z.; Liu, J.; Liu, Y.; Yin, J.; Lu, R.; Lin, X. A comprehensive survey on smart contract construction and execution: Paradigms, tools, and systems. Patterns 2021, 2, 100179. [Google Scholar] [CrossRef] [PubMed]
- Lashkari, B.; Musilek, P. Evaluation of Smart Contract Vulnerability Analysis Tools: A Domain-Specific Perspective. Information 2023, 14, 533. [Google Scholar] [CrossRef]
- Xing, C.; Chen, Z.; Chen, L.; Guo, X.; Zheng, Z.; Li, J. A new scheme of vulnerability analysis in smart contract with machine learning. Wirel. Netw. 2020, 1–10. [Google Scholar] [CrossRef]
- Zhang, Z.; Lei, Y.; Yan, M.; Yu, Y.; Chen, J.; Wang, S.; Mao, X. Reentrancy vulnerability detection and localization: A deep learning based two-phase approach. In Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering, Rochester, MI, USA, 10–14 October 2022; pp. 1–13. [Google Scholar]
- Lakshminarayana, K.; Sathiyamurthy, K. Towards auto contract generation and ensemble-based smart contract vulnerability detection. Int. J. Electr. Comput. Eng. Syst. 2022, 13, 747–757. [Google Scholar] [CrossRef]
- Wang, W.; Song, J.; Xu, G.; Li, Y.; Wang, H.; Su, C. Contractward: Automated vulnerability detection models for ethereum smart contracts. IEEE Trans. Netw. Sci. Eng. 2020, 8, 1133–1144. [Google Scholar] [CrossRef]
- Colin, L.S.H.; Mohan, P.M.; Pan, J.; Keong, P.L.K. An Integrated Smart Contract Vulnerability Detection Tool Using Multi-layer Perceptron on Real-time Solidity Smart Contracts. IEEE Access 2024, 12, 23549–23567. [Google Scholar] [CrossRef]
- Momeni, P.; Wang, Y.; Samavi, R. Machine learning model for smart contracts security analysis. In Proceedings of the 2019 17th International Conference on Privacy, Security and Trust (PST), Fredericton, NB, Canada, 26–28 August 2019; IEEE: New York, NY, USA, 2019; pp. 1–6. [Google Scholar]
- Kiani, R.; Jin, W.; Sheng, V.S. Survey on extreme learning machines for outlier detection. Mach. Learn. 2024, 1–37. [Google Scholar] [CrossRef]
- Rouhani, S.; Deters, R. Security, performance, and applications of smart contracts: A systematic survey. IEEE Access 2019, 7, 50759–50779. [Google Scholar] [CrossRef]
- Liu, J.; Liu, Z. A survey on security verification of blockchain smart contracts. IEEE Access 2019, 7, 77894–77904. [Google Scholar] [CrossRef]
- Casino, F.; Dasaklis, T.K.; Patsakis, C. A systematic literature review of blockchain-based applications: Current status, classification and open issues. Telemat. Inform. 2019, 36, 55–81. [Google Scholar] [CrossRef]
- Wang, Z.; Jin, H.; Dai, W.; Choo, K.-K.R.; Zou, D. Ethereum smart contract security research: Survey and future research opportunities. Front. Comput. Sci. 2021, 15, 1–18. [Google Scholar] [CrossRef]
- Taylor, P.J.; Dargahi, T.; Dehghantanha, A.; Parizi, R.M.; Choo, K.-K.R. A systematic literature review of blockchain cyber security. Digit. Commun. Netw. 2020, 6, 147–156. [Google Scholar] [CrossRef]
- Vacca, A.; Di Sorbo, A.; Visaggio, C.A.; Canfora, G. A systematic literature review of blockchain and smart contract development: Techniques, tools, and open challenges. J. Syst. Softw. 2021, 174, 110891. [Google Scholar] [CrossRef]
- Hewa, T.M.; Hu, Y.; Liyanage, M.; Kanhare, S.S.; Ylianttila, M. Survey on blockchain-based smart contracts: Technical aspects and future research. IEEE Access 2021, 9, 87643–87662. [Google Scholar] [CrossRef]
- Sürücü, O.; Yeprem, U.; Wilkinson, C.; Hilal, W.; Gadsden, S.A.; Yawney, J.; Alsadi, N.; Giuliano, A. A survey on ethereum smart contract vulnerability detection using machine learning. Disrupt. Technol. Inf. Sci. VI 2022, 12117, 110–121. [Google Scholar]
- Li, H.; Dang, R.; Yao, Y.; Wang, H. A Review of Approaches for Detecting Vulnerabilities in Smart Contracts within Web 3.0 Applications. Blockchains 2023, 1, 3–18. [Google Scholar] [CrossRef]
- Porkodi, S.; Kesavaraja, D. Smart contract: A survey towards extortionate vulnerability detection and security enhancement. Wirel. Netw. 2023, 1–20. [Google Scholar] [CrossRef]
- Sharma, P.; Jindal, R.; Borah, M.D. A review of smart contract-based platforms, applications, and challenges. Clust. Comput. 2023, 26, 395–421. [Google Scholar] [CrossRef]
- Moher, D.; Liberati, A.; Tetxlaff, J.; Altman, D.G.; The PRISMA Group. Preferred reporting items for systematic reviews and meta-analyses: The PRISMA statement. Ann. Intern. Med. 2009, 151, 264–269. [Google Scholar] [CrossRef] [PubMed]
- Li, P.; Wang, G.; Xing, X.; Li, X.; Zhu, J. Detecting unknown vulnerabilities in smart contracts using opcode sequences. Connect. Sci. 2024, 36, 2313853. [Google Scholar] [CrossRef]
- Ashizawa, N.; Yanai, N.; Cruz, J.P.; Okamura, S. Eth2vec: Learning contract-wide code representations for vulnerability detection on ethereum smart contracts. In Proceedings of the 3rd ACM International Symposium on Blockchain and Secure Critical Infrastructure, Virtual Event Hong Kong, 7 June 2021; pp. 47–59. [Google Scholar]
- Xu, Y.; Hu, G.; You, L.; Cao, C. A novel machine learning-based analysis model for smart contract vulnerability. Secur. Commun. Netw. 2021, 2021, 5798033. [Google Scholar] [CrossRef]
- Yang, H.; Zhang, J.; Gu, X.; Cui, Z. Smart contract vulnerability detection based on abstract syntax tree. In Proceedings of the 2022 8th International Symposium on System Security, Safety, and Reliability (ISSSR), Chongqing, China, 27–28 October 2022; IEEE: New York, NY, USA, 2022; pp. 169–170. [Google Scholar]
- Eshghie, M.; Artho, C.; Gurov, D. Dynamic vulnerability detection on smart contracts using machine learning. In Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering, Trondheim, Norway, 21–23 June 2021; pp. 305–312. [Google Scholar]
- Tang, X.; Du, Y.; Lai, A.; Zhang, Z.; Shi, L. Deep learning-based solution for smart contract vulnerabilities detection. Sci. Rep. 2023, 13, 20106. [Google Scholar] [CrossRef] [PubMed]
- Jain, V.K.; Tripathi, M. An integrated deep learning model for Ethereum smart contract vulnerability detection. Int. J. Inf. Secur. 2024, 23, 557–575. [Google Scholar] [CrossRef]
- Shen, X.; Li, M. Smart Contract Reentrancy Vulnerability Detection Method Based on Deep Learning Hybrid Model. In Proceedings of the 2023 5th International Conference on Artificial Intelligence and Computer Applications (ICAICA), Dalian, China, 28–30 November 2023; IEEE: New York, NY, USA, 2023; pp. 33–36. [Google Scholar]
- Demir, H.O.; Parlat, S.Z.; Gumus, A. Ethereum Blockchain Smart Contract Vulnerability Detection Using Deep Learning. In Proceedings of the 2023 7th International Symposium on Innovative Approaches in Smart Technologies (ISAS), Istanbul, Turkey, 23–25 November 2023; IEEE: New York, NY, USA, 2023; pp. 1–5. [Google Scholar]
- Han, D.; Li, Q.; Zhang, L.; Xu, T. A smart contract vulnerability detection model based on graph neural networks. In Proceedings of the 2022 4th International Conference on Frontiers Technology of Information and Computer (ICFTIC), Qingdao, China, 2–4 December 2022; IEEE: New York, NY, USA, 2022; pp. 834–837. [Google Scholar]
- Zhu, H.; Yang, K.; Wang, L.; Xu, Z.; Sheng, V.S. GraBit: A Sequential Model-Based Framework for Smart Contract Vulnerability Detection. In Proceedings of the 2023 IEEE 34th International Symposium on Software Reliability Engineering (ISSRE), Florence, Italy, 9–12 October 2023; IEEE: New York, NY, USA, 2023; pp. 568–577. [Google Scholar]
- Chen, W.; Guo, R.; Wang, G.; Zhang, L.; Qiu, J.; Su, S.; Liu, Y.; Xu, G.; Chen, H. Smart contract vulnerability detection model based on siamese network. In Proceedings of the International Conference on Smart Computing and Communication, New York, NY, USA, 18–20 November 2022; Springer: Cham, Switzerland, 2022; pp. 639–648. [Google Scholar]
- Zhang, L.; Wang, J.; Wang, W.; Jin, Z.; Su, Y.; Chen, H. Smart contract vulnerability detection combined with multi-objective detection. Comput. Netw. 2022, 217, 109289. [Google Scholar] [CrossRef]
- Hwang, S.-J.; Choi, S.-H.; Shin, J.; Choi, Y.-H. CodeNet: Code-targeted convolutional neural network architecture for smart contract vulnerability detection. IEEE Access 2022, 10, 32595–32607. [Google Scholar] [CrossRef]
- Zhou, Q.; Zheng, K.; Zhang, K.; Hou, L.; Wang, X. Vulnerability analysis of smart contract for blockchain-based IoT applications: A machine learning approach. IEEE Int. Things J. 2022, 9, 24695–24707. [Google Scholar] [CrossRef]
- Mittal, A.; Widjaja, G.; Pecho, R.D.C.; Kiruba, R.; Roque, J.M.F.; Chandra, A. Blockchain Based Abstract Syntax Tree to Detect Vulnerability in IOT-Enabled Smart Contract. In Proceedings of the 2023 Second International Conference on Smart Technologies For Smart Nation (SmartTechCon), Singapore, 18–19 August 2023; IEEE: New York, NY, USA, 2023; pp. 270–275. [Google Scholar]
- Feng, M.; Mi, W.; Zhang, X.; Chen, B.; Huang, M. A Smart Contract Vulnerability Detection Model Based on Multi-Type Features and Pre-Training Techniques. In Proceedings of the 2023 IEEE 23rd International Conference on Software Quality, Reliability, and Security Companion (QRS-C), Chiang Mai, Thailand, 22–26 October 2023; IEEE: New York, NY, USA, 2023; pp. 280–289. [Google Scholar]
- Liang, J.; Zhai, Y. SCGRU: A Model for Ethereum Smart Contract Vulnerability Detection Combining CNN and BiGRU-Attention. In Proceedings of the 2023 8th International Conference on Signal and Image Processing (ICSIP), Wuxi, China, 8–10 July 2023; IEEE: New York, NY, USA, 2023; pp. 831–837. [Google Scholar]
- Zhou, K.; Cheng, J.; Li, H.; Yuan, Y.; Liu, L.; Li, X. SC-VDM: A lightweight smart contract vulnerability detection model. In Proceedings of the Data Mining and Big Data: 6th International Conference, DMBD 2021, Guangzhou, China, 20–22 October 2021; Proceedings, Part I 6. Springer: Singapore, 2021; pp. 138–149. [Google Scholar]
- Zeng, S.; Zhang, H.; Wang, J.; Shi, K. SolGPT: A GPT-Based Static Vulnerability Detection Model for Enhancing Smart Contract Security. In Proceedings of the International Conference on Algorithms and Architectures for Parallel Processing, Tianjin, China, 20–22 October 2023; Springer: Singapore, 2023; pp. 42–62. [Google Scholar]
- Cai, J.; Li, B.; Zhang, J.; Sun, X.; Chen, B. Combine sliced joint graph with graph neural networks for smart contract vulnerability detection. J. Syst. Softw. 2023, 195, 111550. [Google Scholar] [CrossRef]
- Chen, D.; Feng, L.; Fan, Y.; Shang, S.; Wei, Z. Smart contract vulnerability detection based on semantic graph and residual graph convolutional networks with edge attention. J. Syst. Softw. 2023, 202, 111705. [Google Scholar] [CrossRef]
- Liu, H.; Fan, Y.; Feng, L.; Wei, Z. Vulnerable Smart Contract Function Locating Based on Multi-Relational Nested Graph Convolutional Network. J. Syst. Softw. 2023, 204, 111775. [Google Scholar] [CrossRef]
- Liu, Z.; Qian, P.; Wang, X.; Zhuang, Y.; Qiu, L.; Wang, X. Combining graph neural networks with expert knowledge for smart contract vulnerability detection. IEEE Trans. Knowl. Data Eng. 2021, 35, 1296–1310. [Google Scholar] [CrossRef]
- Zhen, Z.; Zhao, X.; Zhang, J.; Wang, Y.; Chen, H. DA-GNN: A smart contract vulnerability detection method based on Dual Attention Graph Neural Network. Comput. Netw. 2024, 242, 110238. [Google Scholar] [CrossRef]
- Nguyen, H.H.; Nguyen, N.-M.; Xie, C.; Ahmadi, Z.; Kudendo, D.; Doan, T.-N.; Jiang, L. MANDO-HGT: Heterogeneous Graph Transformers for Smart Contract Vulnerability Detection. In Proceedings of the 2023 IEEE/ACM 20th International Conference on Mining Software Repositories (MSR), Melbourne, Australia, 15–16 May 2023; IEEE: New York, NY, USA, 2023; pp. 334–346. [Google Scholar]
- Xiong, H.; Zhong, Y.; Wu, C.; Yi, W.; Zhao, Y. A Multi-code Representation Fusion Smart Contract Vulnerability Line Detection Method Based on Graph Neural Network. In Proceedings of the 2023 11th International Conference on Information Systems and Computing Technology (ISCTech), Qingdao, China, 30 July–1 August 2023; IEEE: New York, NY, USA, 2023; pp. 28–33. [Google Scholar]
- Wang, Z.; Wu, W.; Zeng, C.; Yao, J.; Yang, Y.; Xu, H. Smart contract vulnerability detection for educational blockchain based on graph neural networks. In Proceedings of the 2022 International Conference on Intelligent Education and Intelligent Research (IEIR), Wuhan, China, 18–20 December 2022; IEEE: New York, NY, USA, 2022; pp. 8–14. [Google Scholar]
- Wang, Z.; Zheng, Q.; Sun, Y. Gvd-net: Graph embedding-based machine learning model for smart contract vulnerability detection. In Proceedings of the 2022 International Conference on Algorithms, Data Mining, and Information Technology (ADMIT), Xi’an, China, 23–25 September 2022; IEEE: New York, NY, USA, 2022; pp. 99–103. [Google Scholar]
- Lin, X.; Zhou, M.; Cao, S.; Wang, J.; Sun, X. The Best of Both Worlds: Integrating Semantic Features with Expert Features for Smart Contract Vulnerability Detection. In Proceedings of the International Conference on Blockchain and Trustworthy Systems, Haikou, China, 8–10 August 2023; Springer: Singapore, 2023; pp. 17–31. [Google Scholar]
- Wei, Z.; Zheng, W.; Su, X.; Tao, W.; Wang, T. A Graph Neural Network-Based Smart Contract Vulnerability Detection Method with Artificial Rule. In Proceedings of the International Conference on Artificial Neural Networks, Crete, Greece, 26–29 September 2023; Springer: Cham, Switzerland, 2023; pp. 241–252. [Google Scholar]
- Zou, L.; Gong, C.; Wu, Z.; Tan, J.; Tang, J.; Jiang, Z.; Li, D. A General Smart Contract Vulnerability Detection Framework with Self-attention Graph Pooling. In Proceedings of the International Conference on Blockchain and Trustworthy Systems, Haikou, China, 8–10 August 2023; Springer: Singapore, 2023; pp. 3–16. [Google Scholar]
- Liu, Z.; Jiang, M.; Zhang, S.; Zhang, J.; Liu, Y. A smart contract vulnerability detection mechanism based on deep learning and expert rules. IEEE Access 2023, 11, 77990–77999. [Google Scholar] [CrossRef]
- Ren, X.; Wu, Y.; Li, J.; Hao, D.; Alam, M. Smart contract vulnerability detection based on a semantic code structure and a self-designed neural network. Comput. Electr. Eng. 2023, 109, 108766. [Google Scholar] [CrossRef]
- Xu, G.; Liu, L.; Zhou, Z. Reentrancy vulnerability detection of smart contract based on bidirectional sequential neural network with hierarchical attention mechanism. In Proceedings of the 2022 International Conference on Blockchain Technology and Information Security (ICBCTIS), Huaihua City, China, 15–17 July 2022; IEEE: New York, NY, USA, 2022; pp. 56–59. [Google Scholar]
- Qian, P.; Liu, Z.; He, Q.; Zimmermann, R.; Wang, X. Towards automated reentrancy detection for smart contracts based on sequential models. IEEE Access 2020, 8, 19685–19695. [Google Scholar] [CrossRef]
- Zhou, K.; Cheng, J.; Liu, L.; Sheng, V.S. HuntFlow: Search the Arithmetic Vulnerability in Ethereum Smart Contract. In Proceedings of the International Conference on Artificial Intelligence and Security, Qinghai, China, 15–20 July 2022; Springer: Cham, Switzerland, 2022; pp. 158–168. [Google Scholar]
- Hu, Z.; Tsai, W.-T.; Zhang, L. Smart-contract vulnerability detection method based on deep learning. In Proceedings of the International Conference on Smart Computing and Communication, New York, NY, USA, 18–20 November 2022; Springer: Cham, Switzerland, 2022; pp. 450–460. [Google Scholar]
- Wang, B.; Chu, H.; Zhang, P.; Dong, H. Smart contract vulnerability detection using code representation fusion. In Proceedings of the 2021 28th Asia-Pacific Software Engineering Conference (APSEC), Taipei, Taiwan, 6–9 December 2021; IEEE: New York, NY, USA, 2021; pp. 564–565. [Google Scholar]
- Vu, D.; Nguyen, T.; Tong, V.; Souihil, S. Enhancing Multi-Label Vulnerability Detection of Smart Contract Using Language Model. In Proceedings of the 2023 5th Conference on Blockchain Research & Applications for Innovative Networks and Services (BRAINS), Paris, France, 11–13 October 2023; IEEE: New York, NY, USA, 2023; pp. 1–4. [Google Scholar]
- Zeng, S.; Chen, R.; Zhang, H.; Wang, J. A High-Performance Smart Contract Vulnerability Detection Scheme Based on BERT. In Proceedings of the 2023 IEEE 29th International Conference on Parallel and Distributed Systems (ICPADS), Ocean Flower Island, China, 17–21 December 2023; IEEE: New York, NY, USA, 2023; pp. 653–658. [Google Scholar]
- Narayana, K.L.; Sathiyamurthy, K. Automation and smart materials in detecting smart contracts vulnerabilities in Blockchain using deep learning. Mater. Today Proc. 2023, 81, 653–659. [Google Scholar] [CrossRef]
- Li, N.; Liu, Y.; Li, L.; Wang, Y. Smart contract vulnerability detection based on deep and cross network. In Proceedings of the 2022 3rd International Conference on Computer Vision, Image and Deep Learning & International Conference on Computer Engineering and Applications (CVIDL & ICCEA), Changchun, China, 20–22 May 2022; IEEE: New York, NY, USA, 2022; pp. 533–536. [Google Scholar]
- Chen, Y.; Sun, Z.; Gong, Z.; Hao, D. Improving Smart Contract Security with Contrastive Learning-based Vulnerability Detection. In Proceedings of the IEEE/ACM 46th International Conference on Software Engineering, Lisbon, Portugal, 14–20 April 2024; pp. 1–11. [Google Scholar]
- Song, S.; Yu, X.; Ma, Y.; Li, J.; Yu, J. Multi-model Smart Contract Vulnerability Detection Based on BiGRU. In Proceedings of the International Conference on Neural Information Processing, Changsha, China, 20–23 November 2023; Springer: Singapore, 2023; pp. 3–14. [Google Scholar]
- Qin, S.-J.; Liu, Z.; Ren, F.; Tan, C. Smart contract vulnerability detection based on critical combination path and deep learning. In Proceedings of the 2022 12th International Conference on Communication and Network Security, Beijing, China, 1–3 December 2022; pp. 219–226. [Google Scholar]
- Qian, P.; Liu, Z.; Yin, Y.; He, Q. Cross-modality mutual learning for enhancing smart contract vulnerability detection on bytecode. In Proceedings of the ACM Web Conference 2023, Austin, TX, USA, 30 April–4 May 2023; pp. 2220–2229. [Google Scholar]
- JJ, L.; Singh, K.; Chakravarthi, B. Digital forensic framework for smart contract vulnerabilities using ensemble models. Multimed. Tools Appl. 2024, 83, 51469–51512. [Google Scholar] [CrossRef]
- Ma, C.; Liu, S.; Xu, G. HGAT: Smart contract vulnerability detection method based on hierarchical graph attention network. J. Cloud Comput. 2023, 12, 93. [Google Scholar] [CrossRef]
- Huang, M.; Yang, J.; Liu, C. CDRF: A Detection Method of Smart Contract Vulnerability Based on Random Forest. In Proceedings of the International Conference on Provable Security, Wuhan, China, 20–22 October 2023; Springer: Cham, Switzerland, 2023; pp. 407–428. [Google Scholar]
- Zhang, X.; Li, J.; Wang, X. Smart contract vulnerability detection method based on bi-lstm neural network. In Proceedings of the 2022 IEEE International Conference on Advances in Electrical Engineering and Computer Applications (AEECA), Dalian, China, 20–21 August 2022; IEEE: New York, NY, USA, 2022; pp. 38–41. [Google Scholar]
- Liu, Z.; Qian, P.; Yang, J.; Liu, L.; Xu, X.; He, Q.; Zhang, X. Rethinking smart contract fuzzing: Fuzzing with invocation ordering and important branch revisiting. IEEE Trans. Inf. Forensics Secur. 2023, 18, 1237–1251. [Google Scholar] [CrossRef]
- Durieux, T.; Ferreira, J.F.; Abreu, R.; Cruz, P. Empirical review of automated analysis tools on 47,587 ethereum smart contracts. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, Seoul, Republic of Korea, 5–11 October 2020; pp. 530–541. [Google Scholar]
- Zhuang, Y.; Liu, Z.; Qian, P.; Liu, Q.; Wang, X.; He, Q. Smart contract vulnerability detection using graph neural networks. In Proceedings of the Twenty-Ninth International Conference on International Joint Conferences on Artificial Intelligence, Yokohama, Japan, 7–15 January 2021; pp. 3283–3290. [Google Scholar]
- Bengio, Y.; Louradour, J.; Collobert, R.; Weston, J. Curriculum learning. In Proceedings of the 26th Annual International Conference on Machine Learning, Montreal, QC, Canada, 14–18 June 2009; pp. 41–48. [Google Scholar]
Model Type | References |
---|---|
Supervised Models | [26,40,41,42,43,44] |
Deep Learning Models | [45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,89,90] |
Ensemble Models | [24,87,88] |
Supervised and Deep Learning | [21] |
All Models | [25] |
Models | References |
---|---|
Classical Models | |
RF | [21,24,25,26,41,43,44,87,89] |
SVM | [24,25,26,43,44,89] |
KNN | [24,26,40,42,44] |
DT | [26,40,44,87] |
LR | [40,44] |
SGD | [52] |
NB | [44] |
Deep Learning Models | |
ANN | [21,25,26,44,61,79,81] |
CNN | [21,45,46,47,49,52,53,54,55,56,57,58,59] |
GNN | [29,49,51,60,61,62,63,64,65,66,67,68,70,71,88] |
Autoencoder | [81] |
LSTM | [25,45,47,48,50,69,73,74,75,76,83,89,90] |
Bi-GRU | [46] |
BERT | [45,50,79] |
Other | [51,82,83,84,85,86] 1−2−3−4−5−6 |
Ensemble Models | |
Bagging | [87] |
GBoost | [87] |
XGBoost | [24,25,87,89] 7 |
AdaBoost | [24,89] |
Reference | Method Name | # VD | Unknown VD | Dataset | Balanced Dataset |
---|---|---|---|---|---|
[26] | - | 46 | Etherscan 1 | ||
[21] | RFBOOF | 3 | -- | ||
[24] | CotractWard | 6 | Etherscan 1 | ✓ | |
[42] | - | 8 | SolidiFI 2, SmartBugs 3, SmartBugs-wilds 4 | ||
[52] | MODNN | 12 | ✓ | Etherscan 1, SolidiFI 2, SmartBugs-wilds 4, EDAUB 5, Xblock 6 | ✓ |
[53] | CodeNet | 4 | SolidiFI 2, SmartBugs 3 | ||
[54] | TMLVD | 5 | Etherscan 1 | ||
[60] | GNN | 9 | SolidiFI 2, Smartbugs-wilds 4, smartbugd-cuarted 7, HuanGai 8 | ✓ | |
[61] | SG and EA-RGCN | 4 | SmartBugs 3 | ||
[62] | MRNG | 3 | SmartBugs 3 | ||
[81] | - | 3 | Known_Attacks 9 | ||
[73] | Blass | 4 | Data are confidential | ||
[63] | CGE | 3 | Etherscan 1, VSC 10 | ||
[72] | - | 4 | Etherscan 1 | ||
[46] | - | 13 | Smartbugs-wilds 4 | ✓ | |
[87] | 6 | Etherscan 1, SmartBugs 3, Blockchain 11, Positive 12 | ✓ | ||
[88] | HGAT | 6 | SmartBugs-wilds 4 | ||
[45] | Lightning Cat | 4 | SolidiFI 2 | ||
[64] | DA-GNN | 3 | *, ** | ||
[25] | - | 7 | SolidiFI 2, *** | ✓ | |
[40] | - | 7 | ✓ | Etherscan 1 | |
[65] | MANDO-HGT | 7 | ✓ | SolidiFI 2, SmartBugs 3, SmartBugs-wilds 4 | |
[43] | - | 3 | Etherscan 1 | ||
[55] | - | 1 | SmartBugs-wilds 4 | ||
[66] | FBB-VD | - | Etherscan 1, SolidiFI2, SmartBugs 3 | ||
[47] | - | 1 | Etherscan 1, SmartBugs 3 | ||
[74] | HAM-BiLSTM | 1 | Etherscan 1 | ||
[90] | - | 4 | Not mentioned | ||
[79] | - | 4 | Etherscan 1 | ||
[48] | - | 1 | Etherscan 1 | ||
[82] | Link-DC | 2 | Etherscan 1 | ||
[56] | SETT | 2 | [91] | ||
[80] | SCVulBERT | 3 | Smart-Contract-Dataset | ||
[57] | SCGRU | 6 | SmartBugs 3 | ||
[83] | Clear | 3 | [86] | ||
[78] | AFS | 1 | Github, Gitter chat room 13, Karl 14 | ||
[49] | - | 4 | Eth2Vec [41] | ||
[50] | GraBit | 1 | Smartbugs-wilds 4 | ||
[67] | - | 1 | Etherscan 1 | ||
[75] | BLSTM_ATT | 1 | RSC, RCS | ||
[68] | GVD-net | 10 | Smartbugs-wilds 4 | ||
[76] | HuntFlow | 1 | [92] | ||
[77] | - | 4 | Etherscan1, Eth2Vec [41] | ||
[69] | SmartFuSE | 3 | ESC and VSC [63,93] | ||
[51] | SCVSN | 1 | SolidiFI 2, Smartbugs-wilds 4 | ||
[89] | CDRF | 4 | Etherscan 1 | ||
[70] | - | 4 | ESC and VSC [63,93] | ||
[71] | SAGP | 2 | ✓ | SmartBugs 3, [63] | |
[84] | BiGRU | 5 | Etherscan 1, +, ++ | ✓ | |
[58] | SC-VDM | 4 | Etherscan 1 | ||
[59] | SolGPT | 4 | +++ | ||
[41] | Eth2Vec | 7 | Etherscan1 | ||
[44] | Dynamit | 1 | Etherscan1 | ||
[85] | - | 4 | # | ||
[86] | - | 4 | ## |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Kiani, R.; Sheng, V.S. Ethereum Smart Contract Vulnerability Detection and Machine Learning-Driven Solutions: A Systematic Literature Review. Electronics 2024, 13, 2295. https://doi.org/10.3390/electronics13122295
Kiani R, Sheng VS. Ethereum Smart Contract Vulnerability Detection and Machine Learning-Driven Solutions: A Systematic Literature Review. Electronics. 2024; 13(12):2295. https://doi.org/10.3390/electronics13122295
Chicago/Turabian StyleKiani, Rasoul, and Victor S. Sheng. 2024. "Ethereum Smart Contract Vulnerability Detection and Machine Learning-Driven Solutions: A Systematic Literature Review" Electronics 13, no. 12: 2295. https://doi.org/10.3390/electronics13122295
APA StyleKiani, R., & Sheng, V. S. (2024). Ethereum Smart Contract Vulnerability Detection and Machine Learning-Driven Solutions: A Systematic Literature Review. Electronics, 13(12), 2295. https://doi.org/10.3390/electronics13122295