Official MASTR logo MASTR Support the work
Contents
← Wiki home

Wallets & security

Upgradeable proxies: the address can stay while the rules change

A proxy separates the location holding state from the implementation supplying execution logic.

Technical reference · upgrade authority · 1 min read

Research articles and reference entries are published in English. Navigation is available in seven languages.

In this article
  1. Delegated execution
  2. What an old audit cannot settle
  3. Sources and originals

Delegated execution

A proxy can forward calls to an implementation using delegated execution. The implementation's code runs in the proxy's context, so users can keep interacting with the same address while the implementation changes. Different proxy designs place the upgrade mechanism in different locations.

OpenZeppelin documents transparent and UUPS patterns, among others. Their existence is not a vulnerability by itself. The review question is who can replace the implementation, how authorisation works and whether the new logic remains compatible with the existing state.

What an old audit cannot settle

A report about implementation A cannot automatically cover implementation B deployed later. The proxy's familiar address can conceal that change from a casual user. A token badge or explorer verification label is equally incomplete unless it identifies which code and permissions were reviewed.

Record the implementation, administrator, timelock and any emergency route at the relevant block. Follow audit scope over time and storage layout to assess a later upgrade. A useful change log names the actual deployment and authority change rather than merely announcing a new product version.

Sources and originals

Related reading

MASTR

Support independent research

The investigations, original evidence and guides here are free to read. Voluntary donations help fund the research and keep MASTR’s tools available.

Open wallet