INCIDENTE ACTIVO · ACTUALIZADO 9 AGO 2026

El fallo de entropía de Coldcard

Durante cinco años, las carteras Coldcard generaron frases semilla con mucha menos aleatoriedad de la que prometían. En julio de 2026 alguien se dio cuenta y vació más de 5,200 direcciones. Aquí está lo que pasó, cómo saber si te afecta, y por qué mover los fondos mal puede costarte todo.

Comprobar si me afecta →

Qué falló

Una línea de código, cinco años

El 1 de marzo de 2021, un cambio en el firmware de Coldcard sustituyó la fuente de aleatoriedad. Hasta entonces la semilla se generaba con el generador de números aleatorios por hardware del chip STM32 — un componente físico dedicado a producir azar real. El cambio lo reemplazó por una función de una librería de software que devolvía valores predecibles.

Una frase semilla debe tener 128 bits de entropía: 340 sextillones de posibilidades, imposible de adivinar. Lo que salió de ese código tenía muchísimo menos.

Modelo Entropía real Firmware afectado Corregido en
Mk2 · Mk3~40 bits4.0.1 → 4.1.94.2.0
Mk4 · Mk5~72 bitsanterior a 5.6.05.6.0 · Edge 6.6.0X
Q~72 bitsanterior a 1.5.0Q1.5.0Q · Edge 6.6.0QX

Cuarenta bits significa que un atacante puede probar todas las combinaciones posibles desde su casa, sin tocar tu dispositivo, sin saber quién eres. No es un robo dirigido: es barrer el espacio entero de llaves y quedarse con lo que tenga saldo.

1,816 BTC

Robados entre el 30 de julio y el 3 de agosto de 2026, unos 116 millones de dólares.

41 minutos

Lo que tardó la primera oleada en vaciar 1,196 direcciones. No hubo tiempo de reaccionar.

5,200+

Direcciones afectadas en cuatro oleadas. El barrido continúa mientras queden fondos sin mover.

¿Te afecta?

Cómo saber si tu semilla está expuesta

Lo que importa no es el firmware que tienes hoy, sino aquel con el que se generó la semilla. Actualizar el firmware no repara una semilla ya creada: la aleatoriedad que faltó no se puede añadir después.

Probablemente a salvo

Si generaste la semilla con al menos 50 tiradas de un dado propio (aportan tus propios 128 bits), o con una passphrase BIP39 larga y única, o en un firmware ya corregido.

Expuesta

Si la semilla nació en un firmware de la tabla y no usaste dados ni passphrase. En un Mk2 o Mk3, además, una passphrase corta o predecible tampoco te salva: con 40 bits de base, se fuerza junto con la semilla.

Ninguna herramienta legítima te va a pedir tu frase semilla para comprobar si estás afectado — ni la nuestra, ni la de Coinkite, ni ninguna. Ya circulan sitios falsos que la piden con la excusa de verificarte. Si te la piden, es un robo.

Verificador

Averigua si tu cartera está expuesta

Cuatro preguntas sobre el dispositivo, ninguna sobre tus llaves. El cálculo ocurre en tu navegador; nada de lo que respondas sale de tu equipo.

🔒 Esta herramienta no te va a pedir tu frase semilla, tu passphrase ni ninguna llave — ni aquí ni en ningún otro paso. Si alguna web te las pide para «verificar» si estás afectado, es un robo. Ninguna comprobación legítima las necesita.

Viene impreso en el propio dispositivo o en su menú de ajustes.

Ojo: no la que tienes instalada hoy, sino la que corría el día que generaste la frase. Si actualizaste después, lo que cuenta es la de aquel día.

La Coldcard permite mezclar tus propias tiradas con su generador. Aportan aleatoriedad que no depende del dispositivo.

La palabra o frase extra que se escribe además de las 12 o 24 palabras. No nos la escribas: sólo dinos si existe y cómo de fuerte es.

Lo más importante

Mover los fondos mal es perderlos

Si tu semilla está comprometida, el atacante tiene exactamente la misma llave privada que tú. Eso cambia por completo lo que significa «sacar los fondos».

