El equipo que está detrás del exchange descentralizado (DEX), Raydium, ha anunciado los detalles de cómo se produjo el hackeo del 16 de diciembre y ha ofrecido una propuesta para compensar a las víctimas.

Según una publicación oficial del equipo en el foro, el hacker pudo hacerse con más de USD 2 millones en criptomonedas aprovechando una vulnerabilidad en los contratos inteligentes del DEX que permitía a los administradores retirar pools enteros de liquidez, a pesar de las protecciones existentes para evitar tal comportamiento.

El equipo utilizará sus propios tokens desbloqueados para compensar a las víctimas que perdieron tokens Raydium, también conocidos como RAY. Sin embargo, el desarrollador no dispone de la stablecoin ni de otros tokens que no sean RAY para compensar a las víctimas, por lo que pide el voto de los poseedores de RAY para utilizar la tesorería de la organización autónoma descentralizada (DAO) para comprar los tokens que faltan para reembolsar a los afectados por el robo.

Según un informe post-mortem independiente, el primer paso del atacante en el exploit fue hacerse con el control de una clave privada del grupo de administradores. El equipo no sabe cómo se obtuvo esta clave, pero sospecha que la máquina virtual que la contenía se infectó con un programa troyano.

Una vez que el atacante tenía la clave, llamaba a una función para retirar las comisiones de transacción que normalmente irían a la tesorería de la DAO para ser utilizadas en recompras de RAY. En Raydium, las comisiones de transacción no van automáticamente a la tesorería en el momento de un intercambio. En su lugar, permanecen en la reserva del proveedor de liquidez hasta que son retiradas por un administrador. Sin embargo, el contrato inteligente realiza un seguimiento de la cantidad de comisiones adeudadas a la DAO a través de parámetros. Esto debería haber impedido que el atacante pudiera retirar más del 0.03% del volumen total de operaciones que se habían producido en cada pool desde el último retiro.

Sin embargo, debido a un fallo en el contrato, el atacante pudo cambiar manualmente los parámetros, haciendo que pareciera que todo el fondo de liquidez eran comisiones de transacción que se habían cobrado. Esto permitió al atacante retirar todos los fondos. Una vez retirados los fondos, el atacante pudo cambiarlos manualmente por otros tokens y transferir las ganancias a otros monederos bajo su control.

En respuesta al ataque, el equipo ha actualizado los contratos inteligentes de la aplicación para eliminar el control del administrador sobre los parámetros explotados por el atacante.

En la entrada del foro del 21 de diciembre, los desarrolladores propusieron un plan para compensar a las víctimas del ataque. El equipo utilizará sus propios tokens RAY desbloqueados para compensar a los titulares de RAY que perdieron sus tokens debido al ataque. Ha solicitado un debate en el foro sobre cómo implementar un plan de compensación utilizando la tesorería de la DAO para comprar tokens no RAY que se hayan perdido. El equipo pide que se celebre un debate de tres días para tomar la decisión.

El hackeo de Raydium por valor de USD 2 millones se descubrió por primera vez el 16 de diciembre. Los primeros informes afirmaban que el atacante había utilizado la función withdraw_pnl para retirar liquidez de los pools sin depositar tokens de proveedor de liquidez. Pero como esta función sólo debería haber permitido al atacante eliminar las comisiones por transacción, el método real por el que podían vaciar pools enteros no se conoció hasta después de que se hubiera llevado a cabo una investigación.

Aclaración: La información y/u opiniones emitidas en este artículo no representan necesariamente los puntos de vista o la línea editorial de Cointelegraph. La información aquí expuesta no debe ser tomada como consejo financiero o recomendación de inversión. Toda inversión y movimiento comercial implican riesgos y es responsabilidad de cada persona hacer su debida investigación antes de tomar una decisión de inversión.

Sigue leyendo: