Flashloan-aanval kaapt bestuur van X100 en schept 4,85 miljoen dollar weg
Belangrijkste punten
- •Aanvallers leenden circa 1,94 miljoen USDT via een Aave-flashloan, kochten 38.200 X-tokens en zetten deze in via twee nieuw ingezette contracten om binnen één transactie twee van de drie zetels in de besturende Senate van X100 te veroveren.
- •Omdat de bestuurscontracten van X100 nieuw geregistreerde senatoren toestonden voorstellen in dezelfde transactie uit te voeren, kon de aanvaller treasury- en liquiditeitsactiva opnemen zonder timelock of wachttijd.
- •De eerste opbrengsten van circa 4,75 miljoen dollar werden via UniswapX omgezet in ongeveer 2.022 ETH, waarna 1.600 ETH werd verdeeld over vier nieuw aangemaakte wallets met elk 400 ETH.
- •De X-token daalde volgens CoinGecko-gegevens met meer dan 96%, hoewel de extreem dunne resterende liquiditeit de weergegeven prijs tot een onbetrouwbare maat voor de realiseerbare marktwaarde maakt.
- •Ten tijde van de beoordeling door Blockaid op 24 oktober bleven circa 12,2 miljoen X in het Freezer-contract achter, en er was geen terugvordering van middelen, contractherstel of compensatieregeling bekendgemaakt.

