powered by TechFeed
表示モード
主要ニュース

AWSのAIエージェントにプロンプト1件送るだけで、同一アカウント内の全エージェントのクレデンシャルを奪取できる攻撃手法「AgentCorruption」が公開

10月10日、Guru Baranが「One Prompt Could Hijack AWS AI Agents and Steal Cloud Credentials」と題した記事を公開した。Amazon Bedrock AgentCoreに対してプロンプト1つでAWSクレデンシャルを奪取できる攻撃手法「AgentCorruption」について、発見の経緯から対策まで詳述されている。

10月10日、Guru Baranが「One Prompt Could Hijack AWS AI Agents and Steal Cloud Credentials」と題した記事を公開した。Amazon Bedrock AgentCoreに対してプロンプト1つでAWSクレデンシャルを奪取できる攻撃手法「AgentCorruption」について、発見の経緯から対策まで詳述されている。


たった1つのプロンプトがAWSアカウント全体への入口になる

セキュリティ企業Zenity Labsの研究者は、Amazon Bedrock AgentCore(AWSが提供するAIエージェントのマネージドサービス)に対して、公開されたエージェントへのプロンプト1件で、同一AWSアカウント・同一リージョン内の全エージェントへのアクセス権を取得できる攻撃チェーンを発見した。この攻撃はAgentCorruptionと命名されている。

攻撃の核心はシンプルだ。Bedrock AgentCoreのエージェントがWebリクエストやシェルコマンドを実行できるツールを持っている場合、攻撃者はそのエージェントに対してEC2インスタンスメタデータエンドポイント(169.254.169.254)へのアクセスを指示するプロンプトを送るだけでよい。

エージェントはFirecracker製のマイクロVM上で動作しているため、このエンドポイントへのリクエストはVM内部から発せられたものとして処理される。メタデータサービスはその実行ロールに紐付いた一時的なAWSクレデンシャルを返す。アプリケーションのコードにバグは不要で、エージェントが「ユーザーの指示に従い許可されたツールを使う」という正常動作をするだけで成立する。

これはプロンプトインジェクションを起点としたSSRF(Server-Side Request Forgery)攻撃であり、「信頼されていないプロンプト」「ネットワークアクセス権」「クラウドのIAM権限」が重なった場所で起きる問題だ。


プロンプトインジェクション攻撃の概要(出典: Zenity)


奪取後の被害範囲が広い理由

研究者が問題視したのは、デフォルトのIAMロールが単一エージェントに限定されていなかった点だ。取得したクレデンシャルを使うことで、次の操作が確認されている。

  • DescribeLogGroupsでエージェントIDを列挙
  • Amazon ECRからコンテナイメージを取得
  • 内部エージェントの呼び出し(bedrock-agentcore:InvokeAgentRuntime)
  • 過去のチャット履歴の読み取り(bedrock-agentcore:ListEvents)
  • 偽のメモリ注入(bedrock-agentcore:CreateEvent)
  • bedrock-agentcore:GetResourceApiKeyやsecretsmanager:GetSecretValueを通じたAPIキー・OAuthトークン・AWS Secrets Manager内のシークレット取得

特に「偽のメモリ注入」は影響が長期化する。攻撃者がエージェントの長期記憶に隠し指示を埋め込むと、その後の別セッションでもエージェントの挙動を操作し続けられる。


AWS側の対応とZenityとの見解の相違

Zenityは2025年12月25日——クリスマス当日——にメタデータアクセスの問題をAWSに報告した。セキュリティ研究者がホリデーシーズンも構わず動いていた点は、問題の深刻さを物語っている。翌2026年1月12日には広範なロール権限の問題を追加報告。AWSは2月に新規デプロイをIMDSv2(Instance Metadata Service v2)へ移行し、その後必須化した。9月29日時点でZenityは、広範なエージェント呼び出し・チャットアクセス・Secrets Managerアクセスに関する権限がAWSによって削除されたことを確認している。

一方でAWSは、この問題を「脆弱性」とは認定していない。「エージェントがメタデータサービス経由で自身の実行ロールのクレデンシャルにアクセスできることは仕様であり、ドキュメントにも記載されている」という立場だ。クロスアカウントアクセスには明示的な権限設定が必要だとも説明している。


開発・運用チームが取るべき対策

AWSおよびZenityが推奨する対策は以下のとおりだ。

  • カスタムIAMロールを使用する:デフォルトロールを使わず、各エージェントに必要最小限の権限だけを付与する
  • ワイルドカード権限(*)を排除する
  • プロンプト入力のバリデーションを実施する
  • エージェントからのアウトバウンドネットワークアクセスを制限する
  • 公開エージェントと内部エージェントを分離する
  • CloudTrailおよびCloudWatchで異常な呼び出しを監視する
  • AgentCore Gatewayのコントロールを活用し、ランタイムへの直接アクセスをバイパスされないよう設計する

これらの対策に共通するのは「エージェントを特権的なクラウドワークロードとして扱う」という発想だ。ツールやシークレットを気軽に与えがちなAIエージェントの開発文化に対し、Zenityは「AIエージェントはチャットボットではなくクラウドワークロードとして扱うべきだ」と結論付けている。エージェントに与えるツール、シークレット、ネットワーク経路、IAMロールのすべてが攻撃対象となりうるため、アクセスレビューはデプロイ前と変更のたびに実施すべきだという。


関連記事

AIエージェントのセキュリティリスクはAWSに限った話ではなく、業界全体に広がっている。OpenClawによるデータ漏洩やAmazon QのAIコーディングエージェントへの攻撃でも同種の問題が確認されており、エージェントへの権限付与とネットワーク分離の設計は今後のAI開発における重要課題となっている。


詳細はOne Prompt Could Hijack AWS AI Agents and Steal Cloud Credentialsを参照していただきたい。