El 16 de junio de 2021, el protocolo de préstamos auto-reembolsables Alchemix vivió lo que se conoció como un "reverse rug pull": un bug en el script de despliegue causó que aproximadamente 6,5 millones de dólares en fondos de recompensa fluyeran a la bóveda equivocada, donde pagaron accidentalmente las deudas alETH de los usuarios. Los usuarios pudieron entonces retirar su colateral ETH sin devolver sus préstamos — recibiendo dinero gratis a costa del protocolo en lugar de al revés. El equipo congeló la función de mint en 15 minutos.
Qué ocurrió
Mecánica de Alchemix: los usuarios depositan ETH (u otro colateral), piden prestado contra él en forma de tokens auto-reembolsables como alETH, y con el tiempo las estrategias de rendimiento del protocolo generan retornos que reembolsan automáticamente el préstamo mediante una distribución de recompensas del "transmuter".
El bug no estaba en la lógica de préstamo ni de devengo de recompensas — ambas funcionaban correctamente. El bug estaba en el script de despliegue que creó la bóveda alETH. El script creó accidentalmente bóvedas fantasma adicionales más allá de la prevista y las colocó en el array de bóvedas sobre el que el contrato Alchemist iteraba al distribuir las recompensas del transmuter.
Cuando el contrato calculaba qué bóveda debía recibir cada recompensa, usaba el índice incorrecto en el array de bóvedas — dirigiendo los fondos del transmuter (que debían haber permanecido en el pool de recompensas) a la bóveda alETH, donde pagaron automáticamente las deudas alETH pendientes de los usuarios.
Para los usuarios con posiciones alETH:
- Sus préstamos se amortizaban silenciosamente con fondos de recompensa mal enrutados.
- El contrato Alchemist registraba su deuda como saldada.
- Podían retirar su colateral ETH original sin devolver nada por sí mismos.
Total en la ventana afectada: aproximadamente 6,5 millones de dólares en beneficio no previsto para los usuarios.
Consecuencias
- El equipo de Alchemix identificó el problema y, 15 minutos después, ejecutó una pausa de emergencia en la función mint de alETH.
- Un esfuerzo coordinado con ingenieros de Yearn Finance produjo una corrección del contrato y un plan de redepliegue.
- El equipo publicó un detallado post-mortem y anunció un plan de recuperación financiado con ingresos del protocolo.
- Muchos usuarios que se habían beneficiado del bug devolvieron voluntariamente la ganancia inesperada tras el llamamiento público del equipo. Una fracción significativa no lo hizo.
Por qué importa
El incidente de Alchemix es uno de los casos DeFi más raros donde la pérdida fluyó hacia los usuarios en lugar de desde ellos — un contraejemplo al patrón estándar "bug en contrato inteligente = gana el atacante". La lección estructural es la misma que se repite en toda la historia de DeFi: los scripts de despliegue son parte del protocolo, y los bugs en ellos pueden ser tan dañinos económicamente como los bugs en los propios contratos.
Lecciones estructurales específicas:
- Los arrays de bóvedas deberían inicializarse con aserciones explícitas sobre longitud y contenido esperados, haciendo que el contrato revierta el despliegue si los valores reales no coinciden.
- Los scripts de verificación post-despliegue deberían enumerar cada variable de estado y compararla con los valores esperados antes de permitir cualquier interacción del usuario.
- El tiempo de respuesta de 15 minutos es la historia de éxito embebida en el incidente: a Alchemix le llevó ese tiempo identificar, diagnosticar y pausar el problema — un benchmark que desde entonces se ha convertido en el suelo para la capacidad de respuesta seria de un protocolo DeFi.
El encuadre del "reverse rug" también se convirtió en un meme recurrente en la comunidad de seguridad de DeFi-Twitter: un recordatorio útil de que los bugs de contratos inteligentes pueden ser económicamente neutrales o incluso positivos para usuarios individuales, con el coste absorbido por los demás stakeholders del protocolo en lugar de por las personas que notan el bug primero.
Fuentes y evidencia on-chain
- [01]cryptonews.nethttps://cryptonews.net/news/defi/818795/
- [02]coindesk.comhttps://www.coindesk.com/tech/2021/06/16/free-money-bug-hits-defi-platform-alchemix
- [03]halborn.comhttps://halborn.com/explained-the-alchemix-reverse-rug-pull-june-2021/