Validating Solidity Code Defects using Symbolic and Concrete Execution powered by Large Language Models
By: Ştefan-Claudiu Susan, Andrei Arusoaie, Dorel Lucanu
Potential Business Impact:
Finds bugs in online money code.
The high rate of false alarms from static analysis tools and Large Language Models (LLMs) complicates vulnerability detection in Solidity Smart Contracts, demanding methods that can formally or empirically prove the presence of defects. This paper introduces a novel detection pipeline that integrates custom Slither-based detectors, LLMs, Kontrol, and Forge. Our approach is designed to reliably detect defects and generate proofs. We currently perform experiments with promising results for seven types of critical defects. We demonstrate the pipeline's efficacy by presenting our findings for three vulnerabilities -- Reentrancy, Complex Fallback, and Faulty Access Control Policies -- that are challenging for current verification solutions, which often generate false alarms or fail to detect them entirely. We highlight the potential of either symbolic or concrete execution in correctly classifying such code faults. By chaining these instruments, our method effectively validates true positives, significantly reducing the manual verification burden. Although we identify potential limitations, such as the inconsistency and the cost of LLMs, our findings establish a robust framework for combining heuristic analysis with formal verification to achieve more reliable and automated smart contract auditing.
Similar Papers
NATLM: Detecting Defects in NFT Smart Contracts Leveraging LLM
Cryptography and Security
Finds hidden flaws in digital art money.
Architecting software monitors for control-flow anomaly detection through large language models and conformance checking
Software Engineering
Finds hidden computer mistakes before they cause problems.
TraceLLM: Security Diagnosis Through Traces and Smart Contracts in Ethereum
Cryptography and Security
Finds hidden money theft in digital contracts.