Proxion: Uncovering Hidden Proxy Smart Contracts for Finding Collision Vulnerabilities in Ethereum
Cheng-Kang Chen, Wen-Yi Chu, Muoi Tran, Laurent Vanbever, Hsu-Chun Hsiao
TL;DR
Proxion tackles the blind spots of prior proxy-detection tools by employing dynamic EVM emulation and bytecode analysis to identify proxy contracts without source code or transaction history. It then traces associated logic contracts and performs collision checks for both function and storage dimensions, using Slither when source code is available and opcode-based extraction when not. The approach achieves high coverage on tens of millions of Ethereum contracts, uncovers millions of proxy-logic pairs, and reveals substantial collision risk across major actors, with accuracy that surpasses state-of-the-art methods. This work significantly improves the security visibility of upgradeable proxies, enabling safer interaction with and governance of Ethereum smart contracts at scale.
Abstract
The proxy design pattern allows Ethereum smart contracts to be simultaneously immutable and upgradeable, in which an original contract is split into a proxy contract containing the data storage and a logic contract containing the implementation logic. This architecture is known to have security issues, namely function collisions and storage collisions between the proxy and logic contracts, and has been exploited in real-world incidents to steal users' millions of dollars worth of digital assets. In response to this concern, several previous works have sought to identify proxy contracts in Ethereum and detect their collisions. However, they all fell short due to their limited coverage, often restricting analysis to only contracts with available source code or past transactions. To bridge this gap, we present Proxion, an automated cross-contract analyzer that identifies all proxy smart contracts and their collisions in Ethereum. What sets Proxion apart is its ability to analyze hidden smart contracts that lack both source code and past transactions. Equipped with various techniques to enhance efficiency and accuracy, Proxion outperforms the state-of-the-art tools, notably identifying millions more proxy contracts and thousands of unreported collisions. We apply Proxion to analyze over 36 million alive contracts from 2015 to 2023, revealing that 54.2% of them are proxy contracts, and about 1.5 million contracts exhibit at least one collision issue.