X100, een op Ethereum gebaseerd DeFi-project, verloor op 24 oktober ongeveer 4,85 miljoen dollar in USDT nadat aanvallers met flash loans de controle over het bestuurssysteem overnamen en kwaadaardige voorstellen uitvoerden tegen de treasury en de liquiditeitsreserves van het project.
Door twee van de drie zetels in de besturende Senate van X100 te veroveren, konden de aanvallers transacties goedkeuren en uitvoeren zonder op enige bestuursvertraging te wachten. De eerste aanval leverde circa 4,75 miljoen dollar op, en aanvullende opnames brachten het totale verlies op 4,85 miljoen dollar.
Het blockchainbeveiligingsbedrijf Blockaid sloeg de lopende exploit om 14:49 UTC alarm in een X-post, waarbij meerdere kwaadaardige transacties werden geïdentificeerd die gericht waren op het Freezer-contract van het protocol. Een latere update van het bedrijf wees op ongeveer 550.000 extra X-tokens die waren weggehaald uit een Uniswap-liquiditeitspositie, terwijl circa 12,2 miljoen X in de Freezer achterbleef.
Flash loan bezorgt aanvallers meerderheid in de Senate
De eerste aanval begon om 14:11 UTC, toen een wallet circa 1,94 miljoen USDT leende via een Aave-flashloan en de middelen gebruikte om 38.200 X-tokens te kopen. De aanvaller verdeelde de tokens over twee nieuw ingezette contracten, die elk iets meer dan 19.000 X inzetten in het Freezer-systeem van X100. Die stortingen verdrongen bestaande Senate-leden en gaven de aanvaller de controle over twee van de drie zetels van het bestuursorgaan.
Met de vereiste meerderheid veiliggesteld, diende de aanvaller een voorstel in en voerde dit onmiddellijk uit, waarmee de treasury werd gedwongen 400.000 X te verkopen in een nieuw aangemaakte PancakeSwap V3-liquiditeitspool. Omdat de gemanipuleerde pool slechts een kleine hoeveelheid USDT bevatte, verkreeg de aanvaller de treasury-tokens voor circa 35,68 USDT voordat de liquiditeit werd opgenomen.
Vervolgens verkocht de aanvaller ongeveer .703 X via een bestaande Uniswap V3-pool en ontving daarmee circa 6,69 miljoen USDT. Na het terugbetalen van de flashloan leverde de transactie circa 4,75 miljoen dollar op.
De exploit was mogelijk omdat de bestuurscontracten van X100 nieuw geregistreerde senatoren toestonden om binnen dezelfde blockchaintransactie te stemmen en voorstellen uit te voeren. Flash loans, die onderpandloos lenen mogelijk maken dat binnen één transactie moet worden terugbetaald, gaven de aanvaller het tijdelijke kapitaal dat nodig was om stemrecht te verwerven. Het protocol miste een effectieve wachttijd tussen het verkrijgen van bestuursbevoegdheid en het uitoefenen van controle over de treasury-activa. Timelocks die de uitvoering van een voorstel uitstellen tot een later blok zijn een veelgebruikte beveiliging in DeFi-besturing juist omdat ze tokenhouders tijd geven om te reageren — en te exiten — voordat transacties die de treasury raken van kracht worden. Het X100-incident laat zien hoe, in token-gewogen bestuurssystemen, het stemmechanisme zelf het aanvalsoppervlak kan worden, zelfs wanneer de token- en treasury-contracten van een protocol niet rechtstreeks worden geëxploiteerd.
Opbrengsten omgezet in ether
De eerste opbrengsten werden snel omgewisseld voor circa 2.022 ETH via UniswapX, waarna de verkregen cryptocurrency naar een andere Ethereum-wallet werd overgemaakt. Dat adres verdeelde vervolgens 1.600 ETH over vier nieuw aangemaakte wallets, die elk 400 ETH ontvingen, terwijl circa 423 ETH achterbleef op het consolidatieadres tijdens de initiële transactieanalyse.
Na de eerste opname volgden aanvullende bestuursaanvallen. Om 14:35 UTC gebruikte een tweede transactie een vergelijkbare flashloan-strategie om Senate-zetels te veroveren en Uniswap V3-liquiditeitsposities die door het Freezer-contract werden beheerst op te nemen, wat circa 96.382 USDT aan extra opbrengsten genereerde. Een derde transactie om 14:40 UTC gebruikte het gecompromitteerde bestuurspad om nog een liquiditeitspositie met circa 550.000 X-tokens op te nemen. Die tokens werden los van het totale bedrag van 4,85 miljoen USDT weggehaald.
De transacties kwamen van verschillende verzendende wallets, en onderzoekers hebben niet vastgesteld of deze door afzonderlijke aanvallers werden beheerst of door één partij werden gecoördineerd.
Token stort neer terwijl kwetsbaarheid onbeschermd blijft
De token van X100 kelderde na de aanval fors; handelsgegevens, zoals weergegeven op CoinGecko, wijzen op een daling van meer dan 96% nu de liquiditeit uit de belangrijkste handelspool verdween. Het genoemde percentage dient met voorzichtigheid te worden benaderd, omdat de resterende liquiditeit extreem dun was, waardoor de weergegeven tokenprijs een onbetrouwbare maat is voor de realiseerbare marktwaarde.
De aanval is de recentste in een reeks van recente door flash loans gedreven bestuursexploits. In augustus verkreeg een aanvaller voldoende bestuursbevoegdheid over Term Finance om kwaadaardige voorstellen uit te voeren en circa 8,5 miljoen dollar uit op Ethereum gebaseerde lending vaults weg te halen. Een aparte flashloan-aanval op Shibarium in september 5 omvatte evene de tijdelijke verwerving van aan bestuur gerelateerde tokens, hoewel dat incident gericht was op validatorbevoegdheid en bridge-activa in plaats van op de directe uitvoering van treasury-voorstellen. Bij deze incidenten was de autoriteit over protocolactiva gekoppeld aan tokens die binnen één transactie konden worden verworven, waardoor quorum- en goedkeuringsdrempels de laatste verdedigingslinie waren.
In het geval van X100 bood de tweederde-goedkeuringseis van de Senate weinig bescherming, omdat stembevoegdheid direct kon worden verworven en uitgeoefend met geleend kapitaal.
In de eerste uren na de exploit had het project geen publiek incidentrapport gepubliceerd of een herstelplan bevestigd, en Blockaid bleef waarschuwen voor actieve blootstelling na het identificeren van de derde transactie. Ten tijde van de beoordeling van het bedrijf op 24 oktober bleven circa 12,2 miljoen X in het Freezer-contract achter. Er was geen bevestigde terugvordering van de weggehaalde middelen, contractherstel of compensatieregeling bekendgemaakt. Of de tokens die nog in het Freezer-contract worden aangehouden als volgende worden verplaatst, en of het project met een post-mortem of bestuurswijzigingen komt, bleven de belangrijkste open vragen na de beoordeling van Blockaid op 24 oktober.