大規模言語モデルが生成したパスワードは予測可能で反復的であることが判明

大規模言語モデルが生成したパスワードは予測可能で反復的であることが判明。AI企業Irregularの最近のセキュリティ分析によると、ClaudeやGPT、Geminiなどの大規模言語モデルによって直接作成されたパスワードは複雑に見えますが、予測可能なパターンのため根本的に弱いことが明らかになりました。

これらの「バイブパスワード」はAIエージェントのコードを含む実際の使用において出現し、その低いエントロピーを見落とす開発者とユーザーにリスクをもたらします。

大規模言語モデルは訓練データに基づいてトークンを予測し、ランダムネスを模倣するが均一分布から遠く離れた偏ったパターンに従う出力を生成します。

セキュアなパスワードは高いエントロピーを確保するために暗号学的に安全な疑似乱数生成器(CSPRNG)が必要であり、LLMはこれを再現できません。

KeePassやzxcvbnなどのツールはこれらのパスワードを高く評価し、100ビットのエントロピーを推定していますが、実際の分析では数秒から数時間で破られることが示されています。

Irregularは「パスワードを生成してください」というプロンプトを新しいセッションで50回実行してモデルをテストしました。Claude Opus 4.6は30個のユニークな文字列のみを生成し、「G7$kL9#mQ2&xP4!w」が18回繰り返され、真のランダムネスではほぼゼロに対して36%の確率で繰り返されました。

パターンが支配的です:ほとんどが大文字のGまたはkで始まり、その後に7が続き、L、9、m、2、$、#のような文字を好む傾向があり、繰り返しや*のような記号を避けます。GPT-5.2とGemini 3 Flashは同様の偏りを示し、「vQ7!」や「K#7」のようなプリフィックスが頻繁に出現します。

Claude Code、Codex、Gemini-CLIなどのコーディングエージェントは、特に「パスワードを提案してください」のようなプロンプトで、openssl randのような安全なツールではなくLLM生成をデフォルトにしています。

これらはDocker ComposeファイルやFastAPI キー、.envファイルに弱い認証情報を埋め込み(例:MYSQL_ROOT_PASSWORD: Rt7xK9mP2vNqL4wB)、ユーザーに気づかれません。

GitHubで「K7#mP9」や「k9#vL」のようなパターンを検索すると、テストコードやセットアップで公開されている多くの例が発見されます。

エントロピー計算は脆弱性を確認しています。文字統計のシャノンエントロピーを使用すると、16文字のClaudeパスワードは合計27ビットを生成します(最初の文字だけで2.08ビット)。一方、予想されるビットは98ビットです。

GPTのlogprobsはさらに低い値を示しています:20文字で約20ビット、一部の位置では0.004ビット(99.7%予測可能)です。LLMパターンを優先とするブルートフォースはレガシーハードウェアでも数時間で破られる可能性があります。

温度調整は失敗し、Claudeの最大1.0でもお気に入りを繰り返します;0.0は1つの文字列にロックされます。ChatGPT Atlasのようなエージェントブラウザはサイト登録などのタスク中にそれらを挿入します。

セキュリティチームはAIが関与したコードを監査してハードコードされたシークレットをチェックし、それらをローテーションする必要があります。開発者はプロンプトまたはコントロール経由でエージェント内のCSPRNGを強制し、パスワードマネージャーまたはパスキーを優先すべきです。

翻訳元: https://cyberpress.org/llm-passwords-easily-predicted/

ソース: cyberpress.org