15 puntos por davespark 2026-02-23 | 7 comentarios | Compartir por WhatsApp

Basado en una investigación de la empresa de seguridad Irregular, se señala que las contraseñas generadas por LLM (modelos de lenguaje grandes) modernos como Claude, ChatGPT y Gemini parecen muy sólidas a simple vista, pero en realidad son extremadamente vulnerables.

Resultados clave del experimento

  • Se repitió 50 veces la solicitud “genérame una contraseña” a cada modelo
  • Claude Opus 4.6: en 18 de 50 ocasiones generó exactamente la misma contraseña G7$kL9#mQ2&xP4!w (36% de coincidencia), y solo produjo 30 contraseñas únicas
  • Clara preferencia de patrones según el modelo
    • Claude → empieza con 'G' + segundo carácter '7'
    • ChatGPT → empieza con 'v'
    • Gemini → empieza con 'k' o 'K'
  • Incluso al cambiar la temperatura (temperature) entre 0.0 y 1.0, casi no hubo diferencias (con 0.0, las 50 veces generó exactamente la misma contraseña)

La ilusión de la entropía (aleatoriedad)

  • Herramientas como KeePass la califican como “aprox. 100 bits de entropía, muy sólida”
    → parece un nivel que tomaría miles de millones de años incluso con una supercomputadora
  • Pero al calcular la entropía de Shannon real, las contraseñas generadas por Claude quedaron en apenas 27 bits
    → una contraseña débil que puede romperse en segundos con una computadora común
  • Ejemplo de GPT-5.2: probabilidad de que la posición 15 sea el número '2' = 99.7% (casi fijo)

¿Por qué un LLM no sirve para generar contraseñas?

  • Una contraseña realmente fuerte debe generarse con un CSPRNG (generador de números aleatorios criptográficamente seguro), donde todos los caracteres tengan probabilidad uniforme
  • Un LLM, en cambio, está entrenado para predecir el siguiente token más probable → maximiza la predictibilidad
  • → Por eso, ni un mejor prompt ni ajustar la temperatura resuelven el problema de fondo (conclusión de Irregular)

Un problema mayor: el riesgo de los agentes de código con IA

  • Claude Code, Gemini-CLI y Codex están hardcodeando contraseñas vulnerables dentro del código
    Ej.: MariaDB, PostgreSQL, claves de API de FastAPI, etc.
  • “Genérame una contraseña” → propone métodos seguros como openssl rand
    “Recomiéndame una contraseña” → inserta directamente una contraseña con patrones creados por el LLM
  • Si buscas en GitHub patrones como K7#mP9 o k9#vL, aparecen múltiples repositorios reales

Conclusión

  • Los LLM pueden crear contraseñas que “parecen fuertes”, pero la seguridad real no depende de la apariencia sino de la entropía real y la aleatoriedad.
  • Debido a su diseño centrado en la predicción, los LLM son estructuralmente inadecuados para generar contraseñas y, si las herramientas de programación con IA las insertan en el código, las vulnerabilidades pueden propagarse de forma silenciosa dentro del desarrollo automatizado.

https://aisparkup.com/posts/9480

7 comentarios

 
click 2026-02-23

Si con openssl rand -hex 64 ya lo haría bien, ¿de verdad hay que hacer que un LLM genere la contraseña directamente...?
Incluso si le pides a una persona que cree una contraseña, al final la va a hacer con algún patrón fijo para que le resulte fácil recordarla.

 
davespark 2026-02-23

Quizá para los desarrolladores no sea un gran problema. Pero como hoy en día mucha gente común también programa con vibe coding, creo que el problema mayor serán esos valores por defecto que terminan incrustándose automáticamente en el código. Por ejemplo, cosas como la contraseña de conexión a la BD...

 
click 2026-02-23

Pensándolo bien, considerando que también he visto muchos casos en los que se despliega un servicio web pero se dejan archivos sensibles como .env accesibles desde la red externa...
También podría pasar que alguien, sin saber bien lo que hace, arme un servicio web con OpenClaw y deje la key tal cual incrustada en el código HTML, se la roben y de repente le llegue una factura inesperada.

 
holywork 2026-03-01

Las personas tampoco son buenas eligiendo cosas al azar. No debería haber patrones, pero intentar evitarlos deliberadamente también puede considerarse un patrón.

 
roxie 2026-02-25

Claude Opus 4.6: 18 de 50

Tengo mucha curiosidad por saber por qué Claude code no generó una cadena aleatoria

 
mammal 2026-02-23

Ah... ahora entiendo por qué los profesores que les vuelven a enseñar cálculo a los de primer año de ingeniería ponen esa cara.

 
jayhanx 2026-02-23

T_T esto sí está medio grave