Fluid verloor $215K nadat één aanvaller beide beloningsdistributiesleutels controleerde, tokens wegsifonende via valse Merkle-wortels en opbrengsten naar Tornado Cash leidde.
De beloningstokens waren al weg. Op 27 mei duwde een aanvaller die beide operationele ondertekeningssleutels van Fluid bezat, een valse beloningslijst naar de Merkle-distributeurs van het protocol op Ethereum, Base en Arbitrum.
Fluid, het op Ethereum gebaseerde DeFi-protocol, gebruikt een tweestappensysteem voor het distribueren van beloningen: één sleutel stelt een Merkle-wortel voor en een tweede sleutel keurt deze goed. Zoals BlackHartInc op X meldde, werden beide rollen door één enkele actor vervuld. De tweepersoonscontrole betekende niets zodra één persoon beide sleutels bezat.
Eén Persoon, Twee Sleutels, Nul Weerstand
De voorsteller-sleutel diende om 21:11:11 UTC een zelfzuchtige wortel in bij de FLUID-distributeur. Twaalf seconden later keurde dezelfde aanvaller deze goed met de goedkeuringssleutel. Vierentwintig seconden na het eerste voorstel werd een claim verwerkt met een leeg Merkle-bewijs.
Dat lege bewijs was geen bug. Een beloningslijst met één item produceert een wortel die gelijk is aan het enige blad, dus er is geen bewijspad nodig. Het contract verifieerde het correct. Er brak niets in het slimme contract. Volgens forensische analyse door BlackHart was de hele fout operationele sleutelbewaring.
Dezelfde voorstel-goedkeur-claimcyclus werd vervolgens uitgevoerd tegen de GHO-distributeur om 21:13:59 UTC en een derde distributeur voor een klein cbBTC-bedrag uren later. Over alle drie de ketens liep de aanvaller weg met ongeveer 125.109 FLUID en 51.946 GHO, plus sporen cbBTC.
Wat het Protocol Werkelijk Verliet, en Wat Niet
Fluid’s uitleenmarkten, kluizen en DEX-liquiditeit vielen nooit onder het bereik van deze sleutels. De leeggehaalde contracten waren alleen beloningsdistributeurs. 0xfluid op X bevestigde dat de kern slimme contracten van het protocol onaangetast bleven en dat gebruikersfondsen niet in gevaar waren door het incident.
De gestolen FLUID en GHO werden omgeruild voor ongeveer 103 ether via de MetaMask swap-router. Ongeveer 142,6 ETH belandde in Tornado Cash, deels via relay-wallets en deels via directe storting. L2-opbrengsten van Base en Arbitrum werden teruggebracht naar Ethereum voordat ze werden gemengd.
Een grote opname van ergens tussen $70 en $110 miljoen uit Fluid in de dagen erna was geen tweede exploit. Dat waren storters die hun eigen geld weghaalden, een vertrouwensgedreven bankrun. Niet gerelateerd aan de diefstal zelf, maar niet geheel ongerelateerd aan de timing van de openbaarmaking.
De Opruiming, en Wat Niet Werd Gezegd
Ongeveer tien uur na de eerste diefstal, op 28 mei om 07:05 UTC, verwijderde het Fluid-team de gecompromitteerde voorsteller- en goedkeuringsrollen van tien beloningsdistributeurs in één gebundelde transactie. Ongeveer 314.000 FLUID en 7.400 USDC aan resterende beloningssaldi verhuisden naar een veilig adres.
Publieke communicatie van het team beschreef alleen een pauze voor het claimen van beloningen voor updates. Geen melding van een sleutelcompromis. Geen melding van een verlies. De exploit zelf kwam op 31 mei openbaar naar buiten, vier dagen nadat het gebeurde, toen één uitlener al $77 miljoen aan USDC had opgenomen vanaf 28 mei.
Pablo Veyrat, mede-oprichter van Merkl, sprak over de episode op X. Over de ontwerpkeuzes van zijn eigen protocol sprekend, merkte Veyrat op X op dat Merkl drie onafhankelijke geschilbots draait op volledig aparte infrastructuur, die elk nieuwe Merkle-bomen verifiëren voordat een wortel van kracht wordt, met een minimale vertraging van één uur tussen het plaatsen van een nieuwe wortel en eventuele claims die ertegen worden gedaan.
Waarom een Tijdslot Hier Alles Verandert
De hele exploit verliep in minder dan 24 seconden van voorstel tot claim. Die snelheid was alleen mogelijk omdat er geen vertraging bestond tussen wortelgoedkeuring en uitbetaling. Admin-sleutelexploits hebben DeFi dit jaar herhaaldelijk getroffen, en het patroon blijft terugkomen op dezelfde kloof: bevoorrechte sleutels zonder wrijving tussen toegang en actie.
BlackHart’s beoordeling markeerde operationele beveiliging als het enige zwakste scoregebied in zijn pre-hack evaluatie van Fluid. De exacte faalmodus, twee sleutels die konden worden omgezet in een uitbetaling zonder een onafhankelijke bewaarder of een wachttijd, was precies waar de score voor waarschuwde. Operationele sleutelcompromissen zijn niet nieuw in 2026, maar de Fluid-zaak voegt een specifieke nuance toe: het tweesleutelontwerp leek een veiligheidsmaatregel totdat het door één persoon werd bezeten.
De portemonnee van de aanvaller, 0x4925120c…1d3dfb, claimde binnen ongeveer dezelfde minuut over ketens heen. Geen snelheidslimiet begrensde wat een enkele cyclus kon vrijgeven. Geen real-time waarschuwing ving de abnormale activiteit op tot uren later.




Geef een reactie