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- Zenity Labs 对其针对 Amazon Bedrock AgentCore 的受控研究链所用的名称。Zenity 未引用 CVE 编号,其研究也未证明客户遭到入侵。[1], [7]
MMDS 与执行角色凭证- AWS 文档说明,AgentCore microVM 内的代码可通过 MMDS 获取该运行时执行角色的临时凭证。服务将此视为预期行为;凭证实际能执行哪些操作取决于角色权限。[4], [5]
框架映射
- FlawOpen 对 MITRE CWE 的概念性映射;没有厂商或 CVE 记录将此弱点编号分配给本研究演示。 CWE-918
攻击执行流程分解
证据与当前范围
| 边界 | 证据 | 防御措施 |
|---|---|---|
| 元数据访问 | Zenity 报告了测试中的访问;AWS 文档说明 microVM 内代码可取得 MMDS 凭证。 | 将智能体代码和受模型影响的工具视为执行角色凭证的使用方。 |
| 角色权限 | Zenity 报告历史默认权限范围很广。AWS 表示,跨账户访问需要在角色和目标资源上明确授权;其他操作遵循各自适用的 IAM 和资源策略。 | 检查已部署角色和资源策略,确认每项操作适用的策略;不要根据提示词或服务默认值推断授权范围。 |
| 默认角色变更 | Zenity 称其观察到 AWS 于 2026 年 9 月 29 日收紧了默认角色。研究未称客户管理角色会自动变更;未引用 CVE 编号,也未证明客户遭到入侵。 | 逐账户、逐区域检查实际生效的角色;不要假设客户管理的角色已被修改。 |
| MMDSv2 | Zenity 将新部署智能体使用 MMDSv2 的时间定为 2026 年 2 月 14 日;AWS 当前文档要求自 2026 年 6 月 30 日起启用它以调用运行时。AWS 仍说明 VM 内代码可访问凭证。 | 启用 MMDSv2,并另外限制角色可执行的操作、资源和调用方。 |
根本原因剖析 (Root Cause)
需要分别评估两个边界:受模型影响的工具可以从运行时内部发出请求,而执行角色决定这些请求拥有什么权限。AWS 认为访问运行时自身凭证属于预期行为;Zenity 报告的跨智能体影响取决于历史角色权限范围。启用 MMDSv2 不会缩小 IAM 权限;缩小角色权限也不会阻止模型引导的内部请求。应分别审查工具的网络出口和 IAM 授权;仅限制出站网络并不能证明 microVM 内的代码无法访问 MMDS。[1], [3], [4], [5]
源代码对比:漏洞与安全实现
这些 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)