Hack crítico del puente Wanchain para Cardano: robados 515 millones de tokens NIGHT
El exploit del puente entre cadenas Wanchain, que conecta Cardano con BNB Chain, ha conmocionado a la comunidad. Como resultado del ataque, se extrajeron aproximadamente 515 millones de tokens NIGHT del pool de liquidez. Según mis estimaciones, en el momento del incidente, esta cantidad oscilaba entre 9 y 13 millones de dólares, dependiendo de las condiciones del mercado.
Este evento es un duro recordatorio de que los puentes entre cadenas siguen siendo el eslabón más vulnerable en el ecosistema DeFi. Analicemos los detalles técnicos y las consecuencias.
Causa del incidente: error en el validador TreasuryCheck
La investigación inicial, realizada por expertos en seguridad de BlockSec, identificó la raíz del problema: una codificación no inyectiva del mensaje firmado en el validador TreasuryCheck. El validador es un contrato inteligente responsable de verificar la legitimidad de las operaciones. El término «codificación no inyectiva» significa que diferentes conjuntos de datos de entrada pueden producir el mismo valor de salida. En términos simples, el sistema pierde la capacidad de distinguir entre diferentes operaciones, lo que abre el camino para un ataque.
El mecanismo de vulnerabilidad era el siguiente:
- El mensaje firmado se formaba mediante la concatenación «en bruto» de 14 campos de longitud variable (redeemer) a través de la función AppendByteString, sin usar separadores ni prefijos de longitud. Redeemer es un conjunto de datos adjunto a la transacción para confirmar su validez.
- Debido a esto, diferentes conjuntos de valores de campo podían producir una cadena de bytes idéntica.
- La misma cadena generaba el mismo hash (huella digital) y, en consecuencia, la misma firma, apta para su reutilización.
BlockSec confirmó esto descompilando el bytecode on-chain de Plutus V2 y decodificando el redeemer de la transacción del exploit. En el código había una función incorporada SerialiseData, pero solo se aplicaba al hacer coincidir output-datum, no al construir el hash para la firma. El uso de Sha3_256(SerialiseData(...)) habría garantizado límites de campo inequívocos en la codificación CBOR y habría prevenido ataques de esta clase.
Imagina: un director aprueba la combinación digital «12345» y la certifica con su firma. El programa verificador divide la combinación en campos: «a quién» = 12, «cuánto» = 345. Pero la combinación en sí no tiene separador. El atacante no falsifica la firma, solo desplaza el límite invisible: «a quién» = 123, «cuánto» = 45. La firma sigue siendo válida, y el destinatario y la cantidad cambian. Precisamente en esto se basó el ataque.
Consecuencias y reacción del mercado
Los atacantes, aprovechando esta vulnerabilidad, fabricaron mensajes para la emisión ilegítima de tokens, y luego convirtieron los NIGHT robados en ADA en la red Cardano. El equipo de Wanchain desconectó rápidamente el puente para realizar la investigación y prometió total transparencia.
El token NIGHT es el activo nativo del proyecto Midnight, orientado a la privacidad y desarrollado con el apoyo de Input Output (IO), la entidad detrás de Cardano. La reacción del mercado fue inmediata y severa: el precio de NIGHT se desplomó más del 30% en un día, alcanzando un mínimo histórico de alrededor de $0.016.
En Midnight Foundation se apresuraron a asegurar a la comunidad que el incidente está aislado dentro del puente Wanchain y no afecta a la red Midnight en sí, ni a su protocolo, validadores e infraestructura clave. Enfatizan que el problema está en la infraestructura de terceros, no en el activo NIGHT ni en la blockchain de Midnight.
Conclusión analítica: Este incidente es un ejemplo clásico de «ataque de reutilización de firma», posible debido a la negligencia en los estándares de codificación segura. No pone fin a Cardano o Midnight, pero sirve como una señal crítica para todos los desarrolladores de soluciones entre cadenas. La seguridad de los puentes debe ser un orden de magnitud mayor; de lo contrario, seguiremos viendo colapsos similares. La recuperación de la confianza en Wanchain y el token NIGHT será ahora un proceso largo y doloroso.