
Conclusión principal: Una frase semilla BIP39 generada con aleatoriedad total contiene entre 128 y 256 bits de entropía. Eso sitúa la posibilidad de adivinarla muy fuera del alcance de cualquier capacidad informática disponible actualmente. Todos los casos documentados desde 2023 se remontan a un generador que producía muchas menos posibilidades de las que presupone el estándar. La pregunta que conviene hacerse es cómo se generó la frase y si se puede reemplazar.
Referencia rápida
| Término | Qué significa |
|---|---|
| Entropía | La cantidad de imprevisibilidad genuina de un valor generado, medida en bits. Una entropía de 128 bits significa que el valor se obtuvo de 2128 candidatos con la misma probabilidad. |
| BIP39 | El estándar que codifica la entropía bruta como 12, 15, 18, 21 o 24 palabras extraídas de una lista fija de 2.048 palabras. |
| Espacio de búsqueda | El conjunto de frases candidatas que un atacante debe recorrer. Su tamaño, más que el número de palabras, determina si ese trabajo es viable. |
| PRNG | Un generador de números pseudoaleatorios que amplía un valor inicial a una secuencia larga mediante una fórmula. Un valor inicial predecible produce una salida predecible. |
| CSPRNG | Un generador de números aleatorios criptográficamente seguro, inicializado a partir del conjunto de entropía del sistema operativo, que es la fuente esperada para el material de claves. |
| Colapso de la entropía | Qué ocurre cuando un generador obtiene valores de un conjunto mucho más pequeño que el especificado por el estándar, reduciendo el espacio de búsqueda a un tamaño que un atacante puede enumerar. |
¿Se puede adivinar o forzar por fuerza bruta una frase semilla?
Una frase semilla BIP39 generada correctamente queda fuera del alcance de la fuerza bruta por un margen enorme. El espacio de búsqueda crece exponencialmente con la entropía, no con el número de palabras, por lo que una frase de 12 palabras ya codifica 128 bits, es decir, aproximadamente 3,4 × 1038 frases válidas. Una frase de 24 palabras codifica 256 bits, es decir, aproximadamente 1,2 × 1077.
Es más fácil valorar esas cifras en términos operativos. Una máquina que probara un billón de frases candidatas por segundo aún habría cubierto una fracción insignificante del espacio de 128 bits después de mil millones de años de trabajo continuo. Ningún conjunto de hardware ensamblado hasta la fecha cambia esa aritmética, que es la razón práctica por la que los atacantes que vacían fondos no intentan explorar todo el espacio.
En todos los casos documentados públicamente, los atacantes que recuperaron las frases de otras personas trabajaron con el espacio mucho más reducido que un generador defectuoso podía producir realmente.
¿Cuántas combinaciones tiene una frase semilla de 24 palabras?
Una frase BIP39 de 24 palabras tiene 2256 combinaciones válidas, lo que equivale aproximadamente a 1,2 × 1077Una frase de 12 palabras tiene 2128 combinaciones válidas, es decir, aproximadamente 3,4 × 1038.
La aritmética detrás de esas cifras merece un párrafo, porque el recuento bruto de palabras exagera el total. Multiplicar 2.048 opciones en 24 posiciones da 2264, y la última palabra contiene una suma de comprobación de 8 bits vinculada a la entropía que la precede. Solo una combinación de cada 256 supera esa comprobación, lo que reduce de nuevo el número de frases válidas a 2256. La misma relación se mantiene con 12 palabras, donde una suma de comprobación de 4 bits reduce 2132 combinaciones de palabras a 2128.
¿Cómo se genera una frase semilla y dónde puede fallar?
La generación comienza con entropía sin procesar, no con palabras. El dispositivo o el software solicita entre 128 y 256 bits a una fuente aleatoria, aplica un hash a ese valor para derivar una suma de comprobación, divide el resultado en grupos de 11 bits y asigna cada grupo a una palabra de la lista BIP39. Las palabras son una codificación de la entropía, por lo que la solidez de una frase queda fijada en el momento en que se extrae la entropía.
Esa estructura hace que toda la seguridad de una frase dependa de un paso que el titular no puede observar. Un generador inicializado a partir de una fuente de ruido del hardware y otro inicializado a partir del reloj del sistema producen resultados idénticos, ya que ambos devuelven 24 palabras inglesas plausibles en el formato correcto y con una suma de comprobación válida. Nada de lo que ocurre después detecta una extracción débil, y una actualización del firmware publicada posteriormente no puede devolver la aleatoriedad a una frase creada sin ella.
¿Cómo es realmente una frase semilla débil?
Tres fallos documentados públicamente entre 2023 y 2026 comparten un mecanismo en tres capas distintas de la pila. En cada caso, el generador devolvía frases bien formadas mientras extraía datos de un conjunto lo bastante pequeño como para enumerarlo en hardware convencional.
| Caso | Capa que falló | Lo que hizo el generador | Espacio de búsqueda efectivo |
|---|---|---|---|
| Milk Sad, CVE-2023-39910, divulgado el 8 de agosto de 2023 | Herramientas de línea de comandos | La herramienta bx de Libbitcoin Explorer generaba semillas con un Mersenne Twister inicializado únicamente a partir de un reloj del sistema de 32 bits | 232 o menos, según la longitud de salida que configurara el usuario |
| Ill Bloom, CVE-2026-71851 y GHSA-rg76-677x-56q9, CVSS 9.0 | Dependencia de JavaScript | La función de CryptoJS WordArray.random() usaba un generador de multiplicación con acarreo inicializado a partir de Math.random(), un diseño presente desde junio de 2014 | Aproximadamente 239 y 247 frente a los nominales 128 y 256 bits |
| Error de compilación del firmware, aviso del fabricante del 30 de julio de 2026 | Firmware del monedero físico | Un error de configuración de compilación que se remonta a marzo de 2021 hizo que la generación de semillas en los dispositivos de un fabricante de monederos físicos recurriera a un generador seudoaleatorio de software | Aproximadamente 72 bits en las unidades afectadas más nuevas, y menos en las antiguas |
Los investigadores de Milk Sad, en Distrust, informaron haber recuperado más de 900.000 $ en Bitcoin almacenados mediante frases generadas por la herramienta afectada, y describieron esa cifra como un límite inferior que cubre únicamente Bitcoin. Se confirmó que las versiones 3.0.0 a 3.6.0 de bx estaban afectadas, mientras que las versiones anteriores se consideraron sospechosas, pero no confirmadas. Muchas de las personas expuestas habían generado sus frases años antes siguiendo el consejo de usar herramientas abiertas.
The CryptoJS case carries the longest paper trail of the three. Releases 3.2.0 and 3.2.1 replaced the weak generator with the platform's native cryptographic random source, and release 3.3.0 reverted that change on the grounds that it broke compatibility for existing users. Version 4.0.0, published in February 2020, fixed the problem permanently, and the library has been effectively unmaintained since 2023. Five wallet applications were still generating phrases through the vulnerable path, and because one phrase derives addresses across many networks, a single weak draw exposed balances on 15 chains at once. Coinspect tracked $5,690,922 drained across two waves by July 13, 2026, and described that total as a lower bound.
El caso de CryptoJS es el que tiene el historial documental más extenso de los tres. Las versiones 3.2.0 y 3.2.1 sustituyeron el generador débil por la fuente criptográfica nativa de aleatoriedad de la plataforma, y la versión 3.3.0 revirtió ese cambio alegando que rompía la compatibilidad para los usuarios existentes. La versión 4.0.0, publicada en febrero de 2020, solucionó el problema de forma permanente, y la biblioteca prácticamente no recibe mantenimiento desde 2023. Cinco aplicaciones de billetera seguían generando frases mediante la ruta vulnerable y, como una sola frase deriva direcciones en muchas redes, una única generación débil expuso saldos en 15 cadenas simultáneamente. Coinspect registró 5.690.922 dólares drenados en dos oleadas hasta el 13 de julio de 2026 y describió ese total como un límite inferior.
El caso del firmware de 2026 trasladó el mismo fallo al hardware, donde un error de compilación no fue revisado durante más de cinco años antes de que el fabricante publicara un aviso el 30 de julio de 2026. Galaxy Research, que rastreó las transferencias resultantes en la cadena de bloques, confirmó que se drenaron 1.719 BTC, con un valor aproximado de 111 millones de dólares, al 8 de agosto de 2026. El fabricante no ha publicado ninguna cifra propia sobre las pérdidas, por lo que todas las cifras que circulan proceden de análisis de la cadena realizados por terceros y no del fabricante.
Una herramienta de línea de comandos, una dependencia de JavaScript y una cadena de compilación de hardware se sitúan en distintos niveles de la cadena de suministro y están sujetas a procesos de revisión diferentes; aun así, todas produjeron frases que parecían completamente correctas a la persona que las anotaba.
| Fuerza bruta comparada con un espacio de búsqueda colapsado | Pregunta | Forzar por fuerza bruta una frase generada correctamente |
|---|---|---|
| Recorrer un espacio de búsqueda colapsado | 2128 Qué busca el atacante256 frases candidatas | El rango de salida de un generador defectuoso, entre 232 y aproximadamente 272 en los casos documentados |
| Viabilidad en hardware común | Fuera de alcance por varios órdenes de magnitud | Alcanzable con una computadora portátil y herramientas disponibles públicamente |
| Cómo se ve la frase para el titular | Palabras válidas, suma de comprobación válida, formato normal | Palabras válidas, suma de comprobación válida, formato normal |
| Qué determina la exposición | Nada de lo que el titular haga o deje de hacer | La herramienta o versión del firmware utilizada al crearla, a menudo años antes |
| Si una corrección posterior ayuda | No aplicable | Un generador corregido solo cubre las frases nuevas, por lo que una frase existente sigue siendo débil hasta que se reemplaza |
| Casos documentados públicamente | Ningún caso reportado | Tres entre 2023 y 2026 |
Por qué no puedes verificar cómo se generó tu propia frase
Los tres casos comparten una propiedad más importante que cualquier error individual. En todos ellos, la debilidad se encontraba en el único paso que el titular no puede inspeccionar, y permaneció allí hasta que un investigador externo la descubrió. Leer el código fuente publicado de una billetera, cuando está disponible, muestra lo que dice el código. Leerlo no confirma qué se ejecuta en el chip que tienes en la mano. ELLIPAL reconoce esa limitación en su propia explicación de la arquitectura de seguridad, y la brecha se aplica a todos los fabricantes de billeteras de hardware, incluido ELLIPAL.
La certificación tampoco cierra esa brecha. La evaluación Common Criteria se aplica al elemento seguro, es decir, al chip aislado que almacena las claves y realiza las firmas, y abarca la resistencia de ese chip frente a ataques físicos y de canal lateral. La evaluación Common Criteria no se extiende al firmware de la cartera que funciona alrededor del chip, y el firmware es precisamente la capa en la que se produjo el error de compilación de 2026.
Lo que sigue estando disponible para el titular es la sustitución. BIP39 define un formato portátil, por lo que una frase generada en un lugar se importa en una cartera compatible de cualquier marca, y una frase en la que tienes motivos para desconfiar puede sustituirse sin reemplazar el hardware. En los dispositivos ELLIPAL, esa opción se realiza mediante la introducción de recuperación en ELLIPAL Titan 2.0 y mediante ELLIPAL X Card Starter sin conexión durante la configuración de ELLIPAL X Card. Ninguna de las dos opciones requiere introducir tus palabras en una aplicación del teléfono.
Ninguna configuración de autocustodia elimina todos los riesgos. Un formato de frase portátil mantiene reversible una decisión concreta, de modo que quien tenga dudas sobre un generador puede cambiar a una frase nueva y seguir usando el mismo dispositivo.
¿Qué situación se ajusta a la tuya?
- Tu frase provino de una cartera de hardware cuyo proveedor ha publicado un aviso sobre la entropía. Lee el aviso para consultar las versiones exactas del firmware y las fechas, ya que los rangos afectados son limitados y un dispositivo fuera de ese rango no está implicado. Si el rango incluye tu dispositivo, considera que lo que debe reemplazarse es la frase, no el hardware.
- Tu frase provino de un sitio web o de un generador basado en navegador. Un generador del navegador depende del propio JavaScript de la página, que fue la capa que falló en el caso de CryptoJS. Considera no verificada una frase creada de ese modo; trasladar el saldo a una frase recién generada elimina la dependencia de una página que no puedes auditar.
- Tu frase provino de una herramienta de línea de comandos o de una biblioteca que integraste tú mismo. Comprueba el historial de avisos del proyecto comparándolo con la versión exacta que ejecutaste, tal como documentó la revelación de Milk Sad para las versiones de bx 3.0.0 a 3.6.0.
- Tienes una frase que otra persona generó y te entregó. Desconoces el proceso de generación y no puede reconstruirse posteriormente, así que la opción más prudente es una frase nueva que generes tú mismo, seguida de una transferencia del saldo.
- Conservas tus fondos a largo plazo y quieres resolver de antemano la cuestión del proveedor. Elige un dispositivo que acepte una frase BIP39 existente al importarla, para que el generador siga siendo una decisión tuya y no una propiedad fija del dispositivo.
- Su frase se generó en un dispositivo actual y no existe ningún aviso que la afecte. En esa situación, la entropía no es la cuestión pendiente. La durabilidad de la copia de seguridad, el almacenamiento físico y la verificación de las transacciones son los aspectos en los que conviene centrarse, y nuestra guía sobre cómo hacer una copia de seguridad de una cartera de hardware explica la parte del almacenamiento.
Preguntas frecuentes
¿Se ha descifrado realmente alguna vez una frase semilla?
Ningún caso público describe que un atacante haya recuperado una frase generada correctamente recorriendo todo el espacio de búsqueda. Todas las recuperaciones documentadas desde 2023 involucraron un generador que produjo un conjunto mucho menor de frases posibles del que especifica BIP39, lo que redujo la tarea del atacante a una lista que un hardware común puede procesar. El riesgo está asociado a la herramienta que creó la frase, no a su longitud.
¿Cuántas combinaciones tiene una frase semilla de 24 palabras?
Una frase BIP39 de 24 palabras tiene 2256 combinaciones válidas, aproximadamente 1,2 × 1077. La cifra procede de 256 bits de entropía, y la última palabra de la frase contiene una suma de comprobación de 8 bits que la vincula con las palabras anteriores, por lo que solo una combinación de palabras de cada 256 forma una frase válida. Una frase de 12 palabras contiene 128 bits de entropía y 2128 combinaciones válidas, aproximadamente 3,4 × 1038.
¿Cómo sé si mi frase semilla se generó de forma débil?
No existe una prueba que pueda ejecutar sobre las palabras mismas, ya que una frase débil y una frase segura tienen el mismo formato y ambas superan la validación de la suma de comprobación. Lo que sí puede comprobar es la procedencia. Identifique la aplicación, herramienta o versión del firmware del dispositivo que creó la frase y, después, consulte el historial de avisos de ese proyecto para conocer las versiones y fechas involucradas. Nuestra guía sobre cómo comprobar si su cartera realmente tiene entropía explica ese proceso para el caso del firmware de 2026.
¿Una frase generada en un dispositivo sin conexión es automáticamente segura?
No. Generar una frase sin conexión elimina la exposición a la red en el momento de la creación, pero la seguridad del resultado sigue dependiendo de la fuente de entropía y del firmware que la utilice. El caso del firmware de 2026 involucró dispositivos que generaban completamente sin conexión, pero un error de compilación hizo que la generación recurriera a un generador pseudoaleatorio de software. La generación sin conexión y la generación segura son propiedades distintas, y el usuario no puede confirmar la segunda.
¿Una frase más larga me protege de un generador débil?
No. Una frase de 24 palabras tiene el doble de entropía que una frase de 12 palabras cuando ambas se generan correctamente, y un generador defectuoso limita el espacio de búsqueda real independientemente de la longitud solicitada. En el caso de Milk Sad, la entropía efectiva se mantuvo en 232 o por debajo de la longitud de salida que haya seleccionado el usuario. Elija 24 palabras por el margen que ofrecen en condiciones normales, y trate la procedencia del generador como una cuestión aparte.
Si un generador se corrigió en una versión posterior, ¿también se corrigió mi frase existente?
No. Un generador corregido se aplica a las frases creadas después de la corrección. Una frase obtenida de una fuente débil conserva la entropía con la que nació, porque las palabras ya codifican ese valor y la billetera deriva todas las direcciones a partir de él. Recuperarse de esta situación implica generar una frase nueva y trasladar después el saldo a las direcciones derivadas de ella.
¿Necesito comprar un dispositivo nuevo si mi frase se generó de forma débil?
Por lo general, no. Cualquier dispositivo que admita importar o recuperar una frase BIP39 existente aceptará una frase nueva generada en otro lugar, por lo que el hardware que posee puede seguir funcionando con una frase de reemplazo. Cuando un proveedor ha enviado una corrección de firmware, dicha corrección cubre las billeteras creadas posteriormente, y una frase existente aún debe reemplazarse. Los costes reales son la transferencia en la cadena de su saldo a las nuevas direcciones, además de nuevos medios de copia de seguridad para las nuevas palabras.
¿Puede una frase de paso compensar una frase semilla débil?
Una frase de paso BIP39 cambia la billetera derivada de una frase determinada, por lo que un atacante que reconstruya una frase débil también tendría que recuperar la frase de paso antes de acceder a los fondos. La entropía subyacente de la frase sigue siendo exactamente igual de débil, y la frase de paso añade un segundo elemento que debe conservarse en sus copias de seguridad, ya que perderlo implica perder el acceso a la billetera. Considere la frase de paso como un factor adicional, no como una solución para el generador.
Acerca de ELLIPAL
ELLIPAL está en el mercado desde 2018, con más de 1 millón de usuarios en más de 140 países. Los dispositivos ELLIPAL siguen BIP39 y BIP44, por lo que una frase de recuperación creada en un dispositivo ELLIPAL se puede restaurar en cualquier billetera compatible de cualquier marca, y una frase creada en otro lugar se puede importar al hardware ELLIPAL. El ELLIPAL Titan 2.0 mantiene las claves dentro de un elemento seguro certificado y permite introducir la frase de recuperación en el propio dispositivo. La ELLIPAL X Card incorpora un Secure Chip CC EAL6+ y completa la configuración en la ELLIPAL X Card Starter sin conexión. ELLIPAL App admite más de 10.000 tokens en más de 45 blockchains.
Hazlo tuyo. Y úsalo.
Nota de seguridad. Ninguna configuración de autocustodia elimina todos los riesgos. El almacenamiento de claves sin conexión y el diseño reforzado del dispositivo reducen categorías importantes de ataques remotos, pero no eliminan los riesgos físicos, de la cadena de suministro, del firmware, de ingeniería social ni de errores del usuario. Compre de una fuente oficial, guarde su frase de recuperación en una copia de seguridad duradera y sin conexión, conservada por separado del dispositivo, no comparta esas palabras ni las introduzca en una aplicación conectada a Internet y verifique cada transacción en el dispositivo de firma. Este artículo contiene información educativa general sobre la arquitectura de las billeteras y la generación de semillas, y no constituye asesoramiento financiero, de inversión ni de custodia.




