A new implementation reorders, removes, or inserts state variables relative to the prior one. After upgrade, existing storage maps to the wrong variables, silently corrupting balances and permissions.
// Append-only; reserve gaps: uint256[50] private __gap; // in each upgradeable base contract
Largest recorded losses in the same failure class — related, not the same bug:
The SaferICO scanner runs 201 detectors over your Solidity source, SAFE-0034 among them. Paste an address or the source itself — a small per-scan fee, shown before you sign, or unlimited on any plan.