Cuando envías una transacción de Bitcoin, esta pasa primero por la mempool: una sala de espera pública donde cualquiera puede verla antes de que se confirme. En cuanto tu transacción de rescate aparece ahí, el atacante la ve, firma otra que gasta las mismas monedas y le pone más comisión. Gana la que más pague. Y él puede ofrecer casi el total de tu saldo, porque para él todo es ganancia. Esa puja no la puedes ganar.

Esto ya pasó de verdad: en las oleadas de agosto se vieron cientos de reemplazos por comisión en la cadena, víctimas y atacante pujando por las mismas monedas en cuestión de minutos.

La única defensa real es que la transacción no se vea hasta que ya esté dentro de un bloque. Se llama envío fuera de banda: se entrega directamente a un minero, sin pasar por la mempool pública. Cuando el atacante se entera, ya está confirmada y es irreversible.

Y un detalle que se pasa por alto: por muy segura que sea la cartera de destino, la transacción de rescate hay que firmarla con la llave débil. Una multifirma protege lo que venga después, no el traslado. Por eso el orden correcto es: primero salir sin ser visto, después reforzar.

Nuestra cartera

Por qué esto no puede pasar con una semilla creada en BitcoinProg

No pedimos que nos creas. Este es el camino exacto que recorre la aleatoriedad en nuestro código, y puedes revisarlo tú mismo: la app es de código abierto.

// src/lib/wallet/seed.ts generateSeedPhrase(128 | 256) └─ @scure/bip39 · generateMnemonic() ← librería auditada, no código propio └─ entropyToMnemonic( randomBytes(strength/8) ) └─ @noble/hashes · randomBytes() └─ crypto.getRandomValues() ← CSPRNG del sistema operativo └─ si no existe → throw ← sin alternativa débil

El azar no es nuestro

Usamos el generador criptográfico del sistema operativo, el mismo que protege tus conexiones bancarias. No escribimos nuestra propia fuente de aleatoriedad, que es precisamente donde falló Coldcard.

Falla antes que degradarse

Si ese generador no estuviera disponible, la app lanza un error y no crea nada. Coldcard cayó porque sustituyó su fuente buena por una débil en silencio; nosotros preferimos no generar cartera a generar una insegura.

Entropía completa

128 bits en las frases de 12 palabras y 256 en las de 24. Los valores de diseño del estándar BIP39, sin recortes.

Ahora la parte honesta: si importaste una Coldcard a BitcoinProg, sí estás en riesgo. La debilidad vive en la semilla, no en la aplicación que la usa. Nuestra cartera soporta Coldcard por USB y por código QR, y esas semillas arrastran el problema estén donde estén. Preferimos decírtelo a que te confíes.

Qué hacer

Si crees que estás afectado

  1. No muevas nada todavía

    Una transacción normal, enviada por la vía habitual, es la forma más rápida de perder los fondos: le avisa al atacante de que estás vivo y de que hay prisa.

  2. Comprueba en qué firmware nació tu semilla

    Contrasta el modelo y la versión contra la tabla de arriba, y recuerda si usaste dados o passphrase. Sin dar tu semilla a nadie.

  3. Prepara el destino antes de firmar

    Una cartera nueva, con semilla nueva, generada en un dispositivo o aplicación sin este problema. Ten la dirección lista antes de construir nada.

  4. Sal por fuera de la mempool

    Envía la transacción firmada directamente a un minero. MARA abrió su servicio Slipstream al público justo por este incidente, sin coste añadido sobre la comisión normal de red.

  5. Refuerza después, no antes

    Ya con los fondos a salvo, pasa a una multifirma o a un esquema con respaldo. Intentar hacerlo todo en un solo paso alarga la ventana en la que el atacante puede actuar.

Estamos construyendo estas herramientas dentro de BitcoinProg Wallet: un verificador que no te pide la semilla, rescate con envío fuera de banda, y multifirma nativa. Esta página se actualizará conforme se publiquen.

Última actualización: 9 de agosto de 2026 · Datos contrastados con el aviso de Coinkite, Galaxy Research y el seguimiento en cadena.