エージェント型アプリケーション向けOWASP Top 10
製品にcopilot、AIエージェント、ツールを利用するLLMワークフローが含まれる場合、これらはペンテスト中にテストする主なリスクです。
これらのチェックは、Aikido Pentestが検出できるIssueとは?で説明している従来のWebおよびAPIカバレッジを拡張するものです。
1. プロンプトインジェクション
Section titled “1. プロンプトインジェクション”信頼できない入力がシステム指示を上書きしたり、エージェントを安全でない動作へ誘導したりできるかどうかをテストします。
これには、ファイル、チケット、メール、ドキュメント、Webサイト、取得したコンテンツからの直接的なプロンプトや間接的なペイロードが含まれます。
2. 機微情報の漏えい
Section titled “2. 機微情報の漏えい”エージェントがシステムプロンプト、メモリ、chain-of-thoughtのような隠された成果物、APIキー、トークン、PII、テナント間のデータを漏えいできるかどうかをテストします。
これには、レスポンス、ログ、ツール、下流の統合を通じた漏えいが含まれます。
3. 過剰なエージェンシー
Section titled “3. 過剰なエージェンシー”エージェントが、十分な承認・スコープ設定・ポリシーチェックなしに影響の大きいアクションを実行できるかどうかをテストします。
例としては、データの送信、設定の変更、ユーザーの作成、レコードの削除、デプロイのトリガーなどが挙げられます。
4. 安全でないツール利用
Section titled “4. 安全でないツール利用”エージェントに接続されたツールをテストします。
これには、ブラウザ操作、シェル実行、コードランナー、MCPツール、Webhook、内部・外部APIが含まれます。
安全でないパラメータ処理、SSRFのような挙動、想定外のコマンドやアクションの実行がないかを確認します。
5. 安全でない出力処理
Section titled “5. 安全でない出力処理”エージェントの出力が、検証なしに他のシステムで実行・レンダリング・信頼されるかどうかをテストします。
例としては、安全でないコード、HTML、SQL、シェルコマンド、ワークフローアクション、テンプレートコンテンツを生成するプロンプトが挙げられます。
6. メモリポイズニング
Section titled “6. メモリポイズニング”長期記憶、保存されたコンテキスト、セッション状態が汚染され、将来の実行に影響を及ぼせるかどうかをテストします。
これは、エージェントが過去の会話、メモ、要約、保存された設定を再利用する場合に重要になります。
7. 検索・ナレッジベースポイズニング
Section titled “7. 検索・ナレッジベースポイズニング”悪意のあるドキュメントやインデックス化されたコンテンツが、RAG(Retrieval-Augmented Generation)のフローを操作できるかどうかをテストします。
これには、悪意のあるドキュメント、汚染されたwikiページ、埋め込まれたシークレット、意思決定を誘導したりデータを漏えいさせたりするために作られたコンテンツが含まれます。
8. 認証・認可の不備
Section titled “8. 認証・認可の不備”エージェントが現在のユーザーのロール、テナント、セッションの範囲外で動作できるかどうかをテストします。
これは、IDORやbroken access controlといった従来のアクセス制御バグと重なりますが、エージェントのアクションやツール呼び出しを通じたものである点が異なります。
9. リソース枯渇とdenial of wallet
Section titled “9. リソース枯渇とdenial of wallet”プロンプト、ループ、ツールチェーンが、コスト・レイテンシ・トークン使用量・ファンアウトの暴走を引き起こせるかどうかをテストします。
これには、無制限の再帰、繰り返しのリトライ、コストの高い外部アクションが含まれます。
10. サプライチェーンと統合のリスク
Section titled “10. サプライチェーンと統合のリスク”エージェントが安全でないモデル、プラグイン、プロンプト、コネクタ、サードパーティ製ツールに依存しているかどうかをテストします。
これには、侵害されたMCPサーバー、プラグインの信頼境界の弱さ、リスクのある外部アクションが含まれます。
実際に意味すること
Section titled “実際に意味すること”エージェント型アプリケーションでは、Aikidoはこれらのチェックを、SSRF、IDOR、broken access control、RCE、XSS、ビジネスロジックの悪用といった標準的なペンテストカバレッジと組み合わせます。
これが重要な理由は、エージェント型システムでは従来の脆弱性がより影響の大きいエクスプロイトチェーンに発展することが多いためです。