Acesta este genul de bug care ține echipele de protocol treji noaptea. Un exploit de 5 milioane de dolari pe ZKSwap, activat de o singură declarație lăsată în locul greșit. Iată o analiză profundă a modului în care s-a întâmplat și cum ar fi putut să o oprească monitorizarea onchain. 🧵
1/ Pe 9 iulie, GMX a fost piratat pentru 42 de milioane de dolari. Dar altceva s-a întâmplat în acea zi și aproape nimeni nu a observat: podul ZKSwap a fost golit în liniște pentru 5 milioane de dolari. Partea interesantă? Nu a fost implicat niciun exploit fantezist. Doar o funcție critică care... nimic.
2/ ZKSwap este un zk-rollup construit pe Ethereum. La fel ca multe rollup-uri, folosește o punte pentru a muta activele între L1 și L2. Ca o garanție, podul include un "Exodus Mode", o modalitate prin care utilizatorii pot recupera fonduri fără a avea nevoie de operator. În teorie, aceasta este o idee grozavă. În practică...
3/ Exodus Mode permite utilizatorilor să dovedească manual că dețin token-uri în ultima stare L2 verificată. Este un mecanism de rezervă: fără încredere, auto-custodie, non-interactiv. Dar implementarea ZKSwap a avut un defect fatal: funcția responsabilă cu verificarea dovezilor nu a verificat nimic. Literalmente.
4/ Iată codul care ar fi trebuit să oprească atacul 👇 La prima vedere, pare un adevărat verificator zk-proof. Dar uitați-vă cu atenție la prima linie: întoarceți adevărat; Asta este. Nimic altceva nu funcționează.
5/ Rezultatul? Fiecare "dovadă" de retragere (oricât de falsă) a trecut validarea. Contractul accepta pretenții arbitrare despre soldurile token-urilor... și le-am creditat ca și cum ar fi fost reale. A transformat un mecanism de rezervă fără încredere într-un robinet nepăzit.
6/ Atacatorul nu a avut nevoie de exploit-uri fanteziste - doar apeluri repetate la exit() cu date inventate. Au ocolit verificările de sold, s-au retras pe mai multe token-uri și au abuzat de logica slabă a anulatorului pentru a evita detectarea. În timp ce contractul spunea: ✅
7/ Acesta nu a fost un caz limită obscur. Aceasta a fost logica de bază pentru recuperarea activelor, lăsată complet deschisă. Și pentru că modul Exodus este rareori declanșat, calea ruptă a trecut neobservată... luni de zile.
8/ Iată ce ar fi trebuit să declanșeze alarmele: • Modul Exodus este declanșat după o lungă perioadă de repaus • Zeci de apeluri de retragere care au loc simultan • Creștere bruscă a soldurilorPentru a retrage modificări Toate acestea erau vizibile și ar fi putut fi oprite cu monitorizarea în timp real pe lanț.
9/ Deci care este lecția? • Codul de urgență este încă codul de producție • Căile de rezervă nu ajută dacă nu funcționează • Monitorizarea în timp real nu este opțională, este esențială pentru supraviețuire
Afișare original
37,83 K
422
Conținutul de pe această pagină este furnizat de terți. Dacă nu se menționează altfel, OKX nu este autorul articolului citat și nu revendică niciun drept intelectual pentru materiale. Conținutul este furnizat doar pentru informare și nu reprezintă opinia OKX. Nu este furnizat pentru a fi o susținere de nicio natură și nu trebuie să fie considerat un sfat de investiție sau o solicitare de a cumpăra sau vinde active digitale. În măsura în care AI-ul de generare este utilizat pentru a furniza rezumate sau alte informații, astfel de conținut generat de AI poate să fie inexact sau neconsecvent. Citiți articolul asociat pentru mai multe detalii și informații. OKX nu răspunde pentru conținutul găzduit pe pagini terțe. Deținerile de active digitale, inclusiv criptomonedele stabile și NFT-urile, prezintă un grad ridicat de risc și pot fluctua semnificativ. Trebuie să analizați cu atenție dacă tranzacționarea sau deținerea de active digitale este adecvată pentru dumneavoastră prin prisma situației dumneavoastră financiare.