Атакуващите се възползваха от грешка, първоначално посочена в тема в reddit, която позволи на потребителите да спечелят 50% повече токени при добавяне и изтегляне на ликвидност в Osmosis.
На 7 юни някой публикува тема в Reddit, която по-късно беше изтрита от модератора на форума. Темата съдържаше сериозно твърдение – в мрежата на Osmosis имаше бъг, който позволяваше на доставчиците на ликвидност да печелят допълнително 50% при добавяне и изтегляне на ликвидност.
Osmosis (OSMO) е блокчейн в екосистемата Cosmos, който предлага децентрализиран обмен и портфейл.
Твърдението изглеждаше неправдоподобно, докато мрежата не беше спряна за спешна поддръжка.
Здравейте @osmosiszone приятели. От блок 4713064 веригата Osmosis е спряна за спешна поддръжка.
По това време DEX и портфейлът на Osmosis не функционират, докато ремонтът не приключи.
Моля, бъдете в очакване, докато разработчиците работят, за да ни върнат в действие.
– EmperorOsmo(Hathor Nodes) (@Flowslikeosmo) June 8, 2022
Въпреки че по това време екипът на Osmosis не признаваше за експлойт, до спирането се стигна, след като няколко нападатели източиха около 5 млн. долара.
Ликвидните басейни НЕ бяха „напълно източени“.
Разработчиците отстраняват грешката, проучват размера на загубите (вероятно в диапазона ~5 млн. долара) и работят по възстановяването.
Очаквайте повече информация. https://t.co/WOu7MMgSUM
– Osmosis (@osmosiszone) June 8, 2022
Екипът на Osmosis е идентифицирал грешката и е разработил кръпка, която се тества преди внедряване. Разработчиците все още работят по рестартирането на мрежата.
Актуализация: Грешката е идентифицирана и е написана кръпка.
Провеждат се още тестове, преди да се препоръча на валидаторите да координират рестартирането.
Пълният доклад за грешката и планът за действие за по-задълбочено и правилно тестване от край до край на обновяванията на веригата ще последват през следващите дни. https://t.co/DjJMOEQxrT
– Osmosis (@osmosiszone) June 8, 2022
Така нападателите са успели да използват мрежата, както се вижда от активността във веригата:
Потребител на Twitter посочи в една от темите, че един от нападателите е добавил ликвидност под формата на USD Coin (USDC) и OSMO. След това атакуващият е получил в замяна токени GAMM LP, които са представлявали неговия дял в пула. Тези извършители незабавно изтеглили токените GAMM LP, като по този начин спечелили 50% повече от сумата USDC и OSMO, която била добавена като ликвидност.
На първо място, очевидно един подредайтър призова за това преди известно време – така че поздравления за тях.
➼ Така че портфейлът (osmo1hq) е експлоатиращият.
Първо той осигурява ликвидност под формата на $USDC (проверих това в изходния код) + $OSMO
След това той получава $GAMM LP токени в замяна. pic.twitter.com/K3JzrDRPMN
– Andeh OnChain (@0xLosingMoney) June 8, 2022
След това извършителят е разменил токените OSMO за ATOM и ги е изпратил в други портфейли. Същият процес се повтаряше отново и отново – всеки път нападателят печелеше с 50% повече токени.
По-голямата част от постъпленията в OSMO бяха разменени за ATOM и прехвърлени в портфейл, който съдържа ATOM токени на стойност 9 млн. долара, се казва в нишката в Twitter. Този портфейл обаче не включва USDC токените, които нападателят е спечелил чрез експлоатиране на грешката – USDC токените не са били нито разменени, нито прехвърлени, се добавя в нишката.
След като се е позабавлявал,
➼ той изпраща $ATOM до верига от други портфейли.
Трудно е да се каже на https://t.co/o02L0T5QtQ скенера колко общо е било това, но аз проследих портфейлите и… pic.twitter.com/dchu2pDgQG
– Andeh OnChain (@0xLosingMoney) June 8, 2022
Осмоза идентифицира нападателите; излиза Огнена ръка
Четирима нападатели са идентифицирани като основните извършители, които са откраднали над 95% от експлоатираната сума, според тема в Twitter от Osmosis. Двама от четиримата нападатели доброволно са се ангажирали да върнат изцяло откраднатите средства. Другите двама имат трансакции към и от централизирани борси, които са били предупредени да идентифицират извършителите и да възстановят средствата.
Актуализация:
– Идентифицирани са 4 лица, на които се падат над 95 % от реализираната сума на експлоатацията.
– Две от 4-те лица активно са изразили намерение да върнат експлоатираните суми в пълен размер.
– Osmosis (@osmosiszone) June 8, 2022
Само час след туита на Osmosis относно атакуващите, FireStake – валидатор в екосистемата Cosmos – излезе с туит и призна, че е използвал грешката в LP, но отбеляза, че се опитва да „оправи нещата“ и работи с екипа на Osmosis, за да върне използваните средства.
Уважаема @osmosiszone общност, много от вас знаят за възникналия вчера бъг в Osmosis LP.
Невярвайки, че това е реално, двама членове на @fire_stake започнаха да тестват, за да видят дали грешката съществува, тестването прерасна във временен пропуск в добрата преценка и…
– FireStake | Validator (@stake_fire) June 8, 2022
в процеса успяхме да превърнем 226 щатски долара в ~2 млн. щатски долара. Мислехме за бъдещето на нашето семейство, а не за бъдещето на нашата общност.
Малко след като направихме това, през цялата нощ се стресирахме как можем да оправим нещата. В момента работим с екипа на Osmosis…
– FireStake | Validator (@stake_fire) June 8, 2022
за връщане на средствата във възможно най-кратък срок. Също така работим с екипа на Osmosis, за да насърчим всеки друг, който се е възползвал от тази ситуация, да се обяви и да върне средствата.
Можете да дойдете при нас, а ние можем да ви помогнем да действате като свързващо звено. Трябва да поправим това.
– FireStake | Validator (@stake_fire) June 8, 2022