El 11 de mayo de 2025, la plataforma DeFi y de tokenización RWA en BNB Chain MobiusDAO fue drenada por aproximadamente $2,15 millones mediante un bug de doble aplicación decimal. La función de precios para el colateral WBNB aplicaba un factor de escalado 10^18 dos veces, sobrevalorando masivamente cada depósito de usuario. Con solo 0,01 BNB (~$3) como entrada, el atacante minteó 9,73 cuatrillones de tokens MBU y los intercambió por stablecoins.
Qué ocurrió
MobiusDAO permitía a los usuarios mintear tokens MBU depositando WBNB como colateral. Las matemáticas de minteo usaban un oráculo de precios que devolvía el precio en USD de BNB escalado por 10^18 (la representación estándar de punto fijo de 18 decimales en Solidity).
La falla fatal: el código del contrato luego multiplicaba el precio devuelto por 10^18 una segunda vez — aparentemente porque el desarrollador esperaba que el oráculo devolviera un número crudo que necesitaba escalado, sin darse cuenta de que el oráculo ya había hecho el escalado. El resultado: cada depósito de BNB se valoraba en 10^18 veces su valor real en la contabilidad del protocolo.
El ataque:
- Depositó 0,01 BNB (con un valor aproximado de $3 al precio de mercado).
- La lógica de precios del protocolo calculó el "valor de colateral" del depósito como aproximadamente $3 × 10^18 ≈ $3 quintillones.
- Minteó ~9,73 cuatrillones de tokens MBU contra la absurda valoración de colateral.
- Intercambió los MBU recién minteados por stablecoins a través de la liquidez del DEX, extrayendo aproximadamente $2,15 M antes de que se acabara la liquidez.
- Enrutó las stablecoins a través de Tornado Cash para el blanqueo.
Consecuencias
- MobiusDAO pausó las operaciones y contactó a firmas de ciberseguridad y a las fuerzas del orden.
- El equipo anunció planes para un relanzamiento del protocolo con matemáticas de precios corregidas.
- Sin recuperación pública; los fondos fueron blanqueados a través de Tornado Cash.
- El precio del token MBU colapsó esencialmente a cero a medida que la oferta sin respaldo alcanzó el mercado.
Por qué importa
El incidente de MobiusDAO es uno de los casos más claros de la clase de bug decimal "obvia en retrospectiva" — matemáticas de protocolo que multiplican por un factor de escalado que ya ha sido aplicado aguas arriba. La misma familia de bugs ha recurrido en:
- MobiusDAO (mayo de 2025) — doble 10^18 en oráculo de precios.
- WOOFi (marzo de 2024) — escalado decimal parcial omitido en sPMM.
- Vee Finance (septiembre de 2021) — desajuste de decimales en comprobación de slippage.
- Múltiples protocolos más pequeños en varias cadenas.
La respuesta defensiva es conceptualmente simple pero operativamente exigente:
- Cada entrada numérica a un cálculo de precio debe tener su escalado documentado en el origen y validado en el punto de consumo.
- Pruebas basadas en propiedades (invariantes de Foundry, Echidna) deben hacer fuzzing al espacio de entrada buscando salidas no acotadas dadas entradas acotadas — exactamente el síntoma que el bug de MobiusDAO habría producido bajo cualquier prueba que permitiera consultas de precio de BNB.
- La revisión de código para nuevos despliegues de tokenómica debería incluir específicamente "dibujar las flechas de análisis dimensional" — ¿qué unidades lleva cada variable, y las operaciones entre ellas producen unidades consistentes?
La combinación de $3 de capital del atacante → $2,15 M de salida (una proporción de apalancamiento aproximada de 700.000×) es uno de los exploits con mayor apalancamiento económico registrados. La asimetría entre el coste del bug (una sola multiplicación mal colocada) y el coste de la recuperación (territorio de relanzamiento de protocolo) es la lección recurrente en el extremo de protocolos pequeños de la historia DeFi.
Fuentes y evidencia on-chain
- [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-mobius-hack-may-2025
- [02]cryptopotato.comhttps://cryptopotato.com/mobius-exploited-for-2-1m-while-scammers-breach-ledgers-social-media/
- [03]quadrigainitiative.comhttps://www.quadrigainitiative.com/hackfraudscam/mobiusdaowbnbdepositpricemiscalculationdrain.php