Dalším hackem, na který jsem se nedávno podíval, je Vicuna Finance z března tohoto roku. Přišli o 700 tisíc dolarů prostřednictvím manipulace s LP token oracle na řetězci Sonic. Útok využil zásadní chybu v cenách, které se dalo předejít jednoduchým tvrzením. Tokeny LP byly oceněny pomocí vzorce základního součtu (price_token1 * amount_token1 + price_token0 * amount_token0) namísto spravedlivého ocenění, které zohledňuje vzorec konstantního produktu poolu. Sekvence útoku: - Velký swap z token0 na token1 uměle nafouknutá cena LP tokenu Oracle - Vložte nadhodnocené LP tokeny jako kolaterál - Půjčovat si maximální aktiva proti nadhodnocené hodnotě kolaterálu - Reverzní swap snížil cenu LP a zanechal protokol se špatným dluhem Manipulace s cenami je vzorec, který vidíme znovu a znovu, a je to vzorec, proti kterému tvrzení dobře chrání. V tomto příkladu experimentujeme s novým cheatcodem, který umožní kontrolu volání v callstacku, což je ideální pro detekci manipulací s cenami intra tx. Kontrolujeme, že "swapová" výzva nemůže vést k tomu, že se cena kdykoli během provádění tx odchýlí o více než 5 % od základní linie. Je to jednoduchý, ale účinný způsob, jak se chránit například před útoky bleskových půjček.
1,79K