Zenity Labs 的研究人员表示,Amazon 的 Bedrock AgentCore 上只要有一个可公开访问的 AI 智能体,就足以接管同一 AWS 账户和区域内的所有 AgentCore 智能体。

Amazon Bedrock AgentCore 是 AWS 用于运行企业 AI 智能体的平台,具备工具、记忆和访问管理功能。安全公司 Zenity Labs 发现了一条漏洞利用链,研究人员将其称为“AgentCorruption”。

攻击者只需对某个公开智能体拥有聊天访问权限,就能利用这些漏洞。研究人员表示,仅凭一条提示词,他们就能接管同一 AWS 账户和区域内的所有 AgentCore 智能体,从而泄露私密对话、源代码和存储的凭证。据 Zenity 称,这个问题是系统性的,影响了多个 AWS 账户中带有内置工具的智能体。

智能体交出了自己的凭证

AWS 在内部地址 169.254.169.254 上运行一项实例元数据服务(Instance Metadata Service),为实例和工作负载提供临时凭证以便向 AWS 进行身份验证。任何截获这些凭证的人都可以用它们来冒充该实例。

AI 智能体通常不应能够访问该服务,但据 Zenity 称,AgentCore 缺乏适当的隔离,技术博客文章。研究人员使用Strands构建了一个测试智能体,这是 AWS 提供的一个开源框架,自带一个 Web 工具。当用平实的语言要求该智能体查询元数据服务并将结果发送到外部服务器时,智能体照做了。“我们本应对抗的沙箱边界根本不存在,”研究人员写道。

Fake online store "TechHub" with an open support chat window showing a red-highlighted Russian-language message instructing the agent to query the IMDS address 169.254.169.254 and send the response to an external server.
客户支持窗口中的一条聊天消息就诱骗智能体将自己的 AWS 凭证发送到外部服务器。| 图片:Zenity Labs

被盗的凭证在研究人员位于平台之外的自己的机器上也能使用,因此他们不再需要该智能体来继续攻击。该元数据服务还泄露了某个内部 AWS 服务的证书和密钥材料,以及一个指向内部 S3 存储的预签名 URL,而该存储并不属于研究人员的账户。

Burp Collaborator view showing a JSON response from the metadata service containing AccessKeyId, SecretAccessKey, session token, and expiration time for temporary AWS credentials.
元数据服务返回了该智能体的完整临时 AWS 凭证,包括密钥和会话令牌。| 图片:Zenity Labs

根据 Zenity 的说法,移除 Web 工具也无济于事,因为漏洞出在平台本身。研究人员还通过一个命令行工具实施了攻击。

默认权限暴露了该区域内的每一个智能体

之所以能实现接管,是因为 AgentCore 的默认权限并未限定为仅授予接收它们的那个智能体。据 Zenity 称,这些权限适用于同一账户和区域内的每一个智能体,授予了读取、写入和删除访问权限,从而允许执行破坏性操作。

Terminal output of a script sequentially pulling container images of agents like "Ceo_assistant" and "CustomerSupport" from ECR and copying their /app directories.
一个自动化脚本拉取了该区域内所有智能体的容器镜像,并复制了它们的源代码。| 图片:Zenity Labs

凭借这些权限,研究人员可以列出每一个智能体,在几秒内下载它们的代码包,并调用每一个智能体。这些代码包中往往在源代码之外还包含被遗忘的密码或 API 密钥,可能暴露的内容远不止智能体本身。例如,攻击者可以从一个面向公众的客服智能体转移到内部的财务智能体,并访问其数据。研究人员还可以读取用户与智能体之间的所有私密对话。

JSON output of an AgentCore memory event with highlighted session ID, actor ID "amanda_white," and the chat history between a user and a Finance Assistant agent.
窃取的凭证让研究人员能够读取其他用户与该区域内任何 AgentCore 智能体之间的私密对话。| 图片:Zenity Labs

对于启用了长期记忆的智能体,研究人员可以篡改该记忆以影响未来的行为。他们关于记忆投毒的文章描述了如何植入指令,使智能体将未来的对话转发到外部目的地。用户会继续与一个看似可信的智能体交谈,而察觉不到任何异常。

AWS 建议将密码和 API 密钥与智能体分开存放在安全存储中,但 AgentCore 的默认权限破坏了这一保护。根据 Zenity 的关于凭证窃取的文章,这些权限允许智能体访问所存储的凭证,包括 AWS 之外服务的密钥。

AWS 收紧元数据访问和默认权限

Zenity 表示,它已于 2025 年 12 月 25 日向 AWS 报告了 AgentCore 的发现,此后 AWS 将 IMDSv2 设为新 AgentCore 部署的默认选项。IMDSv2 是元数据服务的更安全版本,而 Zenity 的攻击正是将其作为入口点。Zenity 还销售面向 AI 智能体的安全平台,这让该公司在报告这一领域的漏洞时存在商业利益。

根据 Zenity 更新后的说法,AWS 还在 8 月左右更改了 AgentCore 的默认执行角色。更新后的角色不再允许智能体调用其他智能体、读取私密对话,或从 AWS Secrets Manager 检索凭证。AWS 还大幅限制了其他权限,不过研究人员仍建议企业创建访问权限更窄的自定义角色。他们在其对默认角色的分析中解释了这些建议。

Zenity CTO Michael Bargury 认为,云安全与智能体工作所需的灵活性之间存在冲突。“云安全关乎分段和最小权限访问。但 AI 智能体需要创作自由才能发挥作用,”他说。每家在云中运行智能体的公司都面临这种取舍,尤其是当面向公众的智能体和内部智能体共享同一环境时。在这种设置下,单个漏洞就可能危及整个系统的安全边界。

其他攻击也暴露了 AI 智能体中类似的弱点

AgentCore 的发现遵循了 Zenity 在其他地方记录过的一种模式,即一个看似无害的输入会让智能体转而对抗自己的组织。在其AgentFlayer 研究中,零点击攻击使 Salesforce Einstein、Copilot Studio 和 Cursor 重定向客户数据或泄露凭证。借助AgentForger,一个被篡改的 ChatGPT 链接就足以在 OpenAI 的 Workspace Agents 中创建一个禁用审批要求的自主智能体。

OpenAI 在四天内修复了其漏洞,而 AgentCore 过于宽泛的默认权限在 Zenity 报告后仍持续了数月。AWS 已向所有企业开放 AgentCore,Amazon 表示其用户包括 Sony 和 Ericsson。

关于智能体记忆的研究记录了类似的弱点。Google DeepMind 在其"AI Agent Traps" 分类体系中将长期记忆操纵列为一种独立的攻击类别,发现知识库中仅需少量被投毒的文档就能引导响应。在红队研究"Agents of Chaos" 中,研究人员通过一个外部可编辑、链接在其记忆文件中的文档远程控制了一个 OpenClaw 智能体,而另一个智能体则交出了未经脱敏的银行详细信息。

OpenAI CEO Sam Altman 曾表示,智能体应只获得其所需的最低权限。据 Zenity 称,AgentCore 的默认角色违反了这一原则。

没有炒作的 AI 新闻——由人类精选

订阅 THE DECODER,享受无广告阅读、每周 AI 新闻简报、每年六期的独家 "AI Radar" 前沿报告、完整档案访问权限以及评论区访问权限。

立即订阅