Raydium tillkännager detaljer om hack, föreslår kompensation till offren

Teamet bakom Raydium decentraliserade börsen (DEX) har meddelat detaljer om hur hacket den 16 december inträffade och erbjudit ett förslag för att kompensera offren.

Enligt ett officiellt foruminlägg från teamet kunde hackaren klara sig med över 2 miljoner dollar i kryptobyte av utnyttja en sårbarhet i DEX:s smarta kontrakt som gjorde att hela likviditetspooler kunde dras ut av administratörer, trots att befintliga skydd är för att förhindra sådant beteende. 

Teamet kommer att använda sina egna olåsta tokens för att kompensera offer som tappat Raydium-tokens, även känd som RAY. Utvecklaren har dock inte stablecoin och andra icke-RAY-tokens för att kompensera offer, så den ber om en röst från RAY-innehavare för att använda den decentraliserade autonoma organisationens (DAO) statskassan för att köpa de saknade tokens för att återbetala dem som drabbats av utnyttja.

Enligt en separat obduktionsrapport var angriparens första steg i utnyttjandet att kontroll av en privat nyckel för administratörspoolen. Teamet vet inte hur den här nyckeln erhölls, men de misstänker att den virtuella maskinen som innehöll nyckeln blev infekterad med ett trojanskt program.

När angriparen väl hade nyckeln anropade de en funktion för att ta ut transaktionsavgifter som normalt skulle gå till DAO:s skattkammare för att användas för återköp av RAY. På Raydium går transaktionsavgifterna inte automatiskt till statskassan vid ett swap-ögonblick. Istället förblir de i likviditetsleverantörens pool tills de dras tillbaka av en administratör. Det smarta kontraktet håller dock reda på mängden avgifter som ska betalas till DAO genom parametrar. Detta borde ha förhindrat angriparen från att kunna ta ut mer än 0.03% av den totala handelsvolymen som hade inträffat i varje pool sedan det senaste uttaget.

Ändå, på grund av ett fel i kontraktet, kunde angriparen manuellt ändra parametrarna, vilket fick det att se ut som att hela likviditetspoolen var transaktionsavgifter som hade samlats in. Detta gjorde det möjligt för angriparen att ta ut alla medel. När pengarna väl hade tagits ut kunde angriparen manuellt byta ut dem mot andra tokens och överföra intäkterna till andra plånböcker under angriparens kontroll.

Relaterat: Utvecklaren säger att projekt vägrar att betala ut prispengar till hackare med vita hattar

Som svar på utnyttjandet har teamet uppgraderat appens smarta kontrakt för att ta bort administratörskontrollen över parametrarna som utnyttjades av angriparen.

I foruminlägget den 21 december föreslog utvecklarna en plan för att kompensera offren för attacken. Teamet kommer att använda sina egna olåsta RAY-tokens för att kompensera RAY-innehavare som tappat sina tokens på grund av attacken. Den har bett om en forumdiskussion om hur man implementerar en kompensationsplan med hjälp av DAO:s statskassan för att köpa icke-RAY-tokens som har gått förlorade. Teamet ber om en tredagars diskussion för att avgöra frågan.

Raydium hacket på 2 miljoner dollar var först upptäckt den 16 december. De första rapporterna sa att angriparen hade använt funktionen withdraw_pnl för att ta bort likviditet från pooler utan att sätta in LP-tokens. Men eftersom denna funktion bara borde ha tillåtit angriparen att ta bort transaktionsavgifter, var den faktiska metoden med vilken de kunde tömma hela pooler inte känd förrän efter att en utredning hade genomförts.