“How LLMs Help Penetration Testers Exploit Systems with First-Principles Thinking “ Jul 28, 2025 by Colby Watts より
サイバーセキュリティチームは、進化し続ける脅威に対応する中で、受動的なアプローチに陥りがちです。たとえば、前回侵害された箇所の再検証、チェックリストの機械的な踏襲、既知の脆弱性のみに着目したスキャンなどです。
しかし、現代のペネトレーションテストには、こうした繰り返し的な手法を超える「発想の転換」が求められます。そこで重要となるのが、第一原理思考(First-Principles Thinking)と大規模言語モデル(LLM)の活用です。
この2つを組み合わせることで、ペンテスターは表面的な指摘にとどまらず、攻撃者が現実に突くシステム構造上の弱点まで踏み込むことが可能になります。
LLMが第一原理思考をどう支援するのか
以下では、セキュリティにおける5つの基本的な第一原理と、それに対してLLMがどのように貢献できるかを示します。
1. 信頼は脆い
第一原理: あらゆるシステムは人間が構築している。ゆえにミスは避けられない。
たとえMFA(多要素認証)、暗号化、ファイアウォールといった保護機構が備わっていても、設計上の例外や実装ミス、未検証の前提が存在すれば、信頼の全体構造は崩壊します。
LLMによる支援例:
- 認証フローにおける弱点の特定と分析
- 提供されたコードや仕様に基づいたバイパス手法の提案
- OAuthの悪用やパスワードリセット機能の悪用シナリオのシミュレーション
プロンプト例:
「これはパスワードリセットのワークフローです。攻撃者がMFAを回避したり、他のユーザーになりすましたりできる箇所はどこですか?」
2. すべての入力は潜在的な武器となる
第一原理: 入力を受け付ける箇所はすべて、攻撃に利用されうる。
フォーム、APIパラメータ、HTTPヘッダー、ファイルアップロードなど、ユーザーが制御可能なすべての入力が攻撃ベクトルになります。攻撃者は、境界ケース、エンコーディング手法、さまざまなペイロードを試し、アプリケーションの処理ロジックの隙を突いてきます。
LLMによる支援例:
- アプリケーション構造に応じたファズ入力の生成
- WAFや入力サニタイザーのバイパス用バリアント作成
- SSRF、XSS、SQLインジェクションなど、ブラインドインジェクションの検出支援
プロンプト例:
「このJavaScriptサニタイザー関数をバイパスできるXSSペイロードを生成してください。」
3. 境界は人間が定義するもの
第一原理: 信頼の境界は自然界に存在するのではなく、コードによって定義される人工的なもの。
認可が失敗する原因は、それが存在しないからではなく、適用に一貫性がないことが多いのです。APIが過剰な情報を公開していたり、フロントエンド側のロジックが、バックエンドには存在しないアクセス制御を前提としていることがあります。
LLMによる支援例:
- APIドキュメントの解析によるIDOR(Insecure Direct Object Reference)や権限昇格リスクの特定
- 認可に関する誤った前提や抜け漏れの指摘
- 権限の水平移動や昇格パスの提案
プロンプト例:
「ロールベースアクセス制御が実装されていない場合、これらのAPIエンドポイントのうち、IDORの脆弱性が疑われるのはどれですか?」
4. 複雑さはセキュリティの敵
第一原理:システムが複雑になればなるほど、エラーが発生する余地は広がる。
現代のアプリケーションは、マイクロサービス、クラウドサービス、外部APIとの統合などを含む複雑な構造になっています。そのため、設定ミスや依存関係の見落としが頻発し、それが攻撃者に悪用される可能性があります。
LLMによる支援例:
- IAMポリシーやTerraform構成、クラウド設定ファイルの解析
- サービス間を横断する連鎖的な脆弱性の特定
- 手動では見逃されがちな攻撃パスの検出
プロンプト例:
「このAWS IAMロール、Lambda関数、および公開されているAPIについて、SSRFを利用してどのような攻撃パスが考えられますか?」
5. 攻撃者はROIで動く
第一原理: 多くの攻撃は、場当たり的かつシンプルである。
攻撃者は、高度なゼロデイではなく、最も少ない労力で最大の成果を得られる脆弱性 ─ たとえば、初期設定のままの認証情報や、忘れ去られたテスト環境、再利用されたシークレットなどを好んで狙います。
LLMによる支援例:
- 攻撃パスを「労力」と「影響度」に基づいて優先順位付け
- セキュリティチームが見落としがちな初歩的な問題の抽出
- 独創的なエクスプロイトシナリオのブレインストーミング支援
プロンプト例:
「このNmapスキャン結果とディレクトリリストに基づき、最も労力が少なく影響の大きい攻撃手法を5つ提案してください。」
ペンテストライフサイクルにおけるLLMの活用
フェーズ | LLMの貢献 |
---|---|
偵察(Reconnaissance) | ドメイン、コード、クラウド資産を分析し、攻撃仮説を生成 |
脅威モデリング(Threat Modeling) | 信頼の前提を特定し、障害シナリオを可視化 |
エクスプロイト(Exploitation) | ペイロードを生成し、入力をファジングし、連鎖攻撃を提案 |
権限昇格(Privilege Escalation) | 脆弱なアクセス制御やラテラルムーブメント(横展開)ベクトルを発見 |
持続性(Persistence) | 見落とされたサービスや信頼関係を特定し、長期的な足場を確保 |
レポート(Reporting) | 技術的エクスプロイトを、関係者向けの明確なリスクベースの示唆に変換 |
まとめ:チェックリストを超えて
チェックリストは確かに役立つ道具ですが、現実の攻撃者はそれに従って行動しません。第一原理思考を実践することで、ペネトレーションテスターは「前回の失敗」の再現ではなく、「このシステムに内在する本質的な脆弱性は何か?」という問いに立ち戻ることができます。
そして、LLMを“認知的アクセラレータ(cognitive accelerator)”として活用することで、より深く考察し、より迅速に行動し、より洗練されたエクスプロイトを構築できるようになります。
いまやペネトレーションテストにおいて問われるのは、「どこを調べたか」だけでなく、「どのように考えたか」です。AIと第一原理思考の融合こそが、あなたの最大の武器となるでしょう。
貴社のセキュリティ強化を支援する、RidgeBot®のご紹介もご覧ください。