AIセキュリティラボ「Irregular」による最新の調査で、大規模言語モデル(LLM)が生成するパスワードに予測可能なパターンが存在することが明らかになりました。本稿では、なぜ高度なAIが単純なランダム文字列の生成を苦手とするのか、その技術的背景と日本企業が認識すべきセキュリティリスクについて解説します。
「人間らしさ」が裏目に出るセキュリティの落とし穴
生成AI、特にChatGPTやClaudeのような大規模言語モデル(LLM)は、膨大なテキストデータから「次に来るもっともらしい単語(トークン)」を確率的に予測することで文章を生成します。この「もっともらしさ」こそが、セキュリティ、特にパスワード生成においては致命的な欠陥となります。
セキュリティラボIrregularの調査によると、LLMにパスワード生成を依頼した場合、出力される文字列には統計的に偏ったパターンが含まれることが判明しました。これはLLMの学習データに含まれる人間が作成したパスワード(例:企業名、年号、単純な単語の組み合わせなど)の傾向を、モデルが学習してしまっているためです。
セキュリティの世界では、予測不可能性(エントロピー)が重要視されます。しかし、LLMは本質的に「文脈をつなげる」機械であり、「無秩序なランダム」を作り出す機械ではありません。どれほど複雑に見える指示を与えても、LLMの出力は数学的な意味での「暗号論的擬似乱数生成器(CSPRNG)」の代わりにはなり得ないのです。
開発現場に潜む「コピペ」のリスク
この問題は、一般社員が個人のアカウント作成時にAIを使うケースに留まりません。より深刻なのは、システム開発の現場です。エンジニアがGitHub Copilotなどのコーディングアシスタントに対し、テストデータや初期設定用のAPIキー、シークレットキーの生成を依頼してしまうケースが散見されます。
AIが生成した「一見ランダムに見える文字列」をプロダクション環境の認証情報として使用した場合、攻撃者が同様のモデルとプロンプトを用いて、総当たり攻撃(ブルートフォースアタック)よりもはるかに効率的にキーを推測できる可能性があります。AIは「サイコロを振る」のではなく、「サイコロを振ったような結果を文章として記述する」だけであるという事実を、開発者は再認識する必要があります。
日本企業のAI活用への示唆
生成AIの導入が進む日本企業において、この事例は「AIが得意なこと」と「苦手なこと」を峻別する重要性を示しています。以下に、実務的な示唆を整理します。
1. ガイドラインでの明確な禁止事項の策定
社内の生成AI利用ガイドラインにおいて、パスワード、APIキー、トークンなどの「機密性のある乱数」の生成にLLMを使用することを明示的に禁止すべきです。これらは必ず、OSやプログラミング言語が提供する標準の暗号論的乱数生成ライブラリ、または信頼できるパスワードマネージャーを使用するよう周知する必要があります。
2. 「便利さ」と「安全性」の線引き
日本の現場では、業務効率化のために「なんでもAIに聞く」という文化が形成されつつあります。しかし、セキュリティや正確な計算など、確率的な揺らぎが許されない領域については、従来の手法(専用ツールや決定論的なアルゴリズム)の方が優れていることを教育研修に盛り込むべきです。
3. 開発プロセスの見直しと監視
内製化を進める企業やSIerにおいては、生成AIを用いたコード記述の中に、ハードコードされたAI生成のクレデンシャル(認証情報)が紛れ込んでいないか、コードレビューやセキュリティスキャンのプロセスで確認する体制が求められます。
