Det tok bare litt tid å sjekke 9 millioner dollar @yearnfi yeth-angrepet. Selv om de fleste påpeker at hackeren preget en enorm mengde yeth med noen få wei tokens (P1), tror jeg ikke dette er den eneste grunnårsaken. Årsaken? Hackeren TOK faktisk IKKE ut det pregede yeth, solgte bare en del av det på yETH-ETH-poolen for 1000 ETH (~3 millioner), langt mindre enn hackerens faktiske fortjeneste (P2). Det finnes to grunnleggende årsaker (eller angrepsvektorer) etter min mening: (Ansvarsfraskrivelse: Det er bare en analyse basert på min foreløpige analyse. Jeg kan og gjør noen ganger feil!) (1) en avrundingsfeil førte til mynting av nesten uendelig yETH. Dette ligner faktisk på balancerens hack. Skaleringsfaktoren (i yETH kalt rate) er et tall rundt 1e18+x%, og en multiplikeringsdivisjon gjør at den virtuelle balansen bryter invariantene. Koden bruker faktisk den avrundede virtuelle saldoen til å beregne den nye totale forsyningen av yETH og preget (new_supply - old_supply) til angriperen (P3). (2) update_rate funksjonen førte til et stort tap av yETH-hvelvet Faktisk ringte angriperen "update_rates" to ganger på wrapped OETH, og yETH mistet bokstavelig talt ~1000 ETH hver gang (der yETH ble brent fra st-yeth-hvelvet, P4). -> 6 millioner tap. I tillegg går overskuddet fra solgte yETH sammen til ~9 millioner. Dette kan ha vært forårsaket av feil beregning av invarianten, snarere enn en ren avrundingsfeil. ---- Jeg vil oppdatere i kommentaren på denne tweeten for eventuelle nye forståelser jeg har om dette angrepet.
@yearnfi oppdatering (1) ble jeg utestengt for å prøve å tilby min hjelp i @yearnfi sin Discord 🤣
@yearnfi Oppdatering, lenken ovenfor er ikke en offisiell privatmelding. Men det avslører allerede rotårsaken, tror jeg, og peker på den sårbare koden.
28,61K