Raydium anunță detalii despre hack, propune despăgubiri pentru victime

Echipa din spatele schimbului descentralizat Raydium (DEX) a anunțat detalii despre cum a avut loc hack-ul din 16 decembrie și a oferit o propunere de compensare a victimelor.

Potrivit unei postări oficiale de pe forum de la echipă, hackerul a reușit să câștige cu peste 2 milioane de dolari în cripto pradă prin exploatând o vulnerabilitate în contractele inteligente ale DEX, care a permis retragerea întregii fonduri de lichiditate de către administratori, în ciuda protecțiilor existente menite să prevină un astfel de comportament. 

Echipa va folosi propriile jetoane deblocate pentru a compensa victimele care au pierdut jetoane Raydium, cunoscute și sub numele de RAY. Cu toate acestea, dezvoltatorul nu are stablecoin și alte jetoane non-RAY pentru a compensa victimele, așa că solicită un vot deținătorilor RAY pentru a folosi trezoreria organizației autonome descentralizate (DAO) pentru a cumpăra jetoanele lipsă pentru a-i rambursa pe cei afectați de exploata.

Potrivit unui raport post-mortem separat, primul pas al atacatorului în exploatare a fost să câştig controlul unei chei private a grupului de administrare. Echipa nu știe cum a fost obținută această cheie, dar bănuiește că mașina virtuală care deținea cheia a fost infectată cu un program troian.

Odată ce atacatorul a avut cheia, a apelat o funcție de retragere a taxelor de tranzacție care ar merge în mod normal la trezoreria DAO pentru a fi utilizate pentru răscumpărări de RAY. Pe Raydium, comisioanele de tranzacție nu ajung automat la trezorerie în momentul unui swap. În schimb, ele rămân în pool-ul furnizorului de lichidități până când sunt retrase de un administrator. Cu toate acestea, contractul inteligent ține evidența sumei taxelor datorate DAO prin intermediul parametrilor. Acest lucru ar fi trebuit să împiedice atacatorul să poată retrage mai mult de 0.03% din volumul total de tranzacții care a avut loc în fiecare pool de la ultima retragere.

Cu toate acestea, din cauza unui defect al contractului, atacatorul a putut modifica manual parametrii, făcând să pară că întregul pool de lichidități erau comisioane de tranzacție care au fost încasate. Acest lucru a permis atacatorului să retragă toate fondurile. Odată ce fondurile au fost retrase, atacatorul a putut să le schimbe manual cu alte jetoane și să transfere veniturile în alte portofele aflate sub controlul atacatorului.

Related: Dezvoltatorul spune că proiectele refuză să plătească recompense hackerilor de pălărie albă

Ca răspuns la exploit, echipa a actualizat contractele inteligente ale aplicației pentru a elimina controlul administratorului asupra parametrilor care au fost exploatați de atacator.

În postarea de pe forum din 21 decembrie, dezvoltatorii au propus un plan de compensare a victimelor atacului. Echipa va folosi propriile jetoane RAY deblocate pentru a compensa deținătorii RAY care și-au pierdut jetoanele din cauza atacului. A cerut o discuție pe forum despre cum să implementați un plan de compensare folosind trezoreria DAO pentru a cumpăra jetoane non-RAY care au fost pierdute. Echipa cere să aibă loc o discuție de trei zile pentru a decide problema.

Hackul Raydium de 2 milioane de dolari a fost descoperit prima data pe 16 decembrie. Rapoartele inițiale spuneau că atacatorul a folosit funcția withdraw_pnl pentru a elimina lichiditatea din pool-uri fără a depune jetoane LP. Dar, din moment ce această funcție ar fi trebuit să permită atacatorului doar să elimine taxele de tranzacție, metoda reală prin care ar putea drena pool-uri întregi nu a fost cunoscută decât după ce a fost efectuată o investigație.