OpenAIは、研究者が内部クラウドメタデータやAzureの認証情報を露出させる可能性を示したことを受け、ChatGPTのカスタムGPT機能に存在する深刻度の高いSSRF脆弱性を修正した。
この問題は、AIシステムでユーザーが制御するURL入力が、先進的なAI駆動環境に従来型のWeb脆弱性を持ち込む可能性について、懸念が高まっていることを浮き彫りにしている。
リダイレクトとヘッダーがSSRF攻撃を可能にした仕組み
SSRF脆弱性は、アプリケーションが適切な検証を行わずにユーザー提供のURLからリソースを取得すると発生する。これにより攻撃者は、システムに不正な内部リクエストを実行させることが可能になる。
クラウド環境では、メタデータエンドポイントにインスタンス情報や一時的なアクセストークンが含まれていることが多いため、リスクは特に大きい。
こうしたエンドポイントが悪用されると、複数のプロバイダーにまたがるクラウド侵害につながる可能性がある。
ChatGPTの有料機能であるカスタムGPTでは、ユーザーがOpenAPIスキーマを使って外部APIを統合できる。
これらの「アクション」により、GPTは外部HTTPリクエストを介して、天気情報などのリアルタイムデータを取得できる。
研究者はインターフェースを調査する中で、設定可能な認証ヘッダーとともに、任意のAPI URLをシステムが許可していることに気づいた。
組み込みの「テスト」ボタンはOpenAIのインフラから直接これらのリクエストを実行したため、SSRFにつながる可能性が直ちに懸念された。
当初、Azureのインスタンスメタデータサービス(IMDS)は暗号化されていないHTTPを使用している一方、システムがHTTPS URLを要求したため、攻撃の試みは失敗した。
しかし研究者は、外部ドメインから302リダイレクトを使い、HTTPSエンドポイントをIMDSのURLへリダイレクトすることで、この制限を回避した。
OpenAIのサーバーはリダイレクトに従ったものの、Azureが特殊なヘッダーMetadata: trueを要求するため、アクセスは依然として拒否された。
研究者がSSRF脆弱性を悪用した方法
突破口となったのは、カスタムGPTのインターフェースで任意のAPIキー・ヘッダーを指定できることに研究者が気づいたことだった。
その1つを「Metadata」と名付け、値に「true」を設定すると、リクエストに必要なヘッダーを注入することに成功した。
正しいリダイレクトとヘッダーを組み合わせることで、研究者はIMDSメタデータを取得し、その中にはAzureの管理API用の有効なOAuth2トークンも含まれていた。
このトークンは、コンピューティング環境に割り当てられたマネージドIDによって自動的に発行されたもので、機密性の高いクラウドリソースへのアクセスを可能にした。
露出したメタデータには、OpenAIのクラウド環境とやり取りできる特権Azureトークンが含まれていた。
研究者は、これが発見した中で最も深刻な脆弱性ではないと指摘したものの、ラテラルムーブメントやクラウドリソースの列挙につながる可能性があるため、この問題は非常に危険だった。
SSRFの脅威からAIプラットフォームを強化する
OpenAIが今回のSSRF脆弱性へのパッチを公開した今も、組織は同様のリスクから保護するため、次のような追加の対策を講じるべきだ。
- 送信接続に厳格な許可リストを適用する:サーバー側のトラフィックを制限し、アプリケーションが承認済みの外部サービスとのみ通信できるようにする。
- クラウドメタデータエンドポイントをデフォルトでブロックする:可能な場合はIMDSへのアクセスを無効にするか、意図しない露出を減らすためIMDSv2または承認済みのリクエストを必須にする。
- ネットワークの送信制御を利用する:ファイアウォールルールと仮想ネットワークセキュリティグループを設定し、意図しない内部または外部へのリクエストを阻止する。
- AI駆動のリクエストに対してゼロトラスト検証を適用する:AIが生成またはトリガーしたすべてのネットワーク活動を、完全に検証されるまで信頼できないものとして扱う。
- 強固なID・アクセス管理(IAM)の境界を実装する:権限をクラウドコンピューティングロールに付与する権限を制限し、トークンが侵害された場合の被害範囲を抑える。
- 異常な送信トラフィックを監視する:行動分析を利用して、通常とは異なる内部メタデータへのアクセス、リダイレクトチェーン、または繰り返されるアクセス失敗の試みを検知する。
- AIワークフローにおけるサードパーティー統合を見直す:次のことを確認する:APIスキーマ、ユーザー提供のURL、カスタムAIアクションがサンドボックス化され、検証されていること。
AIシステムが重要な業務ワークフローにさらに深く統合され続ける中、そのネットワーク動作を保護することは、信頼性とレジリエンスを維持するうえで不可欠になる。
今回のSSRF脆弱性の発見は、AIプラットフォームがより複雑かつ相互接続されたものになるにつれ、従来型のWebセキュリティ問題が予期しない形で再び現れる可能性を示している。
OpenAIは迅速にパッチを適用したものの、このインシデントは多層的なセキュリティの重要性を浮き彫りにしている。
組織は、IDに基づく制御を強化し、継続的な検証をゼロトラストソリューションを用いて実施すべきだ。

