Ang Fluid ay nawalan ng $215K matapos kontrolin ng isang attacker ang parehong susi sa pamamahagi ng gantimpala, na dumrain ng mga token sa pamamagitan ng pekeng Merkle roots at nagturo ng mga nalikom sa Tornado Cash.
Wala na ang mga reward token. Noong Mayo 27, isang attacker na humawak sa parehong operational signing keys ng Fluid ay nagtulak ng pekeng listahan ng gantimpala sa mga Merkle distributor ng protocol sa Ethereum, Base, at Arbitrum.
Ang Fluid, isang DeFi protocol na nakabase sa Ethereum, ay gumagamit ng dalawang-hakbang na sistema para sa pamamahagi ng mga gantimpala: isang key ang nagmumungkahi ng Merkle root at isang pangalawang key ang nag-aapruba nito. Gaya ng iniulat ng BlackHartInc sa X, ang parehong mga tungkuling ito ay hawak ng iisang tao. Ang kontrol ng dalawang tao ay walang kabuluhan kapag ang isang tao ay humawak sa parehong susi.
Isang Tao, Dalawang Susi, Walang Paglaban
Ang proposer key ay nagsumite ng isang self-serving root sa FLUID distributor noong 21:11:11 UTC. Labing-dalawang segundo pagkatapos, inaprubahan ito ng parehong attacker gamit ang approver key. Dalawampu’t-apat na segundo pagkatapos ng paunang panukala, isang claim ang naipasa gamit ang isang walang laman na Merkle proof.
Ang walang laman na proof na iyon ay hindi isang bug. Ang isang listahan ng gantimpala na may isang entry ay gumagawa ng isang root na katumbas ng nag-iisang leaf nito, kaya walang proof path ang kailangan. Na-verify ito ng kontrata nang tama. Walang nasira sa smart contract. Ayon sa forensic analysis ng BlackHart, ang buong pagkabigo ay ang operational key custody.
Ang parehong propose-approve-claim cycle ay tumakbo laban sa GHO distributor noong 21:13:59 UTC at isang ikatlong distributor para sa maliit na halaga ng cbBTC ilang oras mamaya. Sa kabuuan ng tatlong chain, ang attacker ay nakakuha ng humigit-kumulang 125,109 FLUID at 51,946 GHO, kasama ang kaunting cbBTC.
Ano Talaga ang Umalis sa Protocol, at Ano ang Hindi
Ang mga lending market, vault, at DEX liquidity ng Fluid ay hindi kailanman nasa saklaw ng mga key na ito. Ang mga drained contract ay mga reward distributor lamang. Kinumpirma ng 0xfluid sa X na ang mga core protocol smart contract ay nanatiling hindi naapektuhan at ang mga pondo ng user ay hindi nanganganib mula sa insidente.
Ang ninakaw na FLUID at GHO ay ipinagpalit para sa humigit-kumulang 103 ether sa pamamagitan ng MetaMask swap router. Humigit-kumulang 142.6 ETH ang napunta sa Tornado Cash, na niruta nang bahagya sa pamamagitan ng relay wallet at bahagya sa pamamagitan ng direktang deposito. Ang mga nalikom mula sa L2 mula sa Base at Arbitrum ay ibinalik sa Ethereum bago ihalo.
Ang isang malaking withdrawal na nasa pagitan ng $70 at $110 milyon mula sa Fluid sa mga sumunod na araw ay hindi isang pangalawang exploit. Iyon ay mga depositor na kumukuha ng kanilang sariling pondo, isang bank run na udyok ng kumpiyansa. Hindi nauugnay sa pagnanakaw mismo, bagama’t hindi eksaktong hindi nauugnay sa timing ng pagsisiwalat.
Ang Paglilinis, at ang Hindi Nasabi
Mga sampung oras pagkatapos ng unang pagnanakaw, noong Mayo 28 sa 07:05 UTC, tinanggal ng Fluid team ang mga nakompromisong proposer at approver roles mula sa sampung reward distributor sa isang solong batched transaction. Humigit-kumulang 314,000 FLUID at 7,400 USDC ng natitirang balanse ng gantimpala ang inilipat sa isang safe address.
Ang mga pampublikong komunikasyon mula sa team ay inilarawan lamang ang isang pause sa reward claiming para sa mga update. Walang binanggit na key compromise. Walang binanggit na pagkawala. Ang exploit mismo ay lumabas sa publiko noong Mayo 31, apat na araw pagkatapos itong mangyari, nang ang isang lender ay nag-withdraw na ng $77 milyon sa USDC simula noong Mayo 28.
Si Pablo Veyrat, co-founder ng Merkl, ay tumugon sa insidente sa X. Nagsasalita tungkol sa kanyang sariling mga pagpipilian sa disenyo ng protocol, sinabi ni Veyrat sa X na ang Merkl ay nagpapatakbo ng tatlong independiyenteng dispute bot sa ganap na hiwalay na imprastraktura, bawat isa ay nagbe-verify ng bagong Merkle tree bago maging epektibo ang isang root, na may hindi bababa sa isang oras na pagkaantala sa pagitan ng isang bagong root na nai-post at anumang mga claim na isinasagawa laban dito.
Bakit Binabago ng Timelock ang Lahat Dito
Ang buong exploit ay tumakbo sa ilalim ng 24 segundo mula sa proposal hanggang sa claim. Ang bilis na iyon ay posible lamang dahil walang pagkaantala na umiral sa pagitan ng root approval at payout. Ang mga admin key exploit ay paulit-ulit na tumama sa DeFi sa taong ito, at ang pattern ay patuloy na bumabalik sa parehong puwang: mga privileged key na walang alitan sa pagitan ng access at aksyon.
Ang pagtatasa ng BlackHart ay minarkahan ang operational security bilang ang tanging pinakamahinang scoring area sa pre-hack evaluation nito ng Fluid. Ang eksaktong mode ng pagkabigo, dalawang key na maaaring gawing payout nang walang independiyenteng custodian o waiting period, ay siya nang babala ng score. Ang mga operational key compromise ay hindi bago sa 2026, ngunit ang kaso ng Fluid ay nagdaragdag ng isang tiyak na kulubot: ang disenyong dalawang-key ay mukhang isang pananggalang hanggang sa ito ay hawak ng isang tao.
Ang wallet ng attacker, 0x4925120c…1d3dfb, ay nag-claim sa mga chain sa loob ng humigit-kumulang sa parehong minuto. Walang velocity cap ang nag-bound kung ano ang mailalabas ng isang cycle. Walang real-time na alerto ang nakahuli ng abnormal na aktibidad hanggang mga oras mamaya.





Mag-iwan ng Tugon