Populární témata
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
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,11K
Top
Hodnocení
Oblíbené