LLM生成のパスワードが予測可能性と脆弱性からセキュリティリスクを暴露

大規模言語モデル(LLM)によって生成されたパスワードは、見た目は複雑で「高エントロピー」に見えるかもしれませんが、新しい研究によるとこれらは非常に予測可能であり、頻繁に繰り返されるため、従来の暗号化パスワードジェネレーターと比べて格段に脆弱であることが明らかになりました。

安全なパスワード生成器の核心にはCSPRNG(Cryptographically Secure Pseudo-Random Number Generator)があり、これは一様で予測不能な分布から文字を生成し、パスワード内の各位置が推測するのが難しいようにします。しかし、大規模言語モデルは学習した確率に基づいて次のトークンを予測し、統一的なランダム性よりも可能性の高いパターンを明示的に好むため、セキュアなパスワード生成とは構造的に互換性がないとされています。

現代の大規模言語モデル(Claude, GPT, Geminiなど)でテストされた結果、大文字と小文字の文字、数字、記号を含む視覚的なパスワードでも、狭い偏った文字分布が見られ、攻撃者が学習して悪用できることが明らかになりました。

研究結果

Claude Opus 4.6の分析では、「パスワードを生成してください」という50回の独立したプロンプトに対して、30種類しかユニークなパスワードが返されませんでした。その中でも1つの16文字の文字列が18回も出現し、多くのパスワードが同じ接頭辞や構造、文字セットを共有していました。

また、GPT-5.2とGemini 3 Flashでの実験でも同様の問題が見られました。特定の開始文字(例:「vQ7!mZ2#…」)を中心に強力なクラスタリングが見られ、小さな再利用可能な記号セットも確認されました。

エントロピーと実世界での暴露

KeePassやzxcvbnなどの一般的な強度チェックツールはこれらのAI生成のパスワードを「優秀」と評価しますが、偏った分布を考慮したエントロピー計算では異なる結果が出ます。シャノンエントロピーを使用して観測された文字頻度に基づいて計算すると、16文字のLLM生成パスワードは約98ビットのエントロピーを持つべきですが、実際には約27ビットしか持たないと推定されます。

この弱いパスワードは理論的なものだけではありません。研究者はGitHubやウェブ全体で特定のサブストリング(例:K7#mP9やk9#vL)を検索し、数十件の実際のコードベース、設定ファイル、技術文書にLLMスタイルのパスワードが含まれていることを確認しました。

ユーザー向けの推奨事項

エンドユーザーはチャットボットを使用してパスワードを生成しないようにし、代わりにCSPRNGをバックグラウンドとする専用のパスワードマネージャーやシステムジェネレーターを使用するか、WebAuthnなどのパスワードレス方法を利用するべきです。

開発者向けの推奨事項

開発者は、一般目的の大規模言語モデルやコーディングエージェントによって生成されたパスワードを信頼しないようにし、それらの資格情報を回転させ、ツールとCIパイプライン内で安全なジェネレーターを使用するべきです。

結論

LLM生成のパスワードは予測可能で脆弱であり、実際のコードベースや設定ファイルに広範囲にわたって使用されています。セキュリティ上のリスクを軽減するために、ユーザーと開発者は安全なパスワードジェネレーション方法を使用することが重要です。


元記事: https://gbhackers.com/llm-generated-passwords/