En Resumen
- Atacantes roban más de $24 millones en criptomonedas explotando una vulnerabilidad en las piscinas o pools de liquidez de Curve.
- Vyper, un lenguaje de programación utilizado en los contratos inteligentes de Ethereum, fue identificado como el origen de la vulnerabilidad.
- Proyectos como JPEG'd, Alchemix y Metronome DAO fueron afectados, destacando la frecuencia de ataques de re-entrancia en el espacio de las finanzas descentralizadas (DeFi).
Varios protocolos de finanzas descentralizadas fueron atacados el domingo por criminales que robaron más de $24 millones en criptomonedas. Los atacantes aprovecharon una vulnerabilidad en las piscinas o pools de liquidez en Curve, la plataforma de creador de mercado automatizada.
La vulnerabilidad fue rastreada hasta Vyper, un lenguaje de programación alternativo de terceros para contratos inteligentes de Ethereum, según informó Curve en Twitter. La plataforma dijo que las otras piscinas de liquidez que no utilizan el lenguaje no fueron afectadas.
Las piscinas de liquidez son contratos inteligentes que contienen tokens y pueden proporcionar liquidez a los mercados de criptomonedas de una manera que no depende de intermediarios financieros. Sin embargo, como varios proyectos aprendieron el domingo, un pequeño defecto puede generar pérdidas sustanciales.
Se robaron $11 millones en criptomonedas del protocolo de préstamos NFT JPEG'd, según la empresa de seguridad de finanzas descentralizadas Decurity. JPEG'd fue uno de los primeros en identificar un problema con su pool en Curve.
"Hubo un ataque", dijo JPEG'd en Twitter. "Hemos estado investigando el problema desde que nos dimos cuenta y [...] parece que el problema está relacionado con el pool de Curve".
JPEG'd permite a los usuarios utilizar NFT como garantía para préstamos. En cuanto a los activos depositados en JPEG'd, el protocolo tiene un valor total bloqueado (TVL) de alrededor de $32 millones. JPEG'd dijo que el código responsable de la custodia de los NFT y los fondos del tesoro no se vio afectado.
El token de gobernanza del protocolo JPEG bajó un 23% en el momento de escribir esto, según datos de CoinGecko. El domingo, la moneda alcanzó un mínimo histórico de $0.000347.
En un Tweet ahora eliminado, Curve inicialmente describió la vulnerabilidad como un ataque de "re-entrancia" de solo lectura común que podría haberse evitado. Un ataque de re-entrancia ocurre cuando un contrato inteligente interactúa con otro contrato, que a su vez llama de vuelta al primer contrato antes de ejecutarse por completo.
Las vulnerabilidades de reentrancia permiten a un atacante realizar múltiples llamadas en una sola función y engañar a un contrato inteligente para que calcule saldos incorrectos. Uno de los ejemplos más destacados fue el hackeo del DAO de $55 millones en 2016 en Ethereum.
Sin embargo, en respuesta a una cuenta de Twitter que volvió a publicar la declaración eliminada más tarde, Curve dijo que su impresión inicial era incorrecta.
"Sí, no es de solo lectura", dijo Curve, agregando que "no hubo ninguna conducta incorrecta por parte de los proyectos que se integraron, ni siquiera de los usuarios de vyper".
Los ataques de reentrancia son un vector demasiado común para que los atacantes roben protocolos, según Meir Dolev, cofundador y CTO de la empresa de ciberseguridad Cyvers, dijo Decrypt.
"Son bastante comunes", dijo Dolev. "Y es posible evitarlos con el diseño y desarrollo adecuados".
El problema no fue específico de JPEG'd. No mucho después de que el protocolo de préstamos NFT fuera explotado, Alchemix y Metronome DAO perdieron $13.6 millones y $1.6 millones respectivamente de manera similar, dijo.
Alchemix reconoció en Twitter que está trabajando activamente para solucionar un problema con su pool de liquidez. MetronomeDAO dijo en Twitter que su investigación sobre lo sucedido está en curso, describiendo el ataque como "parte de un conjunto más amplio de exploits".
En el caso de JPEG'd, el atacante fue adelantado por un bot de valor extraíble máximo (MEV), dijo Dolev. El bot identificó la transacción del posible atacante y pagó una tarifa para ejecutar una transacción similar antes que él.
Vyper dijo en Twitter que fue el compilador del lenguaje de programación el que falló. Cuando un desarrollador termina de escribir código, este se compila desde un formato legible por humanos a una forma que las computadoras pueden ejecutar.
Esto impidió que los guardias de reentrada, protecciones que se incluyeron en el código de los proyectos y que deberían proteger contra ataques de reentrada, funcionaran, dijo Dolev.
"El compilador, en algunas versiones, no lo compiló de la manera correcta", dijo Dolev. "Tiene algunos errores o fallas".
Daily Debrief Newsletter
Start every day with the top news stories right now, plus original features, a podcast, videos and more.