$215K aus Fluid gestohlen: Angreifer kontrolliert beide Schlüssel im Merkle Rewards System
Crypto Scams

$215K aus Fluid gestohlen: Angreifer kontrolliert beide Schlüssel im Merkle Rewards System

Von germanlbn

Fluid verlor 215.000 $, nachdem ein Angreifer beide Schlüssel zur Belohnungsverteilung kontrollierte, Token durch gefälschte Merkle-Wurzeln abzog und die Erlöse an Tornado Cash weiterleitete.

Die Belohnungstoken waren bereits weg. Am 27. Mai schob ein Angreifer, der beide operativen Signaturschlüssel von Fluid besaß, eine gefälschte Belohnungsliste an die Merkle-Distributoren des Protokolls auf Ethereum, Base und Arbitrum.

Fluid, das auf Ethereum basierende DeFi-Protokoll, verwendet ein zweistufiges System zur Verteilung von Belohnungen: Ein Schlüssel schlägt eine Merkle-Wurzel vor, und ein zweiter Schlüssel genehmigt sie. Wie BlackHartInc auf X berichtete, wurden beide Rollen von einem einzigen Akteur ausgeübt. Die Zweipersonenkontrolle bedeutete nichts, sobald eine Person beide Schlüssel besaß.

Eine Person, zwei Schlüssel, kein Widerstand

Der Vorschlagschlüssel übermittelte um 21:11:11 UTC eine eigennützige Wurzel an den FLUID-Distributor. Zwölf Sekunden später genehmigte derselbe Angreifer sie mit dem Genehmigungsschlüssel. Vierundzwanzig Sekunden nach dem ersten Vorschlag wurde ein Anspruch mit einem leeren Merkle-Nachweis durchgeführt.

Dieser leere Nachweis war kein Fehler. Eine Belohnungsliste mit einem einzigen Eintrag erzeugt eine Wurzel, die ihrem einzigen Blatt entspricht, sodass kein Nachweispfad erforderlich ist. Der Vertrag hat es korrekt verifiziert. Nichts am Smart Contract ist kaputtgegangen. Laut forensischer Analyse von BlackHart war das gesamte Versagen die operative Schlüsselverwahrung.

Derselbe Vorschlag-Genehmigung-Anspruch-Zyklus lief dann um 21:13:59 UTC gegen den GHO-Distributor und Stunden später gegen einen dritten Distributor für eine kleine cbBTC-Menge. Auf allen drei Chains erbeutete der Angreifer ungefähr 125.109 FLUID und 51.946 GHO sowie Spuren von cbBTC.

Was tatsächlich das Protokoll verließ und was nicht

Fluids Kreditmärkte, Tresore und DEX-Liquidität waren für diese Schlüssel nie relevant. Die geleerten Verträge waren ausschließlich Belohnungsdistributoren. 0xfluid auf X bestätigte, dass die Kern-Smart-Contracts des Protokolls nicht betroffen waren und Benutzergelder durch den Vorfall nicht gefährdet waren.

Die gestohlenen FLUID und GHO wurden über den MetaMask-Swap-Router gegen etwa 103 Ether getauscht. Ungefähr 142,6 ETH landeten in Tornado Cash, teilweise über Relay-Wallets und teilweise per Direkteinzahlung weitergeleitet. L2-Erlöse von Base und Arbitrum wurden vor dem Mischen zurück nach Ethereum gebrückt.

Ein großer Abzug von irgendwo zwischen 70 und 110 Millionen Dollar von Fluid in den folgenden Tagen war kein zweiter Exploit. Das waren Einleger, die ihre eigenen Gelder abzogen, ein vertrauensgetriebener Bankrun. Nicht direkt mit dem Diebstahl selbst verbunden, wenn auch nicht ganz unabhängig vom Zeitpunkt der Offenlegung.

Die Bereinigung und was nicht gesagt wurde

Etwa zehn Stunden nach dem ersten Diebstahl, am 28. Mai um 07:05 UTC, entfernte das Fluid-Team die kompromittierten Vorschlags- und Genehmigungsrollen von zehn Belohnungsdistributoren in einer einzigen gebündelten Transaktion. Rund 314.000 FLUID und 7.400 USDC der verbleibenden Belohnungsguthaben wurden an eine sichere Adresse verschoben.

Öffentliche Mitteilungen des Teams beschrieben lediglich eine Pause bei der Belohnungsforderung für Updates. Keine Erwähnung einer Schlüsselkompromittierung. Keine Erwähnung eines Verlustes. Der Exploit selbst wurde am 31. Mai öffentlich, vier Tage nachdem er passiert war, als ein Kreditgeber bereits ab dem 28. Mai 77 Millionen US-Dollar in USDC abgezogen hatte.

Pablo Veyrat, Mitbegründer von Merkl, sprach die Episode auf X an. In Bezug auf die Designentscheidungen seines eigenen Protokolls merkte Veyrat auf X an, dass Merkl drei unabhängige Streit-Bots auf vollständig getrennter Infrastruktur betreibt, die jeweils neue Merkle-Bäume verifizieren, bevor eine Wurzel wirksam wird, mit einer Mindestverzögerung von einer Stunde zwischen dem Posten einer neuen Wurzel und der Geltendmachung von Ansprüchen dagegen.

Warum eine Zeitsperre hier alles verändert

Der gesamte Exploit lief in weniger als 24 Sekunden vom Vorschlag bis zum Anspruch. Diese Geschwindigkeit war nur möglich, weil es keine Verzögerung zwischen der Genehmigung der Wurzel und der Auszahlung gab. Admin-Key-Exploits haben DeFi in diesem Jahr wiederholt getroffen, und das Muster kommt immer wieder auf dieselbe Lücke zurück: privilegierte Schlüssel ohne Reibung zwischen Zugriff und Aktion.

BlackHarts Bewertung kennzeichnete die operative Sicherheit als den schwächsten Bewertungsbereich in seiner Vor-Hack-Bewertung von Fluid. Genau die Fehlerart – zwei Schlüssel, die ohne einen unabhängigen Verwahrer oder eine Wartezeit in eine Auszahlung umgewandelt werden konnten – war das, wovor die Bewertung bereits warnte. Kompromittierungen operativer Schlüssel sind im Jahr 2026 nichts Neues, aber der Fluid-Fall fügt eine besondere Nuance hinzu: Das Zwei-Schlüssel-Design sah wie eine Sicherheitsmaßnahme aus, bis es von einer Person gehalten wurde.

Die Wallet des Angreifers, 0x4925120c…1d3dfb, reichte innerhalb derselben Minute Ansprüche über mehrere Chains ein. Keine Geschwindigkeitsbegrenzung beschränkte, was ein einzelner Zyklus freisetzen konnte. Keine Echtzeitwarnung erfasste die abnormale Aktivität bis Stunden später.

germanlbn

Über den Autor

germanlbn

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert