To je druh chyby, která drží protokolární týmy vzhůru po nocích.
Exploit za 5 milionů dolarů na ZKSwap, umožněný jediným příkazem ponechaným na špatném místě.
Zde je hluboký ponor do toho, jak se to stalo a jak to mohlo monitorování onchain zastavit.
🧵

1/ 9. července byla GMX hacknuta za 42 milionů dolarů.
Ten den se však stalo něco jiného a sotva si toho někdo všiml: most ZKSwap byl v tichosti vyčerpán za 5 milionů dolarů.
Zajímavá část? Nejednalo se o žádné fantastické využití. Jen kritická funkce, která udělala... nic.

2/ ZKSwap je zk-rollup postavený na Ethereu.
Stejně jako mnoho jiných rollupů používá most k přesunu aktiv mezi L1 a L2.
Jako bezpečnostní opatření most obsahuje "režim Exodus", způsob, jak mohou uživatelé získat zpět finanční prostředky bez potřeby operátora.
Teoreticky je to skvělý nápad. V praxi...
3/ Režim Exodus umožňuje uživatelům ručně prokázat, že vlastnili tokeny v posledním ověřeném stavu L2.
Je to záložní mechanismus: nedůvěryhodný, sebeopatrovní, neinteraktivní.
Implementace ZKSwap však měla jednu fatální chybu: Funkce zodpovědná za ověřování důkazů nic neověřovala.
Doslova.
4/ Zde je kód, který měl útok 👇 zastavit
Na první pohled to vypadá jako skutečný zk-proof verifikátor.
Ale podívejte se pozorně na první řádek: return true;
A je to. Nic jiného neběží.

5/ Výsledek? Každý "důkaz" o odstoupení (bez ohledu na to, jak falešný) prošel validací.
Smlouva akceptovala svévolné nároky na zůstatky tokenů... a připisoval jsem jim zásluhy, jako by byly skutečné.
Změnil nedůvěryhodný záložní mechanismus na nehlídaný faucet.
6/ Útočník nepotřeboval vymyšlené exploity - jen opakovaná volání exit() s vymyšlenými daty.
Obcházeli kontroly zůstatku, vybírali přes více tokenů a zneužívali slabou logiku nullifikátoru, aby se vyhnuli detekci.
To vše za předpokladu, že smlouva říká: ✅

7/ Tohle nebyl nějaký obskurní okrajový případ.
To byla základní logika pro obnovu aktiv, která zůstala zcela otevřená.
A protože se režim Exodus spouští jen zřídka, přerušená cesta zůstala bez povšimnutí... měsíce.
8/ Zde je to, co mělo spustit alarmy:
• Režim Exodus se spouští po dlouhém klidu
• Desítky výběrových hovorů probíhajících najednou
• Náhlý nárůst zůstatkůToWithdraw změny
To vše bylo viditelné a mohlo to být zastaveno monitorováním v reálném čase.

9/ Z čeho si tedy vzít?
• Nouzový kód je stále produkční kód
• Záložní cesty nepomohou, pokud nefungují
• Monitorování v reálném čase není volitelné, je kritické pro přežití
34,16 tis.
379
Obsah na této stránce poskytují třetí strany. Není-li uvedeno jinak, společnost OKX není autorem těchto informací a nenárokuje si u těchto materiálů žádná autorská práva. Obsah je poskytován pouze pro informativní účely a nevyjadřuje názory společnosti OKX. Nejedná se o doporučení jakéhokoli druhu a nemělo by být považováno za investiční poradenství ani nabádání k nákupu nebo prodeji digitálních aktiv. Tam, kde se k poskytování souhrnů a dalších informací používá generativní AI, může být vygenerovaný obsah nepřesný nebo nekonzistentní. Další podrobnosti a informace naleznete v připojeném článku. Společnost OKX neodpovídá za obsah, jehož hostitelem jsou externí weby. Držená digitální aktiva, včetně stablecoinů a tokenů NFT, zahrnují vysokou míru rizika a mohou značně kolísat. Měli byste pečlivě zvážit, zde je pro vás obchodování s digitálními aktivy nebo jejich držení vhodné z hlediska vaší finanční situace.