Do you still need a manual smart contract audit?
Isaac David, Liyi Zhou, Kaihua Qin, Dawn Song, Lorenzo Cavallaro, Arthur Gervais
TL;DR
The paper investigates whether large language models can meaningfully augment security audits of DeFi smart contracts. By evaluating GPT-4-32k and Claude-v1.3-100k on 52 compromised contracts across 38 vulnerability types, the study shows a reachable but imperfect $40\%$ hit rate with substantial false positives, underscoring that human auditors remain essential. Through mutation testing with five synthetic secure contracts, the authors demonstrate that carefully designed prompts and chain-of-thought strategies can yield higher true positives (up to $78.7\%$ in some configurations) and reveal how model temperature and context length influence performance. The work highlights practical prompt-engineering approaches that can streamline audits while acknowledging limitations in coverage and reliability, thereby positioning LLMs as scalable assistants rather than replacements for skilled auditors. Overall, the study contributes to the evolution of smart contract security workflows by enabling rapid, broad-spectrum vulnerability screening and guiding future improvements in robustness and evaluation across diverse datasets.
Abstract
We investigate the feasibility of employing large language models (LLMs) for conducting the security audit of smart contracts, a traditionally time-consuming and costly process. Our research focuses on the optimization of prompt engineering for enhanced security analysis, and we evaluate the performance and accuracy of LLMs using a benchmark dataset comprising 52 Decentralized Finance (DeFi) smart contracts that have previously been compromised. Our findings reveal that, when applied to vulnerable contracts, both GPT-4 and Claude models correctly identify the vulnerability type in 40% of the cases. However, these models also demonstrate a high false positive rate, necessitating continued involvement from manual auditors. The LLMs tested outperform a random model by 20% in terms of F1-score. To ensure the integrity of our study, we conduct mutation testing on five newly developed and ostensibly secure smart contracts, into which we manually insert two and 15 vulnerabilities each. This testing yielded a remarkable best-case 78.7% true positive rate for the GPT-4-32k model. We tested both, asking the models to perform a binary classification on whether a contract is vulnerable, and a non-binary prompt. We also examined the influence of model temperature variations and context length on the LLM's performance. Despite the potential for many further enhancements, this work lays the groundwork for a more efficient and economical approach to smart contract security audits.
