8 de agosto de 2026 · Observación sobre custodia propia y seguridad de claves
En la madrugada del 30 de julio, los atacantes comenzaron a transferir Bitcoin desde monederos de hardware Coldcard. La primera ola, en el plazo de 25 minutos, movió 594 BTC desde aproximadamente 500 monederos; en ese momento valían alrededor de 38 millones de dólares.[1] Galaxy Research ubicó estas acciones de vaciado dentro de una ventana de 41 minutos entre las 1:10 y las 1:51 UTC, repartidas en nueve bloques.[5]
Eso fue solo el comienzo. Al 5 de agosto, TRM Labs citó los datos de seguimiento de Galaxy: los cuatro ataques acumulados provocaron la salida de aproximadamente 1.816 BTC, que involucran a más de 5.200 direcciones, por un valor cercano a 116 millones de dólares con los precios de ese momento.[1] Se trata del tercer gran incidente de ciberataques contra criptomonedas en 2026, y además hizo que el total robado en lo que va de año superara los 1.200 millones de dólares, con 276 incidentes.[1]
El atacante nunca tocó ningún dispositivo. [5]
## Lo que salió mal no es el dispositivo, sino el número aleatorio
La promesa central de una cartera de hardware es que la clave privada nunca sale del dispositivo. Esta vulnerabilidad eludió esa promesa: no ataca el almacenamiento de la clave, sino su generación.
Un cambio de código del 1 de marzo de 2021 hizo que el firmware, al generar la semilla, retrocediera en silencio al generador aleatorio de software, en lugar de a la fuente de entropía de hardware del dispositivo. [6] El anuncio oficial de Coinkite confirma que las versiones de firmware afectadas son la 4.0.1 hasta la 4.1.9 en Mk2/Mk3. [4]
El análisis técnico del equipo de Block localizó la causa raíz con más detalle: en la configuración de compilación, `MICROPY_HW_ENABLE_RNG` se configuró en 0, porque Coldcard implementa su propio encapsulado de RNG de hardware; pero la librería dependiente libngu verifica esta macro con un `#ifndef`: solo comprueba si la macro "existe" y no si está "habilitada". [6] Así, la compilación pasa sin problema; pero en la práctica el dispositivo queda vinculado al generador de software Yasmarang de MicroPython. Su entrada de inicialización es el UID del chip y el registro del temporizador: identificadores fijos del dispositivo y un estado temporal observable, no una fuente de entropía criptográfica. [6] Además, libngu mezcla esa salida con otro generador Yasmarang inicializado con otra constante pública mediante XOR; pero, como dice el informe de Block, el XOR no crea entropía: dos entradas reproducibles producen un resultado también reproducible. [6]
En cuanto a la fuerza efectiva en Mk3, ambas partes manejan cifras distintas. Según reportes de segunda mano, el espacio de búsqueda efectivo se reduce hasta unos 40 bits. [5] El análisis de Block, en cambio, señala que en la ruta v4 de Mk2/Mk3 no se añadió ninguna entropía criptográfica: conociendo el UID, el estado del temporizador y el historial de llamadas, la generación de la cartera es determinista. [6] Para Mk4/Q/Mk5, Coinkite afirma que la entropía real es de unos 72 bits en lugar de los 128 bits de diseño; [4] la versión de Block es que la reproducción de la semilla del módulo de seguridad solo reemplaza una palabra de estado de 32 bits, y el límite superior del flujo de salida candidato es 2^32. [6] Estas dos descripciones no se pueden sustituir entre sí; en este artículo se enumeran ambas.
Sin importar qué criterio se elija, la conclusión es la misma: no es una diferencia de grado. No se pueden calcular 128 bits; con decenas de bits basta con alquilar capacidad de cómputo en la nube para enumerar. El atacante no necesita romper nada: puede regenerar la semilla fuera de línea, deducir direcciones y luego comprobar en cuáles direcciones hay dinero. [5] Block también recuerda la moderación necesaria: esto no significa que cualquier atacante remoto pueda recuperar de inmediato cualquier semilla; el costo real depende de la información del UID, el cronograma de arranque y la carga de derivación. El propio reporte no ofrece un punto de referencia de enumeración de extremo a extremo. [6]
En el anuncio de Coinkite hay una frase que es la más importante: actualizar el firmware no cambia ni repara las semillas que ya se generaron. [4] Es decir, el parche solo protege las carteras que se creen en el futuro. Las personas que generaron semillas con firmware afectado después de marzo de 2021: esa cadena de frases mnemónicas era débil desde el mismo momento en que se generó, y siguió siendo débil.
## La superficie de exposición es más amplia que la superficie de pérdidas
Los ataques confirmados se concentran en Mk2 y Mk3. Pero el anuncio de Coinkite amplía el alcance: las semillas generadas en dispositivos Mk4, Mk5 y Q antes de que existieran versiones reparadas tienen una entropía real de ~72 bits, no de los 128 bits diseñados. [4] Esto está bastante mejor que 40 bits; en esta ronda no se aprovechó, pero sigue estando por debajo del estándar.
Dos tipos de personas no están en riesgo: quienes lanzaron al menos 50 veces dados independientes adicionales al crear la semilla, porque esa parte de entropía externa no sería borrada por el fallo del firmware; y quienes configuraron en la cartera una contraseña BIP-39 fuerte y única. [4] Coinkite también recuerda que la contraseña reduce la exposición inmediata, pero no repara las semillas afectadas; estos usuarios también deberían migrar cuanto antes. [4]
## Dos cosas que vale la pena recordar
Primero, no lo detectó la auditoría. Coinkite indica que la empresa hizo una revisión de firmware con IA en las semanas previas al ataque; esa revisión no encontró este bug ni otros problemas graves. Este bug estuvo en el código durante más de cinco años. El comentario de TRM lo dice de forma bastante directa: el código abierto y las auditorías mejoran la seguridad, pero no constituyen una garantía. [1]
Segundo, el dinero aún no se ha movido. El seguimiento de TRM muestra que la mayor parte de los fondos robados se ha concentrado en unas pocas direcciones de atacantes; hasta el 4 de agosto, el lavado de dinero solo incluyó un depósito de 64.9 BTC en Wasabi y 200 ETH en Tornado Cash. [1] En comparación con grupos profesionales como el norcoreano TraderTraitor, que comienzan un lavado agresivo en cuestión de horas, esto parece más como si todavía no hubieran decidido cómo gestionar un dinero tan llamativo. [1] TRM tampoco atribuye a una organización específica, ya que debido a que las construcciones de transacciones son diferentes entre oleadas, considera que podría haber múltiples atacantes. [1]
## Lo que esto demuestra
En el informe, TRM tiene una frase de conclusión que vale la pena copiar: la autocustodia traslada el riesgo, no lo elimina. El límite de confianza de una cartera equivale a la confianza del proceso con el que se generan sus claves. [1]
El alcance de esta frase es mucho mayor que el de Coldcard. Cualquier solución que apueste la seguridad de los activos a un único portador de clave —independientemente de si ese portador es un dispositivo sin conexión, una hoja de papel o un archivo cifrado— comparte el mismo problema estructural: si algún eslabón de la cadena de generación, almacenamiento o copias de seguridad falla, no existe una segunda línea de defensa. En esta ocasión, el eslabón que falló fue precisamente el más difícil de comprobar, porque la calidad de la entropía no se puede confirmar de inmediato solo mirando la versión del firmware.
La dirección que da TRM es combinar dispositivos con diseño independiente y entropía generada de forma independiente, usando implementaciones que no dependan entre sí para construir una defensa en profundidad. [1]
Pero aquí hay una condición limitada, escrita con claridad en el informe de Block y que merece destacarse por separado: si en un esquema de multisig todos los dispositivos son modelos afectados, el impacto de la vulnerabilidad sigue existiendo; para prevenir este problema, lo que se necesita es "una mayoría (quórum) de dispositivos seguros". [6]
Esta frase desplaza el foco de "la cantidad de partes" a la "independencia de las partes". La distribución del poder de firma por sí misma no constituye protección: si las tres partes se generan con el mismo conjunto de implementaciones defectuosas, se debilitan juntas. Lo que realmente aporta profundidad es que los procesos de generación de cada parte sean mutuamente independientes: diferentes implementaciones, diferentes fuentes de entropía y diferentes supuestos de confianza. Los esquemas de firma umbral y la división de claves pasan el mismo criterio de verificación en este punto que el multisig; vale la pena contrastarlo con cualquier producto que afirme "dividir la clave".
## Si tú o alguien que conoces usa Coldcard
Coinkite ya ha publicado firmware de reparación para todos los modelos afectados: Mk2/Mk3 a 4.2.0 o superior; Mk4/Mk5 versión estándar 5.6.0 o superior; Q versión estándar 1.5.0Q o superior; y para la vía Edge hay versiones correspondientes. [4] Ten en cuenta que la versión estándar y Edge son dos vías de publicación independientes: no asumas que Edge ya está reparado solo porque su número de versión sea mayor. [4]
Los pasos de migración se ejecutan según el anuncio oficial. Hay dos puntos que suelen causar problemas: primero confirmar una copia de seguridad por escrito de la semilla antigua y las huellas dactilares de la cartera antes de actuar, y después enviar una transacción de prueba de pequeño monto para confirmar que la nueva cartera funciona; luego transferir el resto de los fondos. [4] Coinkite también lo advierte: el riesgo causado por una migración apresurada puede ser más inmediato que el problema original. [4]
Aclaración de los datos: el alcance de lo sustraído en este artículo se basa en los datos de seguimiento disponibles hasta el 5 de agosto. TRM indica explícitamente que debe considerarse como un número preliminar: los fondos siguen en movimiento; la cuarta ola, en su evaluación, todavía estaba dentro del mempool, y las víctimas a menudo descubren el robo gradualmente en meses o incluso años. [1]
El autor está creando una cartera MPC sin frases de recuperación, así que tiene una postura en este tema. Se proporcionan las fuentes de los datos; la evaluación la haces tú.
https://cowallet.ai/en?pid=jingle