AgentCorruption:一条提示词、默认 IAM 角色,以及 AWS AgentCore 账户内智能体的整体接管
Zenity Labs 演示:Amazon Bedrock AgentCore 上面向公众的智能体可被诱导泄露角色凭证,而权限过宽的默认角色可触及其他智能体、对话与密钥。
这是什么?
2026 年 10 月 8 日,Zenity Labs(作者 Tamir Ishay Sharbat 与 Lana Salameh)发布了名为“AgentCorruption”的系列研究,对象是 AWS 用于部署 AI 智能体的托管平台 Amazon Bedrock AgentCore。研究同时在多伦多的 SecTor 2026 上演讲,Dark Reading 与 The Next Web 在同一周进行了报道。
核心主张是:向面向公众的智能体发送一条提示词,就可能进而访问同一 AWS 账户和区域内的其他智能体。有两点需要把握分寸:研究范围仅限一个账户和一个区域;AWS 不认为这是漏洞,称相关行为已有文档说明且符合预期。该问题未分配 CVE。
工作原理
Zenity 描述了由三个薄弱环节构成的链条,单看每一个都很普通。
第一,初始访问。智能体运行在 Firecracker 微虚拟机中,据 Zenity 称,网络隔离未能阻止发起 HTTP 请求的智能体工具访问实例元数据服务(IMDS)。因此,拥有网页请求或 shell 工具的智能体可被用自然语言要求返回其自身的临时角色凭证。这是应用于智能体的服务端请求伪造(SSRF)模式:受不可信输入操控的模型充当了“请求伪造者”。
第二,过宽的默认角色。Zenity 报告称,默认执行角色并未限定于单个智能体,而是覆盖整个账户和区域内的 AgentCore 资源。凭借这些凭证,研究人员可以枚举智能体(通过列出日志组)、拉取容器镜像、调用其他智能体、读取跨用户和会话的对话事件,并获取本应对智能体不可见的 API 密钥与 Secrets Manager 中的值。
第三,通过记忆实现持久化。在启用长期记忆的情况下,创建记忆事件的权限使研究人员能够植入一条伪造事件,从而在多个会话中持续改变智能体的行为。
整个过程无需传统意义上的模型越狱:提示词只需让智能体使用它本来就拥有的工具。
为什么重要
该案例体现了智能体平台上反复出现的模式:工具以智能体的云身份运行,因此任何提示注入路径都会变成云凭证路径。当身份被共享或权限过大时,一个被攻破的面向客户的智能体就会暴露同处一地的内部智能体。Zenity 的观点是,应把智能体视为潜在入口点。
披露时间线也值得参考(日期均据 Zenity):2025 年 12 月 25 日与 2026 年 1 月 12 日提交报告;自 2026 年 2 月 14 日起,新部署的智能体仅使用 IMDSv2;首份报告于 2026 年 4 月 12 日被关闭为“信息性”;2026 年 6 月 22 日默认角色未变;2026 年 9 月 29 日,Zenity 观察到默认角色中跨智能体调用、读取对话以及访问 Secrets Manager 的权限已被移除。AWS 并未将其描述为补丁,因此这属于 Zenity 的观察。据 Dark Reading,Zenity 未发现在野利用的证据。
防御措施
- 按智能体最小权限。 为每个智能体分配仅限所需资源的独立执行角色,不要依赖默认角色。这也是 AWS 自身的建议。
- 强制 IMDSv2 并限制元数据访问。 新部署的智能体仅使用 IMDSv2,但应审计较早的部署。尽可能阻断或过滤智能体工具对 169.254.169.254 的访问。
- 约束 HTTP 与 shell 工具。 对网页请求工具使用目标地址白名单,避免给面向公众的智能体通用 shell。
- 分离信任区域。 不要把面向客户的智能体与内部智能体放在同一账户与角色边界内。
- 保护记忆写入。 限制谁以及什么可以创建记忆事件,并检查已存储记忆中是否含有类似指令的内容。
- 监控。 对角色凭证从异常 IP 使用、以及异常的跨智能体调用发出告警。
状态
| 项目 | 详情 |
|---|---|
| 组件 | Amazon Bedrock AgentCore(运行时、默认执行角色、记忆) |
| 发布 | 2026 年 10 月 8 日(Zenity Labs);Dark Reading 于 10 月 9 日更新并加入 AWS 回应 |
| CVE | 未分配 |
| IMDSv2 | 自 2026 年 2 月 14 日起对新部署的智能体强制(据 Zenity 与 AWS) |
| 默认角色 | 据 Zenity 于 2026 年 9 月 29 日观察已收窄;AWS 称原行为已有文档且符合预期 |
| 在野利用 | Zenity 未报告 |