安全研究员发现Google ADK中的分类Agent使用了高权限账号,攻击者可通过在PR中嵌入指令诱骗Agent执行未授权操作,包括修改评论和伪造审批。
安全研究人员在 Google Agent Development Kit Python 代码仓库中发现的安全漏洞,揭示了公共 AI Agent 如何触发未经授权的高特权自动化操作。这些漏洞允许外部贡献者操纵代码审查并暴露敏感凭证。Google 在 Pillar Security 研究人员报告了被利用的可能性后,已修复了这些问题。
主要风险涉及一个分类 Agent,旨在评估外部贡献者的 Pull Request。该 Agent 使用在代码仓库中持有协作者身份的具体账户运行。研究人员发现,恶意行为者可以在 Pull Request 中嵌入特定指令来欺骗 Agent。这种欺骗手段迫使 Agent 发出激活通常仅供可信内部用户使用的 workflow 的命令。
一旦这些 workflow 被激活,它们便允许在持续集成环境中执行命令。虽然关联的令牌无法直接推送代码,但它们拥有修改 Issue 和 Pull Request 的权限。攻击者可以利用这些权限更改维护者的评论或提交虚假批准。这种活动造成了一种危险局面——一份恶意的 Pull Request 看起来变得合法且准备好被最终合并。
Pillar Security 在受控研究环境中成功演示了这条攻击链。虽然人类维护者仍需最终完成合并操作,但自动化欺骗使恶意代码看起来是安全的。Google 对这些发现做出了回应,加强了代码仓库的安全设置,以防止此类未经授权的命令触发。
第二种攻击方法针对使用不同类型 Agent 的较新 workflow。在这种情况下,攻击者可以在公开 Issue 中放置一段 Prompt 注入,诱导分析 Agent 启动本应仅限于授权人员使用的修复 workflow。尽管系统尝试将 Agent 限制在标准版本控制命令内,但研究人员证明这些命令仍然可以启动未经授权的代码。
在演示第二个漏洞期间,研究人员在外部服务器上提取了一个个人访问令牌。他们还发现,Google Cloud 服务账户密钥在 workflow 执行期间可以被访问。Google 确认已在 7 月初移除了有问题的 workflow,并于当月晚些时候完成了第二个漏洞的修复。这些事件提醒我们,自动化系统通常缺乏区分有用请求和恶意注入的上下文。
这些发现代表着安全专业人员看待多 Agent 环境方式的重大转变。专家指出,核心问题不仅仅是漏洞的存在,而是权限通过自然语言传递的方式。当 Agent 根据一条消息采取行动时,该消息便成为授权链的一部分。这种变化要求对复杂自动化系统中的权限管理采用新方法。
安全分析师指出,Agent 持有的权力超出了其基本工具集所暗示的范围。它的真正权限包括任何其输出能够影响或激活的更高层级系统。如果一个低级 Agent 可以与高级 Agent 对话,它们之间的安全边界往往比预期要薄。组织必须重新考虑如何向与来自公众的不可信数据交互的 Agent 授予访问权限。
确定这些风险的严重程度需要详细审视 Agent 如何消费内容。安全负责人需要识别哪些 Agent 处理外部输入,如电子邮件、支持工单或 Pull Request。然后他们必须追踪这些 Agent 的输出是否可以触发更强大的 workflow。理解链中每个身份和工具的最大能力,对于防止未经授权访问至关重要。
这些系统的复杂性意味着标准安全工具通常只能提供部分视图。典型的身份管理或应用程序安全软件可能看到单个组件,但错过整个委托路径。单个事件可以跨多个 Agent 触发一系列操作,创建一条隐藏的权限路径。绘制这些连接图是看清违规期间实际会发生什么的唯一方法。
追踪外部数据的路径是现代安全团队的关键任务。他们必须从数据进入系统的那一刻起一直追踪到下游操作发生。这包括查看共享状态,例如平台上的评论,这些评论可能作为另一个进程的触发器。对于防御者来说,根本问题是权限较低的 Agent 是否能够更改权限较高的 Agent 所信任的内容。
人类监督通常被视为防止自动化错误的最后一道防线,但它并非完美的解决方案。在 Google 代码仓库的案例中,一个人仍然需要点击合并按钮。然而,被操纵的 AI Agent 向人类提供了虚假证据。当系统显示代码已被其他机器人批准和验证时,人类更有可能信任结果。
如果攻击者能够欺骗一个人为他们完成合并操作,他们就不需要合并代码的权限。这就是为什么专家建议批准必须绑定到特定、不可更改的代码版本。如果代码在检查后即使发生微小变化,任何先前的批准都应该失效。这确保人类所看到的产物正是部署到生产环境的内容。
除了收紧审批流程外,组织还应将审查和评论的更改视为重大安全事件。这些操作应记录在独立的日志系统中。至关重要的是,自动化 workflow 使用的身份不能修改这些日志。这创建了永久、防篡改的决策记录,记录谁或什么影响了决策。
使用自然语言作为自动化工具的转变带来了效率和新类型的危险。Google ADK 中的这些漏洞表明,信任是 AI 开发中的一个重大漏洞。开发人员必须构建系统,在允许消息影响更高层级的进程之前,验证每条消息的来源和意图。没有这些保障措施,AI 自动化的速度只会导致更快、更成功的攻击。
随着更多公司采用基于 Agent 的架构,来自这一发现的教训将变得越来越重要。安全不再仅仅是保护密码和 API 密钥。现在是保护系统不同部分之间对话的完整性。监控信息流并在 Agent 之间保持严格边界,是抵御这些新兴威胁的主要方式。