Las Auditorías No Son Infalibles: Cómo Robaron $6 Millones de Audius

Una vulnerabilidad que se había pasado por alto durante mucho tiempo llevó a un atacante a robar casi 18,6 millones de tokens de AUDIO del servicio de música en streaming Web3.

Por Andrew Hayward

4 min lectura

El servicio descentralizado de música en streaming Audius fue hackeado por más de 6 millones de dólares durante el fin de semana, que el atacante robó de su contrato inteligente. En un informe postmortem publicado a última hora del domingo, el servicio detalló el ataque y la respuesta, y señaló que el hacker se aprovechó un fallo no descubierto a pesar de las auditorías de seguridad realizadas.

Según el informe, el hacker aprovechó un fallo en el código de inicialización de los contratos inteligentes que le permitió manipular los contratos de gobernanza, staking y delegación basados en Ethereum. Un contrato inteligente es el código que alimenta las aplicaciones descentralizadas (dapps) en la Web3, permitiendo que las aplicaciones, los juegos y los protocolos funcionen sin intermediarios centralizados.

Teniendo en cuenta ese modelo descentralizado, Audius utiliza tokens ERC-20 basados en Ethereum (AUDIO) para permitir la gobernanza de la comunidad. Sin embargo, este modelo fue finalmente explotado el sábado. A través del exploit, el atacante alteró la estructura de votación de Audius e intentó delegar dos veces 10 billones de tokens AUDIO en su cartera para impulsar propuestas de gobernanza.

Estos movimientos no afectaron al suministro de tokens de AUDIO, sino al propio sistema de staking de tokens de la plataforma. Sin embargo, permitió que el atacante aprobara una propuesta de gobierno que enviaba la totalidad del fondo de tokens de la comunidad -casi 18,6 millones de fichas de AUDIO- a una cartera externa de Ethereum. Los tokens tenían un valor colectivo de casi 6,1 millones de dólares en el momento del robo.

Según una cronología de los acontecimientos compartida por Audius, el equipo del proyecto fue alertado del ataque unos 25 minutos después de la transferencia de tokens. El equipo recurrió rápidamente al hacker de sombrero blanco samczsun, de la empresa de capital riesgo Paradigm -que ha ayudado a frustrar con éxito anteriores intentos de explotación de contratos inteligentes- para que ayudara en la respuesta.

Al darse cuenta de que el exploit seguía activo, el equipo desarrolló correcciones que aprovechaban la misma vulnerabilidad para detener su uso, y pasó las siguientes horas desplegando parches para detener cualquier otro ataque. El equipo sigue desarrollando correcciones a largo plazo, con nuevas actualizaciones prometidas esta semana.

En el informe postmortem, el equipo de Audius fue sincero sobre las posibles deficiencias o descuidos que podrían haber permitido el atraco y/o ralentizado su respuesta.

Por ejemplo, el equipo no había trabajado activamente en su código Solidity/Ethereum Virtual Machine (EVM) en casi dos años. "El equipo escribió que le llevó tiempo volver a ponerse al día en todas las cosas, y señaló que se mantendría "más en sintonía con el último estado del arte de las herramientas de desarrollo y depuración" en el futuro.

Sin embargo, los contratos inteligentes de Audius habían sido auditados por grupos de seguridad, primero por OpenZeppelin en agosto de 2020, y otros contratos adicionales auditados por Kudelski en octubre de 2021. Aun así, esa vulnerabilidad permaneció abierta al público durante casi dos años desde que los contratos se desplegaron por primera vez en octubre de 2020.

"Las auditorías no son a prueba de balas", escribió el equipo, señalando que el tiempo que un contrato pasó en la naturaleza sin problemas "puede ayudar a construir la confianza, pero no descarta las oportunidades de explotación."

Aunque los tokens estaban valorados colectivamente por encima de los 6 millones de dólares, el atacante los intercambió por un valor mucho más bajo de Ethereum, tal vez en la prisa por blanquear los fondos. Los tokens se intercambiaron por poco más de 704 Ethereum envueltos (WETH) -cerca de 1,07 millones de dólares- el sábado por la noche a través de Uniswap, la principal plataforma de intercambio descentralizada.

Después, el atacante envió casi todo el ETH a través de Tornado Cash, un servicio de mezcla que combina monedas de múltiples transacciones para dificultar el seguimiento de los fondos de criptomonedas en una blockchain.

Get crypto news straight to your inbox--

sign up for the Decrypt Daily below. (It’s free).

Noticias recomendados