Program Analysis for High-Value Smart Contract Vulnerabilities: Techniques and Insights
Yannis Smaragdakis, Neville Grech, Sifis Lagouvardos, Konstantinos Triantafyllou, Ilias Tsatiris, Yannis Bollanos, Tony Rocco Valentine

TL;DR
This paper presents advanced static analysis techniques combined with domain knowledge inference to effectively identify high-value vulnerabilities in smart contracts, achieving practical success in real-world security and bug bounty rewards.
Contribution
It introduces a high-completeness static analysis approach and novel methods for inferring domain knowledge from large contract corpora, enabling effective detection of high-value vulnerabilities.
Findings
Achieved over $3M in bug bounty rewards from high-profile contracts.
Developed techniques for automatic domain knowledge inference from statistical analysis.
Demonstrated that high-value vulnerability detection can tolerate high false-positive rates.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
