Program Analysis for High-Value Smart Contract Vulnerabilities: Techniques and Insights
By: Yannis Smaragdakis , Neville Grech , Sifis Lagouvardos and more
Potential Business Impact:
Finds big money bugs in online money code.
A widespread belief in the blockchain security community is that automated techniques are only good for detecting shallow bugs, typically of small value. In this paper, we present the techniques and insights that have led us to repeatable success in automatically discovering high-value smart contract vulnerabilities. Our vulnerability disclosures have yielded 10 bug bounties, for a total of over $3M, over high-profile deployed code, as well as hundreds of bugs detected in pre-deployment or under-audit code. We argue that the elements of this surprising success are a) a very high-completeness static analysis approach that manages to maintain acceptable precision; b) domain knowledge, provided by experts or captured via statistical inference. We present novel techniques for automatically inferring domain knowledge from statistical analysis of a large corpus of deployed contracts, as well as discuss insights on the ideal precision and warning rate of a promising vulnerability detector. In contrast to academic literature in program analysis, which routinely expects false-positive rates below 50% for publishable results, we posit that a useful analysis for high-value real-world vulnerabilities will likely flag very few programs (under 1%) and will do so with a high false-positive rate (e.g., 95%, meaning that only one-of-twenty human inspections will yield an exploitable vulnerability).
Similar Papers
Ai-Driven Vulnerability Analysis in Smart Contracts: Trends, Challenges and Future Directions
Cryptography and Security
AI finds hidden bugs in online money contracts.
A Comprehensive Study of Exploitable Patterns in Smart Contracts: From Vulnerability to Defense
Cryptography and Security
Finds and fixes dangerous code in digital money systems.
Attack-Centric by Design: A Program-Structure Taxonomy of Smart Contract Vulnerabilities
Cryptography and Security
Finds hidden bugs in smart contracts.