Teknik - Génération des mots de passe par LLM - Parce que... c'est l'épisode 0x319!
Contenu de l'épisode
- 6 au 9 août 2026 - Las Vegas, USA - - DEFCON 34
- 19 septembre 2026 - Montréal Canada - - Bsides Montréal 2026
- 22 septembre 2026 - Belgique - - BE-Cyber
- 24 au 25 septembre 2026 - Belgique - - BruCON
- 1er au 3 octobre 2026 - Krakow, Pologne - - AligatorCon
- 13 et 14 novembre 2026 - Worldwide - - DEATHCon
- 16 au 19 novembre - Rennes, France - Pôle d'Excellence Cyber (PEC) - European Cyber Week 2026
- 1 au 3 décembre 2026 - Ottawa, Canada - Forward Global - Forum inCYBER Canada
Contexte de la recherche
Dans cet épisode de Polysécure, l’animateur reçoit Gaëtan Ferry, chercheur en sécurité chez GitGuardian, pour discuter d’une recherche originale sur la génération de mots de passe par les grands modèles de langage (LLM). Le point de départ est un article publié début 2026 par Irregular, une entreprise israélienne, qui avait démontré que les mots de passe générés par les LLM présentaient des biais statistiques importants, variables selon les modèles. Cette découverte a poussé l’équipe de GitGuardian à se demander si ces mots de passe biaisés se retrouvaient réellement « dans la nature », c’est-à-dire utilisés par de vraies personnes sur de vrais systèmes.
GitGuardian dispose d’un avantage unique pour répondre à cette question : son activité principale consiste à détecter des secrets (mots de passe, clés API, etc.) exposés publiquement, notamment sur GitHub. L’entreprise possède donc une base de données massive de secrets, dont une catégorie dite « générique » — des chaînes de caractères qui ressemblent à des mots de passe mais ne suivent aucun format standardisé identifiable.
Méthodologie : les chaînes de Markov
Pour détecter automatiquement si un mot de passe avait été généré par un LLM, l’équipe a eu l’idée de reconstruire une structure statistique classique : les chaînes de Markov, l’ancêtre technique des LLM, utilisées par exemple dans la prédiction de texte sur les claviers de téléphone. Ces chaînes excellent à capturer des biais statistiques dans une séquence de caractères.
La méthode a consisté à interroger 40 modèles de LLM différents, en leur demandant de générer des centaines de mots de passe chacun. À partir de ces échantillons, plusieurs types de chaînes de Markov ont été construits, prenant en compte (ou non) la position des caractères dans le mot de passe. Ces structures permettent ensuite, face à un mot de passe arbitraire, d’estimer la probabilité qu’il ait été généré par un LLM, un peu comme une mesure d’entropie relative à une base de référence précalculée.
Des biais spectaculaires
Les résultats ont confirmé, voire amplifié, les observations d’Irregular. L’exemple le plus frappant concerne un modèle (Opus, à l’époque de l’étude) qui ne générait des mots de passe uniques que dans 35 % des cas — autrement dit, il répétait le même mot de passe dans 65 % des requêtes. Un modèle de Mistral faisait encore pire : il ne générait qu’un seul et unique mot de passe, toujours identique, laissant penser qu’il se contentait de restituer une valeur mémorisée durant son entraînement plutôt que d’en générer une nouvelle.
Gaëtan Ferry explique ce phénomène par la tokenisation : certains modèles (comme GPT, étudié par Irregular) découpent le mot de passe en plusieurs tokens indépendants, ce qui introduit une certaine variabilité, alors que d’autres semblent traiter le mot de passe comme un token unique, menant à une quasi-absence de diversité. Un biais récurrent, observé sur presque tous les modèles, est l’alternance rigide entre catégories de caractères (minuscule, majuscule, chiffre, symbole) selon un schéma répétitif — un pattern idéal à capturer dans une chaîne de Markov. Sur un modèle donné, par exemple, un symbole « # » est suivi d’un « 8 » dans 90 % des cas.
Ce comportement s’explique par la nature même des LLM : entraînés à reproduire des régularités linguistiques, ils sont fondamentalement conçus pour être prévisibles — l’exact opposé de ce qu’exige une bonne génération de mot de passe, qui requiert une forte entropie.
Résultats sur les données réelles
En appliquant cette classification à un échantillon d’environ 3 millions de secrets génériques collectés entre janvier et mars 2026, l’équipe a identifié environ 28 000 mots de passe présentant une très forte probabilité d’avoir été générés par un LLM, avec un seuil de confiance élevé. Bien que ce nombre représente une fraction modeste de l’échantillon total, la tendance est constante : environ 1 500 à 2 500 nouveaux mots de passe générés par LLM apparaissent chaque semaine sur GitHub, un rythme jugé préoccupant compte tenu qu’il ne s’agit que du sous-ensemble visible publiquement