Float Protocol stracił około 28 000 dolarów, czyli 10,71 ETH, po tym jak atakujący wykorzystał pożyczkę błyskawiczną do manipulacji ceną spot na Uniswap V3 i wykorzystał sposób, w jaki jego kontrakty Hypervisor obliczały wartości udziałów dostawców płynności.
Podsumowanie
- Float Protocol stracił około 28 000 dolarów, czyli 10,71 ETH, po ataku z użyciem pożyczki błyskawicznej, który zmanipulował cenę spot na Uniswap V3.
- SlowMist stwierdził, że manipulacja spowodowała, że dotknięte kontrakty Hypervisor obliczały zawyżone wartości udziałów LP.
- Atakujący użył dużych swapów, aby zniekształcić currentTick() i getTotalAmounts(), a następnie wielokrotnie deponował i wypłacał środki w oparciu o nieprawidłowe wartości.
- SlowMist stwierdził, że krytyczne funkcje nie miały weryfikacji TWAP ani oracle oraz ochrony przed poślizgiem.
SlowMist poinformował 31 sierpnia, że atakujący zniekształcił cenę spot slot0 na Uniswap V3, powodując, że dotknięte kontrakty Hypervisor obliczały nieprawidłowe wartości udziałów LP. Firma zajmująca się bezpieczeństwem blockchain prześledziła exploit do funkcji, które nie miały weryfikacji TWAP ani oracle oraz ochrony przed poślizgiem.
Używając dużych swapów w bazowej puli płynności V3, atakujący zmanipulował wartości zwracane przez currentTick() i getTotalAmounts(). SlowMist stwierdził, że atakujący następnie wielokrotnie deponował i wypłacał środki, podczas gdy kontrakty Hypervisor działały na zawyżonych wartościach udziałów.
Firma bezpieczeństwa zidentyfikowała adres atakującego jako 0xaea29218262dc6b0904ca077f6527c49dfd426d9, a kontrakt atakujący jako 0xb46655eb5b77de277063a75586d1883e951b6c54.
Dwa podatne kontrakty wymieniono jako 0x85cbed523459b7f6f81c11e710df969703a8a70c i 0xc86b1e7fa86834cac1468937cdd53ba3ccbc1153, a bazową pulę płynności zidentyfikowano jako 0xe8c2036068fc3b0161ee1def0e8d01df4eac0ac.
Exploit Float Protocol polegał na manipulacji ceną spot na Uniswap V3
Atak skupiał się na tym, jak dotknięte kontrakty uzyskiwały informacje o cenach z bazowej puli Uniswap V3. SlowMist stwierdził, że duże transakcje pozwoliły atakującemu zniekształcić slot0, który zawiera aktualną cenę i informacje o tickach puli.
Po przesunięciu ceny puli manipulacja zmieniła wartości zwracane przez currentTick() i getTotalAmounts(). Dotknięte kontrakty Hypervisor używały zmienionych danych do obliczania wartości udziałów LP, co pozwoliło atakującemu na interakcję z kontraktami, gdy te udziały były nieprawidłowo wycenione.
Pożyczki błyskawiczne dostarczyły tymczasowego kapitału potrzebnego do dokonania dużych transakcji. Jak wcześniej wyjaśnił crypto.news, pożyczka błyskawiczna pozwala na pożyczenie aktywów bez zabezpieczenia z góry, pod warunkiem że pożyczka i opłaty zostaną spłacone w tej samej transakcji blockchain.
Jeśli spłata nie nastąpi, cała transakcja zostaje cofnięta. Mechanizm ten pozwala traderom uzyskać dostęp do dużych ilości tymczasowej płynności w celu arbitrażu, swapów zabezpieczeń i likwidacji, ale ta sama płynność może być wykorzystana do wykorzystania podatnych na ataki wycen lub logiki inteligentnych kontraktów.
W swojej analizie Float Protocol, SlowMist przypisał stratę temu, że kontrakty polegały na manipulowalnej cenie spot bez kontroli, które mogłyby ją zweryfikować względem średniej ceny ważonej czasem lub innego oracle. Krytyczne funkcje nie miały również ochrony przed poślizgiem, według firmy bezpieczeństwa.
Atakujący wielokrotnie wykorzystywał zawyżone wartości udziałów LP
SlowMist stwierdził, że atakujący nie zatrzymał się po zmianie ceny puli Uniswap V3. Po zniekształceniu slot0, atakujący wielokrotnie deponował i wypłacał środki z dotkniętych kontraktów, korzystając z zawyżonych obliczeń udziałów LP.
Sekwencja ta pozwoliła na wydobycie wartości, podczas gdy kontrakty polegały na zmanipulowanym stanie puli. SlowMist oszacował ostateczną stratę na około 10,71 ETH, wartych około 28 000 dolarów w momencie publikacji alertu.
Podobne metody zostały użyte w innych atakach DeFi, gdzie duże tymczasowe transakcje zniekształcają ceny lub proporcje w pulach, zanim inny kontrakt wykorzysta zmanipulowane wartości.
W lipcu Allbridge Core został wstrzymany po tym, jak atakujący wykorzystał pożyczkę błyskawiczną USDC o wartości 1,12 miliona dolarów z Kamino podczas exploit, który PeckShield oszacował na straty około 1,65 miliona dolarów.
Onchain Lens poinformował, że atakujący Allbridge dokonywał szybkich wymian USDC i USDT, aby zmienić proporcje w puli stablecoinów. Następnie atakujący wycofał płynność po zniekształconym kursie, zanim spłacił pożyczkę błyskawiczną w tej samej transakcji.
Allbridge poinformował, że niektóre pule płynności pozostały tymczasowo niezrównoważone po incydencie i poprosił użytkowników, którzy skorzystali z nietypowych cen, o rozważenie zwrotu środków. Protokół wstrzymał Core, podczas gdy śledczy śledzili aktywa przeniesione z Solany do Ethereum.
Dane cenowe pozostają celem ataków DeFi
Kolejny lipcowy incydent pokazał, jak zmanipulowane informacje cenowe mogą być wykorzystane nawet wtedy, gdy słabość leży poza inteligentnymi kontraktami protokołu.
Ostium doszło do wniosku, że jego exploit USDC o wartości 23,75 miliona dolarów pochodził z naruszonej infrastruktury poza łańcuchem. Zdecentralizowany protokół handlowy poinformował, że atakujący przesłał fałszywe raporty cenowe BTC/USD, które umożliwiły wyprowadzenie środków z jego skarbca płynności OLP.
Ostium poinformowało, że jego inteligentne kontrakty nie były źródłem tego naruszenia. Zautomatyzowane monitorowanie wykryło atak, handel wznowiono 23 lipca, a protokół poinformował, że zabezpieczenia użytkowników nie zostały naruszone.
Incydent Float Protocol dotyczył innego mechanizmu opisanego przez SlowMist. Analiza firmy ochroniarskiej umieściła słabość w dotkniętych kontraktach Hypervisor, gdzie zmanipulowane dane puli Uniswap V3 mogły wpływać na obliczenia używane do wyceny udziałów LP.
Kapitał z pożyczek błyskawicznych pojawił się w innych atakach w tym roku. Atak na Swan Treasury w lipcu wykorzystał pożyczkę błyskawiczną PancakeSwap po tym, jak naruszony klucz podpisującego poza łańcuchem umożliwił atakującemu zakup tokenów STY z dużym dyskontem.
Exploit Swan Treasury spowodował szacunkową stratę 625 000 dolarów. Analiza bezpieczeństwa wykazała, że sfałszowane podpisy roszczeń i transferów zostały utworzone przy użyciu naruszonego klucza podpisującego protokołu, co pozwoliło na zakup około 687 000 STY z około 100-krotnym dyskontem, zanim zostały sprzedane do puli STY/USDT.
Pożyczka błyskawiczna dostarczyła kapitał na transakcję, podczas gdy śledczy przypisali podstawową podatność wyciekłemu kluczowi podpisującego, a nie logice weryfikacji podpisów protokołu.
SlowMist wskazuje na brak kontroli cen w kontraktach Float Protocol
W przypadku Float Protocol, SlowMist szczególnie zidentyfikował brak walidacji TWAP lub oracle jako część ścieżki ataku.
TWAP wykorzystuje obserwacje zebrane w pewnym okresie zamiast polegać wyłącznie na cenie dostępnej w jednym momencie. Ceny spot w pulach płynności mogą się zmieniać, gdy wystarczająco duża transakcja zmienia proporcje aktywów, co było mechanizmem, który według SlowMist wykorzystał atakujący Float Protocol.
Przewodnik po pożyczkach błyskawicznych Crypto.news opisał manipulację cenami jako jeden z powszechnych sposobów, w jaki tymczasowa płynność może być wykorzystana przeciwko podatnej aplikacji DeFi. Raport zauważył, że pożyczka błyskawiczna zapewnia kapitał na atak, podczas gdy wykorzystywalna słabość może leżeć w oracle cenowych, systemach zarządzania lub logice kontraktów.
W przypadku Float Protocol, SlowMist stwierdził, że duże transakcje zostały użyte do zniekształcenia wartości slot0 puli Uniswap V3, co z kolei zmieniło currentTick() i getTotalAmounts(). Atakujący wielokrotnie deponował i wypłacał, podczas gdy dotknięte kontrakty Hypervisor obliczały zawyżone wartości udziałów LP, co spowodowało szacunkową stratę 10,71 ETH.






