Un atacante explotó semillas débiles generadas por ciertos monederos hardware Coldcard para robar bitcoin por un valor de decenas de millones de dólares desde cientos de direcciones el 30 de julio.
Principales conclusiones
- Los robos vinculados a Coldcard agotaron bitcoin de cientos de monederos el 30 de julio.
- Coinkite dice que las semillas Mk3 tenían aproximadamente 40 bits de entropía en lugar de 128.
- Los usuarios de Coldcard deben instalar el firmware corregido y crear nuevas semillas antes de mover sus fondos.
Según un análisis profundo de Galaxy Research, el robo principal se desarrolló en una ráfaga altamente coordinada que duró aproximadamente 25 minutos, mientras que un análisis más amplio posteriormente conectó alrededor de 1.196 direcciones y hasta 1.083 bitcoin, valorados en casi $70 millones, con actividad que abarcó aproximadamente 41 minutos. Las cifras finales podrían cambiar a medida que los investigadores continúan rastreando transacciones en la cadena de bloques pública de bitcoin.
Un error de 5 años llega a monederos de bitcoin en todo el mundo
Los monederos afectados pertenecían en su mayoría a titulares a largo plazo que generaron sus semillas de recuperación utilizando Coldcard con firmware vulnerable lanzado desde marzo de 2021 en adelante. Coldcard es un monedero de hardware aislado fabricado por la empresa canadiense Coinkite y diseñado para mantener las claves de bitcoin (BTC) aisladas de dispositivos conectados a internet.
Muchas de las direcciones vaciadas habían permanecido inactivas durante años. El atacante se movió rápidamente, pagó tarifas de transacción fijas elevadas y no dejó salidas de cambio, lo que significa que cada dirección fue vaciada por completo. Ese patrón sugirió una operación automatizada utilizando una lista preparada de claves privadas en lugar de clientes que movieran sus fondos de forma independiente.
El robo no fue causado por phishing, malware en la computadora de un usuario, robo físico del dispositivo ni una brecha remota convencional. En cambio, un error de firmware debilitó la aleatoriedad utilizada cuando algunos dispositivos Coldcard creaban semillas de monedero. Esas semillas parecían normales, pero provenían de un rango mucho más pequeño de combinaciones posibles de las que se les había prometido a los usuarios.
El generador de números aleatorios de Coldcard falló en silencio
Una semilla de monedero de bitcoin es un secreto, comúnmente mostrado como 12 o 24 palabras, a partir del cual el monedero genera sus direcciones y claves privadas. Una semilla de 12 palabras generada correctamente contiene 128 bits de entropía, una medida técnica que describe un número enorme de combinaciones posibles que hace prácticamente imposible adivinar la semilla.
Se suponía que los dispositivos Coldcard obtenían esa aleatoriedad de un generador de números aleatorios de hardware dentro del microcontrolador del dispositivo. El componente extrae ruido eléctrico físico que un observador externo no debería poder predecir.
Durante una migración de biblioteca de software en 2021, sin embargo, Coinkite reveló que dos funciones de números aleatorios con interfaces coincidentes se confundieron. Una accedía al generador de hardware adecuado del dispositivo. La otra era un respaldo de software débil destinado a placas sin hardware adecuado.
Una configuración desactivó la ruta de hardware predeterminada de MicroPython porque Coinkite proporcionó su propio envoltorio de hardware. El software solo verificó si esa configuración existía, no si estaba activada. Debido a que la configuración estaba presente pero asignada un valor de cero, la compilación se completó correctamente, mientras que la generación de semillas cambió silenciosamente al generador de software más débil.
Datos y temporización de fábrica reemplazaron la aleatoriedad verdadera
Ese respaldo dependía en gran medida de información predecible del dispositivo, incluyendo un identificador de chip similar a un número de serie y valores de reloj interno asociados con el tiempo de inicio. Un atacante que pudiera reducir esos inputs enfrentaría una búsqueda mucho más pequeña que el rango de 128 bits esperado de una semilla generada de forma segura.
Coinkite estimó que el espacio de búsqueda efectivo para las semillas vulnerables Mk3 es de aproximadamente 40 bits bajo los supuestos actuales. Aún es un número grande de posibilidades, pero puede ser buscado con equipo informático especializado, especialmente cuando un atacante puede comparar semillas candidatas contra direcciones de bitcoin visibles en la cadena de bloques.

