Fallo de entropía en Coldcard Wallet se vincula a un robo de bitcoin de 38 M$
AVISO URGENTE DE SEGURIDAD — Si generaste una semilla (seed) en un Coldcard Mk3, Mk4, Mk5 o modelo Q antes del último hotfix de firmware, tus fondos podrían estar en riesgo. Consulta la información completa y sigue de inmediato los pasos de migración.
Qué ocurrió — Barrido on-chain por 38 M$
Lookonchain informó de la transferencia de más de 38 millones de dólares en bitcoin — en concreto, 594,48 BTC — desde unas 500 carteras hacia una dirección de consolidación que comienza por bc1qnk… en una ventana muy estrecha de pocos bloques.
Los rasgos de las carteras drenadas resultan relevantes:
- Predominaban carteras de una sola firma (sin protección multisig).
- Varias llevaban años inactivas, lo que sugiere que el barrido apuntó a semillas vulnerables ya existentes y no a carteras con actividad reciente.
- Las salidas se produjeron de forma coordinada y casi simultánea, un patrón compatible con un barrido automatizado de semillas enumerables o derivables dentro de un espacio de búsqueda reducido.
Aunque Coinkite no ha confirmado oficialmente que el fallo de entropía sea la causa concreta de este barrido, la coincidencia temporal entre el aviso y el movimiento on-chain, junto con el perfil de las carteras afectadas, ha llevado a investigadores de seguridad a señalar la vulnerabilidad de generación de semillas con baja entropía como la explicación técnica más plausible.
El fallo técnico — Qué falló en la fuente de entropía de Coldcard
Fuente: nota técnica de Coinkite — blog.coinkite.com/entropytechnicalbackgrounder/
El aviso técnico de Coinkite describe una cadena de errores que impidió que el generador de números aleatorios verdaderos (TRNG) del hardware aportara correctamente aleatoriedad a la generación de semillas en las versiones de firmware afectadas.
Fallo central: la generación de la seed — base criptográfica de una cartera de bitcoin — acabó dependiendo de un generador pseudoaleatorio por software (PRNG) de MicroPython, en lugar del RNG de hardware previsto.
Causa raíz: una configuración de compilación y una comprobación del preprocesador no forzaron la ruta del RNG de hardware. Como resultado, se utilizó de forma silenciosa el mecanismo alternativo por software, sin un indicio visible para el usuario de que la fuente de entropía de hardware no estaba contribuyendo como debía.
Impacto práctico en seguridad:
- Mk3: ~40 bits de seguridad efectiva frente a 128 bits previstos.
- Mk4, Mk5 y Q: ~72 bits de seguridad efectiva (mejora parcial por los secure elements) frente a 128 bits previstos.
Con 40 bits, el número de seeds posibles se reduce a aproximadamente 1 billón (10^12): enorme en términos cotidianos, pero alcanzable para atacantes bien financiados con hardware moderno. Los 72 bits ofrecen más protección, pero siguen lejos del estándar de 128 bits que hace inviable el ataque por fuerza bruta con la tecnología previsible.
Dispositivos y firmware afectados
Fuente: aviso de Coinkite — blog.coinkite.com/coldcardmk3seedgenerationwarning/
- Mk3 — RIESGO ALTO: seeds generadas con firmware 4.0.1 (publicado en marzo de 2021) hasta la última versión compatible 5.0.3. En estas condiciones, la entropía efectiva fue de ~40 bits, la exposición más severa del conjunto.
- Mk4, Mk5 y Q — RIESGO ELEVADO: seeds generadas con cualquier firmware anterior al hotfix más reciente presentan entropía reducida de ~72 bits, sensiblemente mejor que Mk3 pero por debajo del estándar de 128 bits.
No afectados: TAPSIGNER, OPENDIME y SATSCARD no se ven impactados, al usar bases de código distintas y no estar sujetos a esta vulnerabilidad.
Usuarios con menor riesgo: quienes añadieron al menos 50 tiradas de dado independientes y privadas durante la generación de la seed (aportando entropía externa que el dispositivo no puede reducir) o quienes usan una passphrase BIP39 fuerte y única. La passphrase se procesa por separado de la entropía interna del dispositivo y añade protección incluso si el RNG estuviera comprometido.
Qué debes hacer — Guía de migración paso a paso
Coinkite es explícita: actualizar el firmware no corrige seeds ya existentes. La seed se generó con entropía insuficiente, y ninguna actualización cambia la aleatoriedad (o su ausencia) utilizada en su creación. La única solución es generar una seed completamente nueva y migrar los fondos.
1) Considera comprometidas las seeds existentes
Si tu seed se generó en un dispositivo y firmware afectados sin 50+ tiradas de dado y sin una passphrase fuerte, asume vulnerabilidad. No retrases la actuación.
2) Actualiza de inmediato al firmware corregido
- Mk4 y Mk5: firmware 5.6.0 o posterior.
- Modelo Q: firmware 1.5.0Q o posterior.
- Mk3: no hay corrección disponible (ver medida temporal más abajo).
3) Genera una seed totalmente nueva con el firmware actualizado
En el dispositivo ya actualizado, crea una seed nueva; no restaures tu frase semilla anterior. Esta seed se generará con entropía de hardware correcta.
Para reforzar la seguridad:
- Añade al menos 50 tiradas de dado independientes durante la generación.
- Combina la seed con una passphrase BIP39 fuerte y única y guárdala por separado de la copia de seguridad de la seed.
4) Realiza copias de seguridad correctamente
Anota la nueva frase semilla en papel y custódiala de forma segura. Si usas passphrase BIP39, almacénala por separado. Ambas son necesarias para acceder; perder cualquiera implica perder el acceso.
5) Verifica la cartera
Comprueba la huella (fingerprint) y verifica al menos una dirección de recepción para confirmar que la nueva cartera está configurada correctamente antes de mover fondos.
6) Envía primero una transacción de prueba
Antes de migrar el saldo completo, envía una cantidad pequeña desde la cartera antigua a la nueva y confirma la recepción.
7) Migra el resto de los fondos
Transfiere todo el saldo desde la cartera antigua (potencialmente comprometida) a la nueva. No sigas usando la seed anterior tras la migración.
Medida temporal para Mk3: si solo dispones de un Mk3 y no puedes acceder de inmediato a un Mk4/Mk5/Q, puedes reducir la exposición añadiendo una passphrase BIP39 fuerte y única a tu cartera actual. No es una solución definitiva: planifica una migración adecuada a un dispositivo no afectado lo antes posible.
Por qué importa la entropía — Explicación no técnica
La seguridad de una cartera hardware depende de la aleatoriedad utilizada para crear su seed, la llave maestra de la que derivan todas tus direcciones de bitcoin. Si la seed se generó con aleatoriedad insuficiente, el conjunto de seeds posibles era mucho menor de lo previsto: en vez de una entre 2^128, pasaba a ser una entre ~2^40 o ~2^72. Ese recorte del espacio de búsqueda puede permitir que un adversario sofisticado, con recursos de cómputo suficientes, lo explore en un plazo viable.
El airgap físico y la resistencia a manipulaciones del hardware Coldcard no se ven cuestionados; el problema es que, si la seed nace de un pool de aleatoriedad reducido, esas propiedades físicas no compensan una base criptográfica debilitada.
Fuentes oficiales
- Aviso Mk3 de Coinkite
- Nota técnica (Technical Backgrounder)
Verifica siempre la información a través de canales oficiales de Coinkite. No sigas instrucciones de fuentes no oficiales, cuentas en redes sociales que se presenten como soporte, ni terceros que ofrezcan ayuda para recuperar o migrar fondos.
Conclusión
El fallo de entropía de Coldcard es una vulnerabilidad grave y técnicamente compleja que, según la evidencia on-chain disponible, ya habría provocado el robo de aproximadamente 38,2 millones de dólares en bitcoin en carteras afectadas. El origen es un error de firmware que recurrió silenciosamente a un generador aleatorio por software en lugar del RNG de hardware, creando seeds con 40 o 72 bits de seguridad efectiva en vez de los 128 bits previstos.
Si tienes un Coldcard y generaste tu seed con firmware afectado sin tiradas de dado o sin una passphrase fuerte, tus fondos podrían estar en riesgo ahora mismo. La actuación es inaplazable: actualiza el firmware, genera una seed nueva y migra los fondos.
Preguntas frecuentes (FAQ)
¿Qué es el fallo de entropía de Coldcard?
Un bug de firmware que hizo que los dispositivos Coldcard usaran un PRNG por software en lugar del TRNG de hardware al generar la seed, produciendo seeds con ~40 bits (Mk3) o ~72 bits (Mk4/Mk5/Q) de seguridad efectiva en lugar del estándar de 128 bits.
¿Está afectado mi Coldcard?
Mk3 con firmware 4.0.1 a 5.0.3: riesgo alto. Mk4, Mk5 y Q con firmware anterior al hotfix más reciente: también afectados. TAPSIGNER, OPENDIME y SATSCARD no están afectados.
¿Actualizar el firmware arregla mi seed actual?
No. La actualización no corrige seeds ya generadas. Debes crear una seed completamente nueva con el firmware actualizado y migrar todos los fondos.
¿A qué versión debo actualizar?
- Mk4 y Mk5: 5.6.0 o posterior.
- Q: 1.5.0Q o posterior.
- Mk3: sin corrección disponible; usa una passphrase BIP39 fuerte como medida temporal mientras preparas la migración a un dispositivo no afectado.