Why this is a brand-new 2026 category
OWASP added Proxy & Upgradeability to the Top 10 for 2026 because 2025 was the year uninitialized ERC1967 proxies stopped being a theoretical concern and became an automated campaign. Bots scanned EVM chains for uninitialized implementations, became the owner, and either drained funds immediately or planted a dormant backdoor implementation for activation months later.
How the 2025 incidents played out
-
Kinto Protocol (Jul 2025) lost $1.55M when an uninitialized ERC1967 proxy was claimed by an attacker who installed a malicious implementation. The activation was delayed, which made the incident harder to detect during initial monitoring.
-
ResupplyFi (2025) lost $9.8M - explicitly called out by OWASP's data-sources page as the SC10 archetype.
-
A multi-protocol uninitialized-proxy campaign in 2025 aggregated $10M+ across smaller protocols - automated scanning + delayed backdoor activation.
The six failure modes
OWASP's category covers six patterns:
-
Unprotected
upgrade()/upgradeTo()allowing arbitrary implementation swap. -
Re-initialization attacks that reset ownership or configuration.
-
Storage collision between proxy and implementation layers.
-
Initialization via
delegatecallwith attacker-controlled parameters. -
Dormant backdoors planted in a malicious implementation, activated later.
-
Uninitialized ERC1967 proxies discovered by automated scanning.
How AI auditors handle this category
This is one of the deployment-state categories - the bug often is not in the code but in how the code was deployed. AI auditors handle the source-level patterns (proxy detection, unprotected upgrade functions, missing _disableInitializers) well. They struggle with deployment-state questions: Is the multisig correctly configured? Does the timelock match what the audit report assumed? Was the new implementation deployed with the correct storage layout? These are the questions the SCH course teaches because they are the ones that still need human auditors.