flawopen.com/AI Security/agentcorruption-bedrock-agentcore-metadata-role-scope-october-2026
AgentCorruption:AgentCoreのメタデータとIAMのリスク
Zenityの2026年10月の調査によると、モデルの影響を受けたツールからAgentCoreランタイムのメタデータに到達でき、過去のデフォルトロールの権限がアクセス範囲を広げていました。AWSは、ランタイム自身のロール認証情報へのアクセスを想定された動作とし、最小権限を推奨しています。Zenityの調査はCVE識別子を挙げておらず、顧客侵害も立証していません。[1], [4]
作業場で働くエージェントに、許可された作業用の入館証が渡されると考えてください。Zenityによると、モデルに誘導されたツールが内部の窓口にその証を求めることができ、以前の証の権限では必要以上の部屋まで開けました。AWSは、作業場の中でエージェントが自身のロール認証情報を受け取るのは想定された動作だと説明しています。実際の対策は、証が開ける扉を絞り、内部リクエストを送れるツールを管理することです。[1], [4]
主要な概念と専門用語
AgentCorruption- Amazon Bedrock AgentCoreに対する制御された調査チェーンについて、Zenity Labsが付けた名称です。ZenityはCVE識別子を挙げておらず、顧客侵害も調査で立証していません。[1], [7]
MMDSと実行ロールの認証情報- AWSの文書によると、AgentCore microVM内のコードはMMDSを介して、そのランタイムの実行ロールに対する一時認証情報を取得できます。AWSはこれを想定された動作とし、認証情報で許可される操作はロールの権限で決まります。[4], [5]
フレームワーク対応
- FlawOpenによるMITRE CWEへの概念上の対応付けです。ベンダーやCVEレコードがこの研究デモに弱点IDを割り当てたものではありません。 CWE-918
ステップ・バイ・ステップの攻撃フロー
根拠と現在の範囲
| 境界 | 根拠 | 防御策 |
|---|---|---|
| メタデータアクセス | Zenityはテストでのアクセスを報告し、AWSはmicroVM内コードに対するMMDS認証情報を文書化しています。 | エージェントのコードとモデルの影響を受けるツールを、実行ロールの認証情報を扱う主体として考えてください。 |
| ロール権限 | Zenityは過去のデフォルト権限が広範だったと報告しています。AWSによると、アカウント間アクセスにはロールと対象リソースの明示的な許可が必要で、その他の操作には該当するIAM・リソースポリシーが適用されます。 | デプロイ済みロールとリソースポリシーを確認し、操作ごとの適用ポリシーを検証してください。プロンプトやサービスのデフォルト値から認可範囲を推測しないでください。 |
| デフォルトロールの変更 | ZenityはAWSが2026年9月29日にデフォルトロールを制限したと報告しています。顧客管理ロールが自動変更されたとは述べておらず、調査はCVE識別子を挙げず、顧客侵害も立証していません。 | 各アカウント・リージョンで実効ロールを確認し、顧客管理ロールが変更済みと仮定しないでください。 |
| MMDSv2 | Zenityは新規エージェントでのMMDSv2利用を2026年2月14日としています。AWSの現行文書では、同年6月30日以降のランタイム呼び出しに有効化が必要です。AWSは引き続きVM内からの認証情報アクセスを文書化しています。 | MMDSv2を有効にしたうえで、ロールの操作・リソース・呼び出し元を別途制限してください。 |
根本原因の分析 (Root Cause)
二つの境界を分けて評価します。モデルの影響を受けるツールはランタイム内からリクエストを送ることができ、実行ロールはそのリクエストの権限を決めます。AWSはランタイム自身の認証情報へのアクセスを想定された動作とし、Zenityが報告した他エージェントへの影響は過去のロール権限範囲に依存していました。MMDSv2を有効にしてもIAM権限は狭まりませんし、ロールを制限してもモデルが誘導する内部リクエスト自体は防げません。ツールの外向き通信とIAM認可を個別に見直してください。ネットワークの外向き通信制限だけでは、microVM内のコードがMMDSへアクセスできないことの証明にはなりません。[1], [3], [4], [5]
ソースコード比較:脆弱 vs 堅牢化
説明用のIAMポリシー例であり、AWSの過去のポリシーやその後のデフォルトロール変更を示すものではありません。AWSは、ランタイム権限を具体的なリソースARNに限定し、ワイルドカードを避けるよう推奨しています。最初の記述は広いリソース指定を示し、次の記述はその権限が必要な場合に呼び出し先を承認済みランタイム一つに限定します。不要なら権限を削除してください。実際のデプロイでアクションとリソースの対応、および関連するリソースポリシーを確認してください。完全なデプロイ可能ポリシーではありません。[3], [6], [5]
{
"Effect": "Allow",
"Action": "bedrock-agentcore:InvokeAgentRuntime",
"Resource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT:runtime/*"
}
{
"Effect": "Allow",
"Action": "bedrock-agentcore:InvokeAgentRuntime",
"Resource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT:runtime/APPROVED_RUNTIME_ID"
}
エンジニアリング&システム堅牢化チェックリスト
- ✓全アカウント・リージョンの各ランタイム実行ロールを棚卸しし、実効権限を現行のAWSポリシーと顧客管理ポリシーに照らして確認する。[6], [5]
- ✓用途が個別に文書化されていない限り、他ランタイムの呼び出し、会話へのアクセス、シークレット取得、メモリ書き込み、イメージアクセスを削除する。[3], [6]
- ✓別のランタイムを呼ぶ必要がある場合は、アイデンティティポリシーとリソースポリシーを承認済みランタイムとエンドポイントに限定し、無関係なランタイムが拒否されることをテストする。[6]
- ✓AWSの要件に従ってMMDSv2を有効にしつつ、microVM内コードによるロール認証情報へのアクセスを別の認可境界として扱う。[5], [4], [1]
- ✓モデルの影響を受けるツールが接続できる宛先を必要な範囲に絞る。これは外向き通信リスクの低減であり、VM内コードからMMDSにアクセスできない証明ではない。[5]
- ✓公開エージェントには、呼び出し可能なプリンシパルを超える権限を持たないロールを付与し、IAM Access Analyzerと認可失敗を確認するテストで実効権限を検証する。[5], [6]
参考資料
- Zenity Labs — AgentCorruption research overview and AWS response
- Zenity Labs — AgentCorruption: Initial IMDS Access
- Zenity Labs — AgentCorruption: One Role to Rule Them All
- AWS — Understanding Credentials Management in Amazon Bedrock AgentCore
- AWS — Security best practices for AgentCore Runtime
- AWS — IAM Permissions for AgentCore Runtime
- Dark Reading — AgentCorruption coverage and AWS response (October 8, 2026)
- MITRE CWE-918 — Server-Side Request Forgery (SSRF)