Los modelos posteriores de Coldcard, incluidos el Mk4, Q y Mk5, añadieron algo de aleatoriedad desde un elemento seguro. Sin embargo, solo una porción limitada llegó al generador afectado, dejando un estimado de 72 bits de entropía efectiva en las semillas creadas antes de instalar el firmware corregido. Esto era más fuerte que la ruta del Mk3, pero aún por debajo del estándar previsto de 128 bits.
La diferencia es similar a reemplazar una combinación de candado verdaderamente aleatoria con una derivada del número de serie del candado y la hora en que se encendió por primera vez. La combinación resultante puede parecer aleatoria, pero alguien que conozca la fórmula y pueda estimar la información inicial puede reproducirla. Muchos usuarios están migrando, no solo desde dispositivos Mk3, sino también desde Mk4, Q y Mk5.
Coinkite le dice a los usuarios que creen semillas completamente nuevas
Coinkite lanzó avisos de seguridad y corrigió el firmware tras tomar conocimiento de la amenaza activa. La empresa indicó que los usuarios que generaron semillas en firmware afectado deben crear una semilla completamente nueva utilizando una versión corregida y transferir su bitcoin a direcciones controladas por esa semilla.
Instalar la actualización por sí sola no es suficiente. Una semilla creada bajo el sistema defectuoso permanece débil permanentemente, ya que la actualización del firmware no puede agregar aleatoriedad a palabras que ya existen.
Coinkite aconsejó a los usuarios que actualicen su dispositivo, creen una nueva semilla, verifiquen la copia de seguridad y la huella del monedero, confirmen la dirección de recepción, envíen una pequeña transacción de prueba y luego muevan el saldo restante. Los usuarios deben conservar la copia de seguridad antigua hasta que se confirme la transferencia, pero ya no deben considerar la semilla antigua como segura.
La empresa identificó lanzamientos fijos que incluyen la versión Mk3 4.2.0 o posterior, Mk4 y Mk5 versión 5.6.0 o posterior, y Q versión 1.5.0Q o posterior, junto con las versiones correspondientes de Edge. Los productos Tapsigner, Opendime y Satscard utilizan código diferente y se informó que no se vieron afectados.
Se agregó seguridad que protegió a algunos propietarios de Coldcard
Los usuarios que agregaron suficientes tiradas independientes de dados al generar una semilla estuvieron sustancialmente protegidos, ya que su propia aleatoriedad superó la entrada defectuosa del software. Coinkite indicó que al menos 50 tiradas privadas de un dado justo proporcionan protección adecuada contra este problema, aunque tiradas adicionales pueden ofrecer un margen de seguridad más amplio.
Una frase de acceso BIP-39 sólida también crea un monedero separado que no puede reconstruirse solo con las palabras de semilla. Los monederos de firma múltiple, que requieren claves de varios dispositivos o ubicaciones antes de que se pueda mover bitcoin, estaban en gran medida o completamente protegidos cuando la semilla vulnerable de Coldcard representaba solo una parte del acuerdo de firma.
Sin embargo, esas medidas de seguridad eran opcionales. Muchas víctimas parecen haber seguido el consejo de seguridad estándar disponible en ese momento: comprar un monedero de hardware respetado, generar la semilla sin conexión, proteger la copia de seguridad y nunca ingresarla en un dispositivo conectado a internet.
Coinkite acepta la responsabilidad mientras el debate se dirige hacia la IA
El CEO de Coinkite, Rodolfo Novak, ampliamente conocido como NVK, se disculpó públicamente el 31 de julio y dijo que la empresa asumió toda la responsabilidad por el fallo del firmware. “Lo siento y estoy devastado. Nuestro equipo está destrozado por las noticias de ayer”, escribió Novak. Reconoció que el hotfix asegura las semillas recién creadas, pero no puede reparar las semillas generadas bajo software vulnerable.

Novak explicó que Coinkite publicará un informe técnico completo tras verificar los detalles y ayudará a los usuarios afectados que busquen presentar informes policiales, reclamos de seguro o investigaciones independientes. También advirtió a los desarrolladores que las herramientas de inteligencia artificial (IA) ahora pueden escanear código público antiguo en busca de debilidades ocultas más rápido de lo que los procesos de revisión tradicionales podrían detectarlas.
Coinkite enfatizó que debe asumir que un atacante utilizó IA para inspeccionar su firmware de código abierto, aunque no se ha establecido evidencia de cómo se descubrió la vulnerabilidad. La empresa también reconoció que una revisión reciente realizada con un modelo de IA líder no logró identificar el problema. Varios fabricantes competidores de monederos de hardware han recurrido a las redes sociales para señalar que sus productos no se ven afectados.
“Ledger no se ve afectado por el aviso recientemente publicado sobre Coldcard Mk3,” la empresa dijo a los usuarios de X tras el incidente de Coldcard. “Los dispositivos Ledger utilizan un Generador de Números Aleatorios Verdaderos (TRNG) certificado integrado directamente en nuestro chip Secure Element, generando 256 bits completos de entropía para cada frase de recuperación secreta de 24 palabras.”
“Los usuarios de Trezor: sus fondos están seguros,” explicó el fabricante de monederos hardware Trezor el viernes. “El reciente problema de Coldcard está limitado a su propio firmware personalizado y a cómo algunos de sus dispositivos generaron aleatoriedad. Trezor no comparte ese código.”
La cuenta de Trezor X añadida:
Siempre hemos combinado múltiples fuentes independientes de aleatoriedad (hardware del dispositivo + host + elementos seguros en modelos más recientes). Lamentamos profundamente por todos los que han perdido bitcoin.
Lo que los usuarios de Coldcard deberían ver a continuación
La identidad del atacante sigue siendo desconocida, y el bitcoin robado podría moverse desde sus direcciones de consolidación en cualquier momento. Los investigadores aún trabajan para determinar cuántas semillas vulnerables se generaron realmente, cuánto bitcoin sigue expuesto y si el atacante ya ha identificado monederos adicionales de alto valor. Sin embargo, Coinkite puede no tener mucha información sobre los propietarios de hace mucho tiempo.
“Una espada de doble filo divertida: Coinkite elimina todos sus registros de clientes después de 120 días para protegerse contra brechas de datos,” reportó Jameson Lopp, cofundador de Casa, en X. “Lo que significa que no pueden ponerse en contacto con los clientes que compraron Coldcards vulnerables en los últimos 5 años para advertirles sobre esta vulnerabilidad.”

El incidente también pondrá a prueba si Coinkite puede restaurar la confianza en Coldcard y si los fabricantes de monederos hardware adoptan revisiones independientes más rigurosas de la generación de semillas. Para los usuarios, la prioridad inmediata es más sencilla: cualquier persona que haya creado una semilla en un firmware afectado sin una entropía de dados independiente sólida, una frase de contraseña o protección multisignatura debe tratarla como comprometida y transferir los fondos con cuidado a un monedero recién generado.
Más allá del robo devastador, los bitcoineros de toda la comunidad están lanzando la alerta y animando a otros a difundir la palabra antes de que se vacíen más monederos vulnerables.
