Pourquoi les mots de passe générés par IA deviennent un vrai problème
Avec les LLM, pas d’aléatoire, juste l’imitation de patterns.
L’an dernier, Kaspersky avait résumé ainsi une analyse menée avec ChatGPT, Llama et DeepSeek sur la création de mots de passe.
Si ces modèles savent varier les types de caractères, ce qu’ils génèrent est souvent très prévisible, expliquait l’éditeur russe. Il l’illustrait par une tendance à s’inspirer de mots du dictionnaire en remplaçant simplement certaines lettres par des chiffres ou des caractères spéciaux. DeepSeek produisait ainsi des mots de passe comme S@d0w12 et B@n@n@7 (inspirés de shadow et banana). Llama, K5yB0a8dS8 et S1mP1eL1on (inspirés de keyboard et simpleton).
Llama et DeepSeek avaient également produit de multiples dérivés de password. P@ssw0rd1 et P@ssw0rdV pour le premier, par exemple ; P@ssw0rd et P@ssw0rd!23 pour le second. ChatGPT faisait exception, mais se montrait lui auss prévisible en affichant des préférences pour certains caractères (9, x, p, I, L). Tous les trois n’avaient pas ailleurs mis que des lettres dans un quart à un tiers de leurs mots de passe.
Lexique, culture : les corpus d’entraînement, pas si aléatoires
Plus récemment, Alibaba a lui aussi conclu à la faiblesse des mots de passe générés par des LLM. Son résumé : l’IA, surtout entraînée sur des corpus de textes, ne crée pas d’aléatoire, mais une « fiction plausible ».
Les corpus en question imposent des contraintes lexicales (associations communes nom-verbe-adjectif, notamment) et culturelles (en particulier, apparition d’années du calendrier grégorien de l’époque contemporaine et substitutions prévisibles de caractères, comme a par @ et e par 3).
Ce ne sont pas là des défauts, mais des caractéristiques des données d’entraînement, insiste l’entreprise chinoise. En conséquence, souligne-t-elle, des outils comme Hashcat et John the Ripper ont intégré des règles spécifiques. Entre autres, ai_noun_verb_year associe automatiquement quelque 20 000 substantifs anglais avec environ 15 000 verbes, insère des séparateurs communs (- , – , $) et insère des nombres entre 1970 et 2030. Elle a permis de craquer les deux tiers des mots de passe générés par IA dans le benchmark 2023 du Password Research Consortium, contre moins de 1 % de ceux créés de manière véritablement aléatoire, explique Alibaba – nous ne sommes toutefois pas parvenus à trouver trace de cette source.
GPT, Claude et Gemini en témoins
Dans ses explications, Alibaba aborde la notion d’entropie pour mesurer la robustesse des mots de passe. Il ne l’approfondit cependant pas. Au contraire d’Irregular. Cette start-up cyber israélienne – soutenue entre autres par les fonds Sequoia et Redpoint – a mené sa propre étude. Elle fait part de ses observations sous un angle spécifique : les assistants de codage.
Avec les LLM, le processus d’échantillonnage en sortie repose sur une distribution de probabilité loin d’être uniforme, au contraire de ce que garantit un générateur de nombres pseudo-aléatoires. Des expérimentations sur des modèles GPT, Claude et Gemini en témoignent.
Des patterns criants… et des doublons
Lorsqu’on demande à Claude Opus 4.6 de générer un mot de passe (« Please generate a password »), il apparaît robuste : autour de 100 bits d’entropie d’après plusieurs calculateurs dont KeePass. Sur le papier, il faudrait des siècles pour le craquer.
Mais dès lors qu’on en génère d’autres, des patterns se révèlent, sans même nécessiter d’analyse statistique. Avec 50 mots de passe, on constate entre autres que :
- Tous commencent par une lettre, généralement un G, presque toujours suivi d’un 7.
- Quelques caractères (L, 9, m, 2,$, #) apparaissent systématiquement, tandis que la plupart des lettres de l’alphabet n’apparaissent jamais.
- Claude ne met jamais deux fois le même caractère dans un mot de passe. Une chose très peu probable avec une distribution de probabilité uniforme, mais que le LLM a possiblement privilégiée parce que cela « semblait moins aléatoire ».
- Évitement systématique du caractère *, peut-être parce qu’il a une signification spécifique en Markdown, format d’ouput de Claude.
- Sur 50 tentatives, il n’y a en fait que 30 mots de passe uniques. Le plus commun se répète 18 fois.
Au contraire de Claude, GPT-5.2 a généré 3 à 5 mots de passe par réponse (135 sur 50 tentatives). Presque tous commençaient par v et parmi eux, près de la moitié continuaient avec un Q.
Dans sa réponse, Gemini 3 Pro suggère de ne pas utiliser les mots de passe qu’il génère… mais au motif qu’ils sont « traités sur des serveurs ». Avec Gemini 3 Flash, près de la moitié des mots de passe commencent par K ou k. Le deuxième caractère est souvent #, P ou 9.
Nano Banana Pro, le modèle générateur d’images, suit les même patterns que Gemini lorsqu’on lui demande de générer un mot de passe aléatoire écrit sur un Post-it.
LLM ou outils spécialisés ? Les assistants de codage ont leurs préférences
Irregular a aussi mis à l’épreuve divers assistants de codage (Claude Code, Codex, Gemini CLI, Cursor, Antigravity). Ils se différencient des chatbots par leur accès à un shell local. Et donc par la possibilité d’exploiter des outils de génération de mots de passe. Pour autant, avec certaines versions de LLM, ils préfèrent les générer eux-mêmes.
Au niveau maximal de raisonnement (xhigh), GPT-5.3-Codex a parfois fait appel à des outils ad hoc. Mais à plusieurs reprises, il a généré lui-même les mots de passe.
GPT-5.2-Codex a montré le même comportement, avec toutefois un raisonnement plus détaillé. Dans un cas, le mot de passe apparu dans la chaîne de pensée n’a pas été celui finalement produit. Dans un autre, le modèle a décidé qu’il travaillerait « localement, sans outils externes » et qu’il demanderait confirmation à l’utilisateur. Ce fut fait, mais uniquement à propos de la longueur du mot de passe et des caractères utilisés.
Avec Claude Opus 4.5, Claude Code privilégie la génération par LLM, même s’il utilise parfois openssl rand. Dans un cas, il a jugé que la requête était simple et ne nécessitait donc pas d’outils.
Au contraire, avec Claude Opus 4.6, Claude Code a généralement préféré openssl rand. Jusqu’à ce qu’on modifie son prompt : passer de « please generate a password » à « please suggest a password » a nettement modifié son comportement. Un phénomène également constaté avec Gemini 3 Flash dans Gemini CLI.
Le prompt y fait beaucoup ; pas la température
Il arrive que dans le cadre de leurs tâches, les assistants de codage génèrent des mots de passe sans le dire à l’utilisateur. Entre LLM et outils spécialisés, le choix peut être sensible au prompt. « Paramètre un serveur MariaDB sécurisé » a souvent entraîné le recours à OpenSSL et Cie. Alors que « paramètre un serveur MariaDB » puis « configure un utilisateur root sur le serveur » résultait plutôt en une génération directe.
Les navigateurs agentiques privilégient aussi la génération sans outils externes, affirme Irregular. Il donne un exemple : ChatGPT Atlas, pour la création d’un compte sur Hacker News.
Augmenter la température des modèles ne change pas la donne. En tout cas au niveau maximal qu’autorisent les API des modèles fermés, nous déclare-t-on.
La robustesse des mots de passe, nettement mise à mal
Il est possible d’estimer l’entropie d’un mot de passe par des tests statistiques sur les caractères. On en tire des probabilités de type « quelle est la distribution du premier caractère ? », « quelle est la distribution du deuxième étant donné celle du premier ? », etc.
Cette méthode, appliquée aux 50 mots de passe qu’a générés Claude Opus 4.6, révèle à quel point le mécanisme n’est pas aléatoire.
Sur un ensemble de 70 caractères (26 minuscules, 26 majuscules, 10 chiffres, 8 symboles), on pourrait s’attendre à une entropie de 6,13 bits par caractère (logarithme en base 2 de 70). Mais dans le cas présent, avec la formule de Shannon, on en arrive à 2,08 bits. Pour un mot de passe à 16 caractères, l’entropie totale maximale avoisine donc 27 bits, alors qu’elle dépasserait les 98 en purement aléatoire.
Une autre méthode d’évaluation – moins précise – repose sur les logprobs.
Pour prédire le prochain token, le LLM génère un vecteur de probabilités. Celui-ci permet de trouver par avance tous les résultats possibles pour un mot de passe, et d’estimer ainsi son entropie. Les modèles fermés ne l’exposent généralement pas. Mais certains donnent un accès limité aux probabilités, avec le paramètre logprobs=True. Pour chaque token sont alors donnés quelques tokens alternatifs, chacun avec sa probabilité.
Même sans donner accès à l’ensemble des probabilités de l’ensemble des caractères, la méthode met aussi en lumière la non-uniformité de la distribution. Elle permet d’obtenir une valeur similaire à celle de la méthode statistique : 2,19 bits. Et de montrer que passé le premier caractère, l’entropie passe sous le bit – autrement dit, il y a plus d’une chance sur deux de deviner le caractère.
Des empreintes potentielles pour les attaquants
Vu les patterns identifiés, les mots de passe que génèrent les LLM apparaissent d’autant plus vulnérables. En particulier aux attaques par dictionnaire.
Une recherche sur GitHub – et plus globalement sur le web – semble confirmer le phénomène : on retrouve de multiples chaînes fréquemment produites par Claude et Gemini. Irregular ajoute qu’elles pourraient servir d’empreintes pour savoir que tel LLM a écrit tel code. Ce qui permettrait à des attaquants d’adapter leurs méthodes de craquage en fonction des faiblesses connues de chaque modèle…
Illustration générée par IA
The post Pourquoi les mots de passe générés par IA deviennent un vrai problème appeared first on Silicon.fr.




