Deprecated contract paused but pause reversible by live admin
A governance & admin factor in the v1.7.0 rubric. Measured per protocol on a s cadence.
Methodology how we score #
**What this measures** This factor identifies whether a protocol has formally deprecated a contract but left the pause state on that contract reversible by a currently-live admin role. The deprecated contract is paused — appearing inactive — but the pause is not permanent: an admin can unpause it, restoring its functionality and any attack surface it carries. The factor is populated by on-chain checks of deprecated contracts listed in protocol documentation against their current pause state and who holds the unpause authority.
**Why it matters** Deprecated but unfinalized contracts present an invisible attack surface. Users and monitoring systems may treat a paused deprecated contract as inert, but if a live admin role can unpause it, an attacker who compromises that admin can restore the contract's full functionality. OKX DEX lost $2.7M via a deprecated TokenApprove contract whose admin key had not been revoked — users still had open approvals to the contract, and a single admin action allowed the attacker to drain them. This pattern is distinct from a protocol that has burned or renounced admin on deprecated contracts, which would score green; the risk is specifically the combination of "announced deprecated" and "admin pause is still reversible."
**Green / Yellow / Red** Green is assigned when deprecated contracts have had admin authority renounced or transferred to an immutable address, or when the pause is executed by a burned admin key with no live unpause capability. Yellow covers cases where a timelock of at least 48 hours gates any unpause action on deprecated contracts. Red is assigned when a deprecated contract's pause is reversible by a currently-live admin role with no timelock, effectively leaving the deprecated surface under live admin control.
**Common gray cases** This factor is grayed when no contracts have been deprecated or when the deprecation status cannot be confirmed from public protocol documentation.
**Notable historical examples** No cross-hacked incidents currently linked in database for this factor.
Measurement what to look for #
Determine whether a deprecated-and-paused contract's pause state is revertible by a currently-live admin role.