Dette er den typen feil som holder protokollteamene våkne om natten. En utnyttelse på 5 millioner dollar på ZKSwap, muliggjort av en enkelt uttalelse som er lagt igjen på feil sted. Her er et dypdykk i hvordan det skjedde, og hvordan overvåking på kjeden kunne ha stoppet det. 🧵
1/ 9. juli ble GMX hacket for 42 millioner dollar. Men noe annet skjedde den dagen, og knapt noen la merke til det: ZKSwaps bro ble stille tappet for 5 millioner dollar. Den interessante delen? Det var ingen fancy utnyttelse involvert. Bare en kritisk funksjon som gjorde det ... ingenting.
2/ ZKSwap er en zk-rollup bygget på Ethereum. Som mange rollups bruker den en bro for å flytte eiendeler mellom L1 og L2. Som en sikkerhetsforanstaltning inkluderer broen en "Exodus Mode", en måte for brukere å kreve tilbake midler uten å trenge operatøren. I teorien er det en god idé. I praksis...
3/ Exodus-modus lar brukere manuelt bevise at de eide tokens i den sist verifiserte L2-tilstanden. Det er en reservemekanisme: tillitsløs, selvforvarende, ikke-interaktiv. Men ZKSwaps implementering hadde en fatal feil: Funksjonen som var ansvarlig for å verifisere bevis verifiserte ingenting. Bokstavelig.
4/ Her er koden som burde ha stoppet angrepet 👇 Ved første øyekast ser det ut som en ekte zk-sikker verifikator. Men se nøye på den første linjen: returner sant; Det er det. Ingenting annet kjører.
5/ Resultatet? Hvert "bevis" for uttak (uansett hvor falskt) besto validering. Kontrakten aksepterte vilkårlige påstander om tokensaldoer ... og krediterte dem som om de var ekte. Den gjorde en tillitsløs reservemekanisme til en ubevoktet kran.
6/ Angriperen trengte ikke fancy utnyttelser - bare gjentatte anrop for å avslutte() med oppdiktede data. De omgikk saldokontroller, trakk seg på tvers av flere tokens og misbrukte svak nullifier-logikk for å unngå oppdagelse. Alt mens kontrakten sa: ✅
7/ Dette var ikke en obskur kantsak. Dette var kjernelogikken for gjenoppretting av eiendeler, stående helt åpen. Og fordi Exodus-modus sjelden utløses, gikk den ødelagte stien ubemerket hen... i flere måneder.
8/ Her er hva som burde ha utløst alarmer: • Exodus-modus utløses etter lang dvale • Dusinvis av uttaksanrop skjer på en gang • Plutselig økning i saldoTilTrekk ut endringer Alt var synlig og kunne ha blitt stoppet med sanntidsovervåking på kjeden.
9/ Så hva er lærdommen? • Nødkode er fortsatt produksjonskode • Reservebaner hjelper ikke hvis de ikke fungerer • Sanntidsovervåking er ikke valgfritt, det er overlevelseskritisk
Vis originalen
34,12k
379
Innholdet på denne siden er levert av tredjeparter. Med mindre annet er oppgitt, er ikke OKX forfatteren av de siterte artikkelen(e) og krever ingen opphavsrett til materialet. Innholdet er kun gitt for informasjonsformål og representerer ikke synspunktene til OKX. Det er ikke ment å være en anbefaling av noe slag og bør ikke betraktes som investeringsråd eller en oppfordring om å kjøpe eller selge digitale aktiva. I den grad generativ AI brukes til å gi sammendrag eller annen informasjon, kan slikt AI-generert innhold være unøyaktig eller inkonsekvent. Vennligst les den koblede artikkelen for mer detaljer og informasjon. OKX er ikke ansvarlig for innhold som er vert på tredjeparts nettsteder. Beholdning av digitale aktiva, inkludert stablecoins og NFT-er, innebærer en høy grad av risiko og kan svinge mye. Du bør nøye vurdere om handel eller innehav av digitale aktiva passer for deg i lys av din økonomiske tilstand.