Atakujący wykorzystali błąd, początkowo wskazany w wątku na Reddicie, który pozwalał użytkownikom na zdobycie 50% więcej tokenów podczas dodawania i wycofywania płynności na Osmosis.
7 czerwca ktoś opublikował w serwisie Reddit wątek, który został później usunięty przez moderatora forum. Wątek zawierał poważne twierdzenie – w sieci Osmosis występował błąd, który pozwalał dostawcom płynności zarabiać dodatkowe 50% przy dodawaniu i wycofywaniu płynności.
Osmosis (OSMO) to blockchain w ekosystemie Cosmos, który oferuje zdecentralizowaną giełdę i portfel.
Twierdzenie to wydawało się nieprawdopodobne, dopóki sieć nie została zatrzymana w celu przeprowadzenia awaryjnej konserwacji.
Witaj @osmosiszone przyjaciele. Począwszy od bloku 4713064 łańcuch Osmozy został zatrzymany w celu przeprowadzenia awaryjnej konserwacji.
W tym czasie DEX i Wallet Osmozy nie działają, aż do zakończenia naprawy.
Proszę czekać na Devów, którzy będą pracować nad przywróceniem nas do działania.
– EmperorOsmo(Hathor Nodes) (@Flowslikeosmo) 8 czerwca 2022
Chociaż zespół Osmosis nie potwierdził wtedy istnienia exploita, do zatrzymania doszło po tym, jak kilku napastników wydrenowało około 5 milionów dolarów
Pule płynności NIE zostały „całkowicie wydrenowane”.
Devs naprawiają błąd, ustalają rozmiar strat (prawdopodobnie w granicach ~5M$) i pracują nad odzyskaniem płynności.
Więcej informacji wkrótce. https://t.co/WOu7MMgSUM
– Osmosis (@osmosiszone) 8 czerwca 2022
Zespół Osmosis zidentyfikował błąd i opracował poprawkę, która jest obecnie testowana przed wdrożeniem. Programiści wciąż pracują nad ponownym uruchomieniem sieci.
Uaktualnienie: Zidentyfikowano błąd i opracowano poprawkę.
Trwają dalsze testy, zanim walidatory zostaną zalecone do koordynacji ponownego uruchomienia.
Pełny raport o błędach i plan działania w celu dokładniejszego i prawidłowego przetestowania wszystkich aktualizacji łańcucha zostanie przedstawiony w najbliższych dniach. https://t.co/DjJMOEQxrT
– Osmosis (@osmosiszone) 8 czerwca 2022
Więc w ten sposób napastnikom udało się wykorzystać sieć, o czym świadczy aktywność na łańcuchu:
Użytkownik Twittera zwrócił uwagę w wątku, że jeden z atakujących dodał płynność w postaci USD Coin (USDC) i OSMO. Atakujący otrzymał następnie w zamian tokeny GAMM LP, które stanowiły jego udział w puli. Sprawcy ci natychmiast wycofali tokeny GAMM LP, zyskując w ten sposób 50% więcej niż kwota USDC i OSMO, które zostały dodane jako płynność.
Po pierwsze, podobno jakiś subredditer już jakiś czas temu zwrócił na to uwagę – więc brawa dla nich.
➼ Tak więc portfel (osmo1hq) jest eksploatatorem.
Najpierw dostarcza płynność w postaci $USDC (sprawdziłem to w kodzie źródłowym) + $OSMO
Następnie otrzymuje $GAMM żetony LP w zamian. pic.twitter.com/K3JzrDRPMN
– Andeh OnChain (@0xLosingMoney) June 8, 2022
Następnie sprawca wymienił tokeny OSMO na ATOM i wysłał je do innych portfeli. Ten sam proces był powtarzany w kółko – za każdym razem atakujący zyskiwał o 50% więcej tokenów.
Większość wpływów w OSMO została wymieniona na ATOM i przekazana do portfela zawierającego tokeny ATOM o wartości 9 milionów dolarów – czytamy w wątku na Twitterze. Portfel ten nie zawierał jednak tokenów USDC, które atakujący zdobył, wykorzystując błąd – tokeny USDC nie zostały ani wymienione, ani przeniesione, dodano w wątku.
Kiedy już się zabawił,
➼ Wysyła $ATOM do łańcucha innych portfeli.
Trudno powiedzieć na skanerze https://t.co/o02L0T5QtQ, ile to było w sumie, ale prześledziłem portfele i… pic.twitter.com/dchu2pDgQG
– Andeh OnChain (@0xLosingMoney) 8 czerwca 2022
Osmoza identyfikuje napastników; pojawia się FireStake
Czterech napastników zostało zidentyfikowanych jako kluczowi sprawcy, którzy ukradli ponad 95% kwoty wykorzystanej w exploitach – wynika z wątku opublikowanego na Twitterze przez firmę Osmosis. Dwóch z czterech napastników zgłosiło się do zwrotu wszystkich skradzionych środków. Pozostali dwaj dokonali transakcji na i z centralnych giełd, które zostały zaalarmowane w celu zidentyfikowania sprawców i odzyskania środków.
Uaktualnienie:
– Zidentyfikowano 4 osoby, na które przypada ponad 95% kwoty wykorzystanych środków.
– 2 z 4 osób proaktywnie wyraziły zamiar zwrócenia wykorzystanej kwoty w całości.
– Osmosis (@osmosiszone) 8 czerwca 2022
Ledwie godzinę po tweecie Osmosis dotyczącym atakujących, FireStake – walidator w ekosystemie Cosmos – ujawnił się w tweecie i przyznał się do wykorzystania błędu LP, ale zaznaczył, że stara się „naprawić sytuację” i współpracuje z zespołem Osmosis, aby zwrócić wykorzystane środki.
Droga @osmosiszonespołeczności, wielu z Was wie o błędzie LP Osmosis, który pojawił się wczoraj.
Nie wierząc w to, że jest on prawdziwy, dwóch członków @fire_stake zaczęło testować, aby sprawdzić, czy błąd istnieje, testowanie przerodziło się w chwilowy błąd w dobrej ocenie sytuacji i…
– FireStake | Validator (@stake_fire) June 8, 2022
w procesie tym udało nam się zamienić 226 USD na ~2 mln USD. Myśleliśmy o przyszłości naszej rodziny, a nie o przyszłości naszej społeczności.
Wkrótce po tym wydarzeniu przez całą noc zastanawialiśmy się, jak naprawić sytuację. Obecnie pracujemy z zespołem Osmosis…
– FireStake | Validator (@stake_fire) June 8, 2022
w celu jak najszybszego zwrotu środków. Współpracujemy również z zespołem Osmosis, aby zachęcić wszystkich innych, którzy skorzystali z tej sytuacji, do zgłoszenia się i zwrotu środków.
Możecie się do nas zgłosić, a my pomożemy Wam działać jako łącznik. Musimy to naprawić.
– FireStake | Validator (@stake_fire) 8 czerwca 2022