Zum Inhalt springen
Gegr. MMXXVIBd. VI · № 273RSS
Blockchain Breaches

Ein Archiv von Sicherheitsvorfällen im Kryptobereich — Hacks, Exploits, Bridge-Ausfälle und Rug Pulls, dokumentiert mit On-Chain-Belegen.

Dossier № 098Governance-Angriff

Audius Governance Initializer-Bug

Angreifer nutzte einen Audius-Initializer-Bug, delegierte sich 10 Bio. AUDIO und verabschiedete einen Vorschlag, der 6 Mio. USD aus dem Treasury entzog.

Datum
Opfer
Audius
Chain(s)
Status
Mittel entwendet

Am 23. Juli 2022 verlor die dezentrale Musik-Streaming-Plattform Audius 18,56 Millionen AUDIO-Tokens — etwa 6,05 Millionen US-Dollar wert zu der Zeit — als ein Angreifer eine Schwachstelle im Governance-Vertrags-Initialisierungscode des Protokolls ausnutzte. Der Bug war über zwei separate Audits von OpenZeppelin präsent.

Was geschah

Audius nutzte upgradefähige Governance-Verträge, die sich auf Initializer-Funktionen verließen, um ihren kritischen Zustand zum Deployment-Zeitpunkt zu setzen. Die Initialisierungsfunktionen sollten einmalig sein — genau einmal aufrufbar, vom Vertrags-Deployer, direkt nach dem Deployment.

Der Bug: Der Initializer für einen der Governance-Verträge war unter spezifischen Bedingungen wiederholbar aufrufbar. Der Angreifer rief ihn erneut auf, um die Eigentümerschaft des Vertragszustands zu übernehmen, einschließlich des Delegations- und Staking-Storage, der bestimmte, wer Governance-Stimmrecht hielt.

Mit Kontrolle über den Storage:

  1. Definierte der Angreifer seine Adresse als Halter von 10 Billionen AUDIO an delegierter Stimmkraft neu.
  2. Reichte einen bösartigen Governance-Vorschlag ein, der das gesamte Community-Treasury an ein vom Angreifer kontrolliertes Wallet abzog.
  3. Stimmte mit Ja auf seinen eigenen Vorschlag mit den fabrizierten 10 Billionen Stimmrecht.
  4. Der erste Versuch scheiterte aufgrund eines separaten Problems; der zweite Versuch gelang.
  5. Führte den Vorschlag aus und transferierte 18.564.497 AUDIO aus dem Treasury heraus, tauschte sie dann auf Uniswap gegen 704 ETH (~1,09 Mio. USD). Die verbleibenden Tokens verloren den meisten Wert, da der Markt die Verwässerung einpreiste.

Folgen

  • Audius entdeckte den Exploit etwa 30 Minuten nach dem ersten fehlgeschlagenen Versuch und deployte einen Fix innerhalb einer Stunde.
  • Das Team veröffentlichte ein Post-Mortem und entschädigte betroffene Token-Halter durch eine Kombination aus Treasury-Restrukturierung und Token-Supply-Anpassungen.
  • Die Verträge waren zweimal von OpenZeppelin auditiert worden; keines der Audits fing den wiederholbaren Initializer-Bug.

Warum es wichtig ist

Audius ist der kanonische Fall dafür, warum Initializer-Funktionen gefährliche Primitive sind. Das Muster wiederholt sich im Upgradeable-Proxy-Ökosystem:

  • Parity Multisig (2017) — eine wiederholbar aufrufbare initWallet ermöglichte sowohl den ursprünglichen 30-Mio.-USD-Diebstahl als auch das spätere 150-Mio.-USD-Einfrieren.
  • Audius (2022) — gleiche Ursache, andere Vertragsarchitektur, 6 Mio. USD Verlust.
  • Das Muster erscheint immer wieder, weil die sichere Implementierung (initializer-Modifier, explizite Ownership-Prüfungen, atomares Deployment + Initialisierung) eine zusätzliche Annotation von der unsicheren entfernt ist.

Die tiefere Audius-Lektion ist unbequemer: Zwei Audits einer Top-Firma fingen diesen Bug nicht. Audits bieten sinnvollen, aber nicht absoluten Schutz; formale Verifikation von Initialisierungsmustern und Economic-Invariant-Fuzzing von Governance-Verträgen sind die zusätzlichen defensiven Schichten, die seitdem häufiger geworden sind.

Quellen & On-Chain-Belege

  1. [01]decrypt.cohttps://decrypt.co/105913/how-audius-was-hacked-6m-ethereum-tokens
  2. [02]cryptoslate.comhttps://cryptoslate.com/attackers-stole-6-million-from-audius-by-exploiting-a-bug-in-the-contract/
  3. [03]bleepingcomputer.comhttps://www.bleepingcomputer.com/news/security/hackers-steal-6-million-from-blockchain-music-platform-audius/

Verwandte Einträge