We've recently developed a tool called UPC Sentinel can be used to precisely detect upgradeable smart contracts. Specifically UPC Sentinel is able to detect:
- i) Proxy contracts.
- ii) Whether they are used for upgradeability,
- iii) The specific reference implementation they are based on (e.g., ERC-1967, ERC-1822, ERC-2535 Diamonds, Transparent, Beacon, Registry etc.),
- iv) All implementation/logic contracts they have ever interacted with.
Notably, UPC Sentinel does not require access to the source code, making it especially useful for analyzing closed-source smart contracts.
You can find more technical details in the following recently published paper here: 🔗 https://link.springer.com/article/10.1007/s10664-024-10609-7
And the GitHub repository is available here: 💻 https://github.com/SAILResearch/replication-24-amir-upc_sentinel
Feel free to check it out or reach out if you have any questions