Jen jsem si dal chvíli kontrolovat útok @yearnfi yeth za 9 milionů dolarů. Zatímco většina lidí poukazuje na to, že hacker vydělal obrovské množství yeth s několika wei tokenů (P1), myslím, že to není jediná příčina. Proč? Hacker ve skutečnosti NEVYBRAL ražený yeth, jen část prodal na yETH-ETH pool za 1000 ETH (~3 miliony), což je mnohem méně než skutečný zisk hackera (P2). Podle mého názoru existují 2 hlavní příčiny (nebo vektory útoku): (Upozornění: Je to pouze analýza založená na mé předběžné analýze. Můžu a někdy dělám chyby!) (1) chyba zaokrouhlování vedla k ražbě téměř nekonečného yETH. To je vlastně podobné hacku balanceru. Škálovací faktor (v yETH nazývaný rychlost) je číslo kolem 1e18+x% a násobení způsobí, že virtuální zůstatek přeruší invarianty. Kód ve skutečnosti používá zaokrouhlený virtuální zůstatek k výpočtu nové celkové nabídky yETH a vyražené (new_supply - old_supply) útočníkovi (P3). (2) update_rate funkce vedla k obrovské ztrátě trezoru yETH Ve skutečnosti útočník dvakrát zavolal "update_rates" na zabaleném OETH a yETH doslova ztratil ~1000 ETH pokaždé (kde yETH byl spálen ze st-yeth vaultu, P4). -> ztráta 6 milionů. Navíc zisk z prodaných letních let dohromady dosahuje ~9 milionů. To mohlo být způsobeno špatným výpočtem invariantu, nikoli pouhou zaokrouhlovací chybou. ---- Aktualizuji v komentáři pod tímto tweetem, pokud se dozvíte nové informace o tomto útoku.
@yearnfi Aktualizace (1) jsem byl zabanován za to, že jsem se snažil nabídnout pomoc na Discordu 🤣 @yearnfi
@yearnfi aktualizace, výše uvedený odkaz není oficiální soukromá zpráva. Ale už to podle mě odhaluje kořenovou příčinu a poukazuje na zranitelný kód.
28,61K