Audius Governance Hack
What happened
On July 23, 2022, an attacker took control of Audius's Ethereum governance and transferred 18,564,497 AUDIO from its community treasury. A proxy storage collision allowed supposedly one-time initialization functions to run again. The roughly $6 million figure values the treasury tokens, not the attacker's proceeds after selling them.
A custom proxy and the implementation's Initializable state used the same storage slot. The collision made the initialization guard ineffective and allowed repeated calls to initialize().
How it happened
- Audius's custom proxy stored its administrator address in slot 0, overlapping the implementation's
Initializableflags and defeating the initialization guard. - The attacker called
initialize()again on governance, staking, and delegation contracts, creating unauthorized voting power. - Malicious proposal 85 passed and transferred the community treasury's AUDIO to the attacker.
Audius blocked the vulnerable paths and patched the contracts. Its postmortem records restoration of staking and delegation on July 26 after additional review.
Protocol details
Evidence
Proof of concept
1 availableSources
- report Twitter/X Alert twitter.com
- report Twitter/X Alert twitter.com
- report Post-mortem rekt.news
- report Audius Governance Takeover Post-Mortem blog.audius.co
- transaction Etherscan: Audius community treasury transfer etherscan.io
- analysis Blog reference blog.audius.co
- analysis Website reference cointelegraph.com
- analysis Website reference cryptonews.com
- analysis News reference news.coincu.com
- analysis DeFiLlama defillama.com
- analysis OpenZeppelin: The Audius Governance Takeover blog.openzeppelin.com
Understand the attack patterns
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.