es
Volver a la lista

Luke Dashjr: los fallos del RNG de Coldcard podían detectarse a mano, según un hilo de nueve puntos

source-logo  cryptopolitan.com 8 h
image

El desarrollador de Bitcoin Core, Luke Dashjr, planteó nueve preocupaciones sobre el código de generación de números aleatorios de Coldcard el lunes, afirmando que inicialmente las había comunicado a Coinkite de forma privada.

Publicó la lista para contrarrestar lo que él calificó como la afirmación de que solo una "IA genio" podría encontrar fallos en el RNG (generador de números aleatorios) de la billetera.

Nueve preocupaciones sobre el RNG se hacen públicas tras informes privados a Coinkite

«Ha pasado suficiente tiempo, y escucho que nvk anda por ahí fingiendo que los humanos no podían encontrar el defecto de Coldcard», escribió Dashjr en un hilo en X. Rodolfo Novak (Nvk) es cofundador de Coinkite.

Mantente al tanto
del movimiento de tus monedas

Alertas, precios en tiempo real y noticias del mercado, todo en una app
qr-code Apunte соn la cámara de su teléfono para instalar
4,8 de 40K valoraciones en la App Store y Google Play
La publicación inicial de Luke Dashjr en el hilo, publicada en X el 9 de noviembre de 2026.

Dashjr dijo que no sabía si Coinkite había solucionado los problemas después de informar a la empresa. No afirmó que cada punto pudiera ser weaponizado ni que todo fuera definitivamente un error.

«Pero la afirmación de que solo una 'IA genio' podría encontrar problemas con el RNG es una mentira descarada», escribió Dashjr.

El primer elemento señalaba una nota TODO en rng_init, la rutina que inicia el RNG del Mk4. Algunos chips STM32 parecen requerir que la primera muestra sea descartada, escribió.

Según Dashjr, el controlador también ignora los bits de error de semilla y de reloj del chip. Además, indicó que el manual de STM32 exige un postprocesamiento adicional para usos criptográficos.

La función random_buffer detecta salidas repetidas del generador de números aleatorios, pero las llamadas directas a rng_get no lo hacen.

Dashjr afirmó que rng_get_or_fault no puede considerarse seguro hasta que se demuestre que la comprobación de random_buffer es redundante. También preguntó si la salida del STM32 se volvía determinista, entonces ¿por qué el elemento seguro no mantenía la entropía en los 256 bits completos?

Dashjr dijo que el código de reemplazo era básicamente un nuevo RNG que requería pruebas exhaustivas.

El parche desactiva el antiguo PRNG solo en tiempo de compilación, y él buscaba una aserción en tiempo de ejecución. Un tiempo de espera del RNG en un contexto incorrecto podría provocar un comportamiento indefinido, posiblemente un bloqueo que arriesgue dañar permanentemente dispositivos lentos, escribió.

El firmware Coinkite 5.6.1 ya comprueba el estado de error de semilla marcado

El informe técnico de Coinkite del 30 de julio de 2026 indicaba que la empresa «no era consciente del error hasta hoy». Cryptopolitan informó de que la compañía teorizaba que una parte externa podría haber utilizado inteligencia artificial en su firmware de código abierto para detectar la vulnerabilidad con antelación.

Coinkite añadió que no había sido detectado por su propia revisión asistida por IA, realizada semanas antes. El fallo fue el resultado de un cambio en el firmware realizado en marzo de 2021 que trasladó la generación de semillas fuera del chip de números aleatorios de hardware.

En cambio, las semillas provenían de Yasmarang, una herramienta de software alimentada por el número de serie del chip y un temporizador. Las semillas Mk2 y Mk3 tenían alrededor de 40 bits de aleatoriedad real, lo cual es muy inferior a los 128 bits que asume BIP-39, y los atacantes pudieron reconstruir las semillas débiles fuera de línea.

Los modelos Mk4 y Mk5 recibieron la versión 5.6.1 del firmware, y Q recibió la 1.5.1Q el 20 de agosto. La actualización de seguridad de Coinkite update citó la «revisión asistida por IA de Kimi y otros modelos de vanguardia» y agradeció a los investigadores externos por reportar los problemas.

Algunos de los cambios están en la lista de Dashjr. El firmware ahora verifica el estado de error de la semilla del generador de números aleatorios (RNG) de hardware y descarta las siguientes 12 palabras de hardware tras un error recuperable.

Una comprobación al inicio asegura que rng_get() acceda a la ruta de lectura del hardware. Se cambió el generador de respaldo a SHA-256 Hash_DRBG.

Los robos comenzaron el 30 de julio, cuando un atacante se llevó unos 594 BTC, aproximadamente 38 millones de dólares, de unas 500 carteras en 25 minutos. Algunos movimientos de salida fueron rescates de whitehat rescues, pero las pérdidas acumuladas se estiman en más de 140 millones de dólares.

El cliente de Coldcard Amir Reza Naderi ha presentado una demanda colectiva propuesta ante la Corte Superior de Justicia de Ontario contra Coinkite, Novak y el cofundador Peter D. Gray. Él afirma que ellos conocían el problema de generación de semillas desde mayo de 2025 y no advirtieron a los usuarios, algo que Coinkite ha negado.

cryptopolitan.com