Raydium anuncia detalhes do hack e propõe compensação para as vítimas

A equipe por trás da exchange descentralizada Raydium (DEX) anunciou detalhes de como ocorreu o hack de 16 de dezembro e ofereceu uma proposta para compensar as vítimas.

De acordo com uma postagem oficial da equipe no fórum, o hacker conseguiu roubar mais de US$ 2 milhões em saques criptográficos por explorando uma vulnerabilidade nos contratos inteligentes do DEX que permitia que todos os pools de liquidez fossem retirados pelos administradores, apesar das proteções existentes impedirem tal comportamento. 

A equipe usará seus próprios tokens desbloqueados para compensar as vítimas que perderam os tokens Raydium, também conhecidos como RAY. No entanto, o desenvolvedor não possui o stablecoin e outros tokens não-RAY para compensar as vítimas, por isso está pedindo um voto dos detentores de RAY para usar o tesouro da organização autônoma descentralizada (DAO) para comprar os tokens ausentes para reembolsar os afetados pelo explorar.

De acordo com um relatório post-mortem separado, o primeiro passo do invasor na exploração foi de ganho controle de uma chave privada do pool de administradores. A equipe não sabe como essa chave foi obtida, mas suspeita que a máquina virtual que continha a chave foi infectada por um programa trojan.

Uma vez que o invasor tivesse a chave, eles chamariam uma função para retirar as taxas de transação que normalmente iriam para o tesouro do DAO para serem usadas para recompras de RAY. No Raydium, as taxas de transação não vão automaticamente para o tesouro no momento de uma troca. Em vez disso, eles permanecem no pool do provedor de liquidez até serem retirados por um administrador. No entanto, o contrato inteligente acompanha o valor das taxas devidas ao DAO por meio de parâmetros. Isso deveria ter impedido o invasor de sacar mais de 0.03% do volume total de negociação ocorrido em cada pool desde a última retirada.

No entanto, devido a uma falha no contrato, o invasor conseguiu alterar manualmente os parâmetros, fazendo parecer que todo o pool de liquidez eram taxas de transação que haviam sido coletadas. Isso permitiu que o invasor retirasse todos os fundos. Depois que os fundos foram retirados, o invasor conseguiu trocá-los manualmente por outros tokens e transferir os recursos para outras carteiras sob o controle do invasor.

Relacionado: Desenvolvedor diz que os projetos estão se recusando a pagar recompensas a hackers de chapéu branco

Em resposta à exploração, a equipe atualizou os contratos inteligentes do aplicativo para remover o controle do administrador sobre os parâmetros que foram explorados pelo invasor.

Na postagem do fórum de 21 de dezembro, os desenvolvedores propuseram um plano para compensar as vítimas do ataque. A equipe usará seus próprios tokens RAY desbloqueados para compensar os detentores de RAY que perderam seus tokens devido ao ataque. Ele solicitou uma discussão no fórum sobre como implementar um plano de compensação usando o tesouro do DAO para comprar tokens não-RAY que foram perdidos. A equipe está pedindo uma discussão de três dias para decidir a questão.

O hack de US$ 2 milhões do Raydium foi descoberto pela primeira vez em 16 de dezembro. Os relatórios iniciais diziam que o invasor havia usado a função retire_pnl para remover a liquidez dos pools sem depositar tokens LP. Mas, como essa função deveria permitir apenas ao invasor remover as taxas de transação, o método real pelo qual eles poderiam drenar pools inteiros não era conhecido até que uma investigação fosse conduzida.