亚马逊Bedrock AgentCore默认IAM权限引发“上帝模式”攻击链
Palo Alto Unit42披露AWS Bedrock AgentCore starter toolkit默认IAM权限过宽,允许被攻陷的AI代理实现“上帝模式”攻击链。本文深入分析跨代理内存访问、ECR镜像泄露和间接权限提升技术,提供缓解建议。适用于云安全、AI代理安全及IAM最小权限实践场景。
🔓 Critical 漏洞利用
Palo Alto Unit42发现AWS AgentCore starter toolkit默认生成的IAM角色权限过宽,允许被攻陷的AI代理横向移动、窃取其他代理的ECR镜像和内存数据。攻击者可通过跨代理内存访问、间接权限提升和ECR镜像泄露实现完整的攻击链。
来源:Palo Alto Unit42 | 2026-04-08 | 原文链接
🔍 关键发现
- 默认IAM策略授予对所有代理内存资源的读写权限(GetMemory/RetrieveMemoryRecords),导致跨代理数据泄露
- 默认策略允许调用任意Code Interpreter,攻击者可利用高权限解释器进行权限提升
- ECR仓库权限(ecr:GetDownloadUrlForLayer)使攻击者能下载其他代理的Docker镜像,进而提取MemoryID等敏感配置
⚔️ 攻击链分析
1. 攻陷初始AI代理 → 2. 利用ECR权限下载目标代理镜像 → 3. 从镜像配置中提取MemoryID → 4. 使用MemoryID读取或投毒目标代理的记忆
🚩 失陷指标 (IOC)
MemoryID: ori_agent_01_mem-AsDiQiDikRIAM策略中的通配符资源: arn:aws:bedrock-agentcore:*:memory/*
🛡️ 缓解建议
- ✅ 生产环境禁用starter toolkit默认IAM角色,遵循最小权限原则手动创建角色
- ✅ 限制ECR仓库的拉取权限,使用资源级ARN而非通配符
- ✅ 对Code Interpreter实施细粒度资源限制,避免跨代理调用
涉及漏洞:[]
⚠️ 本文仅供安全研究与学习,IOC 信息请勿用于非法目的。
🤖 常见问题解答(FAQ)
❓ 攻击者如何获取目标代理的MemoryID?
通过ECR镜像下载功能,从容器环境文件(如env-output.txt)中提取BEDROCK_AGENTCORE_MEMORY_ID变量值。
❓ 默认IAM角色存在哪些通配符风险?
memory/*、runtime/*、ecr:repository/*均使用通配符,导致代理可访问账户内所有同类资源,无资源隔离。
❓ Code Interpreter权限提升如何运作?
攻击者调用高权限Code Interpreter执行代码,利用解释器自身IAM角色执行敏感操作,实现间接提权。