¡Qué tal, gente! La mayoría de los usuarios están convencidos de que las wallets de hardware son una fortaleza impenetrable. Lamentablemente, no es así. Hace un par de días leí el primer reporte sobre drenados en dispositivos "fríos" y, no les miento, me dio un frío en el estómago.
La Coldcard de Coinkite era literalmente el estándar de oro indiscutible para los bitcoin maximalists. Y que salgan con semejante metida de pata...
En fin, basta de drama y al grano. Si tienen bitcoins en una Coldcard, pongan muchísima atención. A continuación les voy a desglosar absolutamente todo: desde la raíz criptográfica de este desastre hasta el paso a paso de cómo poner sus monedas a salvo en este preciso instante.
⚠️ ALERTA DE URGENCIA CRÍTICA
Si generaste tu frase mnemónica (seed) directamente en el dispositivo Coldcard entre marzo de 2021 y julio de 2026, TUS FONDOS ESTÁN EN RIESGO EXTREMO.
Los atacantes están barriendo la blockchain en modo 100% automatizado ahora mismo. ¡Lee ya mismo la sección de instrucciones y evacúa tus activos!
1. ¿Qué demonios pasó? El resumen del desastre
En pocas palabras: el generador de números aleatorios en los firmwares de Coldcard generaba valores que de "aleatorios" no tenían nada. Como resultado, los hackers pudieron recrear las llaves privadas a placer y armaron una auténtica carnicería.
El ataque viene cayendo por olas. Y créanme, por mi experiencia en esto, la tercera ola definitivamente no será la última mientras quede un solo satoshi tirado en esas direcciones vulnerables.
Cronología y magnitud del drenado
| Ola de ataques | Fecha de inicio | Direcciones comprometidas (incremento) | BTC robados (por ola) | Total de BTC robados | Equivalente en USD (estimado) |
|---|---|---|---|---|---|
| 1.ª ola | 30 de julio de 2026 | ~1,196 | ~1,082.65 BTC | 1,082.65 BTC | ~$67.1M |
| 2.ª ola | 31 de julio de 2026 | +1,477 (total 2,673) | +76.16 BTC | 1,158.81 BTC | ~$71.8M |
| 3.ª ola | 02 de agosto (en curso) | +1,912 (total 4,585) | +207.73 BTC | 1,366.54 BTC | ~$84.7M |
Duele horrores ver estos números. Casi 85 millones de dólares evaporados simplemente porque a alguien se le pasó incluir un flag en el build del firmware.
2. ¿Quiénes están en la línea de fuego?
Ojo aquí, presten mucha atención. No todos los usuarios de Coldcard están comprometidos.
Modelos y versiones en la mira:
- Coldcard Mk3: Versiones de firmware desde v4.1.2 hasta v5.2.1.
- Coldcard Mk4: Versiones de firmware desde v5.0.0 hasta v5.2.1.
- Coldcard Q (incluyendo Q1): Todas las builds tempranas previas al parche de emergencia de julio de 2026.
Pero más allá del modelo, lo crítico es la forma en que generaste tu llave privada.
Están comprometidos:
- Quienes desempaquetaron su Coldcard nuevecita, le dieron a "Create New Seed", confiaron a ciegas en la entropía del sistema y anotaron sus 12 o 24 palabras.
Están a salvo (relativamente):
- Quienes generaron su seed tirando **dados físicos (Dice Rolls)** directamente en el hardware. ¡Este es justo el método *must-have* que no me canso de repetirle a mis ingenieros! La física del dado le gana por completo a cualquier fallo del generador del sistema.
- Quienes importaron un seed previamente generado en otro dispositivo offline 100% seguro (por ejemplo, usando Tails + Electrum o con scripts dedicados en una Raspberry Pi).
3. Cómo saber si tu wallet pasó a mejor vida (o está por pasar)
A ver, alto ahí. Cero pánico. Agarra tu dispositivo y hagamos un diagnóstico rápido.
Paso 1: Revisa la versión de firmware y la fecha
Conecta tu Coldcard a la corriente (o usa un cable Power Only) e ingresa tu PIN.
Ve a la siguiente ruta: Advanced -> System Information -> Version.
Revisa la versión. Si tienes, digamos, la v5.1.0 en una Mk4 y generaste tu seed entre 2022 y 2024, estás en serios problemas: estás totalmente expuesto.
Paso 2: Compara tus direcciones
El equipo de Galaxy Research se rifó con un trabajo brutal y sacó un reporte analítico tremendo, además de hacer públicos los pools de rutas de derivación comprometidas.
Puedes verificar tus direcciones públicas (xpub / zpub) corriendo un script open-source oficial disponible en el repositorio de GitHub de Coinkite.
⚠️ Regla de oro de seguridad: Nunca, escúchame bien, NUNCA ingreses tus 12/24 palabras en sitios web para "verificar". Lo único que se verifica son tus direcciones públicas (xpub) o direcciones BTC individuales. Si un sitio te pide la seed phrase, es 100% un phishing para terminar de quitarte lo que el bug no alcanzó a robarte.
4. Guía paso a paso: Cómo salvar tus fondos de forma segura
Maldita sea, no puedo dejar de remarcar esto.
¡ACTUALIZAR EL FIRMWARE NO ES SUFICIENTE!
El firmware arreglará el generador para el futuro, pero tu frase semilla actual YA es matemáticamente predecible para un bot rastreador. Tu única misión ahora mismo es mover todos tus BTC a una dirección completamente NUEVA de inmediato.
Paso 1: Actualiza el firmware (parche seguro)
- Descarga la versión más reciente del firmware (mínimo v5.3.0X para Mk4/Q) **únicamente** del sitio oficial
coinkite.com/downloads. - ¡Es obligatorio verificar la firma PGP del archivo! (Tienen el tutorial directo en el blog oficial de Coinkite).
- Copia el archivo .dfu o .bin a tu MicroSD, métela en la Coldcard y dale a
Advanced -> Upgrade Firmware.
Paso 2: Genera un NUEVO seed (¡Exclusivamente con Dice Rolls!)
No vuelvas a confiar a ciegas en el auto-generador, ni aunque ya esté parcheado. Haz las cosas como se debe:
- Selecciona
New Seed Words -> 24 Words. - Presiona la tecla
4(esto activa el modo para ingresar los tiros de dados). - Consíguete un dado de casino común y corriente y aviértete mínimo 100 tiros (de preferencia unos 50 tiros bien hechos si usas la combinación correcta). Ingresa honestamente cada número que caiga. Esto garantiza una entropía estocástica real.
- Apunta las nuevas 24 palabras en papel o placa de metal. Si las pierdes, ni Dios te va a poder ayudar.
Paso 3: Transfiere tus fondos (Transacción de rescate)
Ahora toca drenar las monedas de tu seed viejo (vulnerable) y enviarlas a la dirección recién generada en el Paso 2.
Aquí es donde juegas contra el reloj. Los bots de los hackers están monitoreando el mempool 24/7. Si mandas una transacción con un fee muy bajo, se va a quedar atorada y un bot podría hacerte un front-running robándote los fondos al meter un Replace-By-Fee (RBF) con mayor comisión.
Paso 4: Cálculo de comisiones y manejo de RBF
No te pongan tacaño con la comisión. Entra a mempool.space, checa la tarifa de High Priority del momento y multiplícala por 1.5 o 2. Tus fondos tienen que entrar SÍ O SÍ en el PRÓXIMO bloque.
5. Deep Dive Técnico: ¿Cómo carajos ocurrió el hackeo exactamente?
Carajo, como especialista en seguridad sigo un poco en shock de lo ridículamente estúpida que resultó ser esta vulnerabilidad. Es el clásico ejemplo de cómo una simple líneecita de código o un `#define` olvidado en C/MicroPython puede tumbar un sistema entero que vale decenas de miles de millones de dólares.
Vamos a abrir el cofre y analizar la anatomía criptográfica de esta cagada monumental.
La raíz del bug: ¿A dónde diablos se fue la entropía?
El sistema operativo de Coldcard corre sobre una versión personalizada de MicroPython. En condiciones normales, cuando el dispositivo genera una nueva frase semilla (BIP-39), debería extraer datos verdaderamente aleatorios (TRNG - True Random Number Generator) directamente de dos chips de seguridad independientes (Secure Elements), además del generador integrado en el microcontrolador STM32.
Sin embargo, en marzo de 2021, durante una refactorización del código fuente y una actualización de la librería base de MicroPython, los desarrolladores sobrescribieron por accidente la inicialización del generador por hardware. En el archivo de configuración del build, se reseteó o redefinió mal un flag:
#define MICROPY_HW_ENABLE_RNG (0) // Ojo: ¡debía ser (1)!¿Qué pasó después?
Cuando el usuario le daba a "Generar nueva wallet", el firmware intentaba pedir entropía al sistema.
Debido al flag en cero, el driver de hardware del TRNG jamás se inicializaba como debía.
El sistema no lanzaba ningún error (porque los mecanismos de fallback interceptaban la llamada), sino que empezaba a tomar muestras de un generador pseudoaleatorio (PRNG) inicializado con un seed fijo o ultra predecible... ¡como el timer del sistema en milisegundos o el valor constante de un registro justo después del boot!
En español claro: En lugar de sacar 256 bits de puro caos a partir del ruido físico del chip, la wallet generaba "aleatoriedad" a partir de una secuencia donde la variabilidad era de apenas 216 a 232 estados posibles.
Para un usuario común, 232 combinaciones suena a un número gigantesco (unos 4.2 mil millones). Pero para una GPU moderna o un rig de cracking dedicado, ¡eso es trabajo de 15 segundos!
¿Cómo recrearon los hackers las llaves?
Los atacantes ni siquiera tuvieron que vulnerar los dispositivos físicamente.
Simplemente analizaron los rangos de timestamps y las versiones de firmware, armaron un algoritmo para predecir el estado del PRNG y generaron todas las combinaciones posibles de 12/24 palabras que la versión vulnerable de Coldcard PODÍA DAR MATEMÁTICAMENTE.
De ahí en adelante, pan comido:
- Los hackers generaron una tabla de direcciones públicas para todas las frases semilla predichas (rutas de derivación
m/84'/0'/0'/0/xpara Native SegWit ym/86'/0'/0'/0/xpara Taproot). - Soltaron bots para escanear todo el historial de la blockchain de Bitcoin (el conjunto UTXO).
- Apenas hacían match las direcciones con saldos reales, se ejecutaba la derivación automatizada de llaves privadas y vaciaban las wallets al instante.
Es exactamente por eso que el ataque viene en olas. En la primera ola barrieron los rangos de generación más evidentes. En la segunda y tercera, los hackers ampliaron el bruteforce hacia desfasajes de tiempo menos probables y rutas de derivación adicionales (como estructuras multisig y cuentas fuera de estándar).
Gente, la gran lección de esta historia: nunca confíen al 100% en una sola fuente de entropía, aunque sea una hardware wallet famosa y super aclamada.
Grábense la regla de los dos "NO":
- NO usen la generación automática de llaves sin agregar entropía manual (tirar dados / Dice Roll es nuestro mejor aliado).
- NO dejen las actualizaciones de firmware para después, pero ANTES de flashear, SIEMPRE verifiquen las firmas PGP de los releases.
Cuiden sus satoshis, verifiquen sus direcciones y evacuen sus fondos ahorita mismo si están en la zona de riesgo.