En el episodio 40 de Separando el Dinero y el Estado, conversamos con Karliatto —ex desarrollador de Trezor y fundador de los cajeros Bleskomat— sobre qué falló en Coldcard: desde 2021 una línea de código desactivaba explícitamente el generador de números aleatorios del hardware, dejando la generación de semillas en manos del generador de software de MicroPython, con una entropía estimada en torno a 40 bits en los modelos afectados frente a los 256 bits del estándar.
El episodio traza el mapa completo del incidente: por qué nadie lo vio en cinco años (cambio de licencia libre a restrictiva y consiguiente pérdida de incentivos para auditar, ausencia de auditorías pagadas donde el RNG debería ser el punto número uno de la lista), por qué probablemente se descubrió ahora (la IA abarata radicalmente la revisión de código, rompiendo la asimetría de tiempo y esfuerzo sobre la que descansaba buena parte de la seguridad de la industria) y qué queda en adelante.
Lo más relevante:
- Las primeras alarmas de usuarios de Coldcard reportando fondos desaparecidos aparecieron el jueves por la tarde-noche.
- Coldcard dejó de usar el generador de números aleatorios del hardware de sus dispositivos a partir del año 2021.
- El cambio consistió en una línea de código que desactivaba explícitamente el generador de hardware, dejándolo en cero.
- Al no usar el generador de hardware, los dispositivos recurrían al generador de software de MicroPython.
- En las versiones más modernas del dispositivo la entropía estimada es de aproximadamente 72 bits, que tampoco se considera suficiente.
- En torno a ese mismo período, Coldcard pasó de una licencia de código libre a una licencia restrictiva que mantenía el código visible pero impedía usarlo para construir o comercializar otros productos.
- La revisión del generador de números aleatorios es el punto que debería encabezar cualquier auditoría de seguridad de un monedero de Bitcoin.
- Charles Guillemet, CTO de Ledger, planteó que la seguridad se sostenía en una asimetría de conocimiento, tiempo y esfuerzo humano que los grandes modelos de lenguaje han reducido drásticamente.
- Existe una iniciativa en la que se están destinando recursos a usar un modelo de IA de pesos abiertos para revisar código de Bitcoin, requiriendo solo el hardware necesario para ejecutarlo.
- Alrededor de 2014 un monedero de Bitcoin generaba semillas solicitando números aleatorios a un servicio web externo, y cuando ese servicio dejó de funcionar el monedero generó semillas a partir del mensaje de error recibido.
- CZ afirmó que Trust Wallet atravesó un problema similar y que se resarció a los usuarios afectados.
- Coinkite, fabricante de Coldcard, no ha planteado un resarcimiento a los usuarios afectados.
- El precio de bitcoin no registró caídas atribuibles al incidente, a diferencia de lo ocurrido con colapsos previos como Mt. Gox o FTX.
- Tras conocerse el fallo, un número relevante de usuarios trasladó sus fondos a casas de cambio centralizadas.

