AI Security AI安全 8h ago Updated 1h ago 更新于 1小时前 46

Google Deletes 3 ADK AI Workflows After Malicious GitHub Issue Could Trigger Privileged Agent Google 在恶意 GitHub 问题可能触发特权代理后删除了 3 个 ADK AI 工作流

Pillar Security discovered a prompt injection vulnerability in Google's Agent Development Kit (ADK) that allowed a public GitHub issue to manipulate a triage agent into triggering a privileged code-fixing agent The attack exploited a trusted bot identity as an authorization bridge, bypassing collaborator-only gates by having the compromised agent post a command as the verified `adk-bot` account The vulnerability enabled arbitrary code execution on CI runners via Git custom hooks and exfiltration Google删除了ADK Python仓库中的3个AI工作流(issue-analyze.yml、issue-fix.yml、pr-analyze.yml),原因是Pillar Security发现可通过公开GitHub issue注入提示词,操纵triage agent触发特权代码修复agent 攻击者利用trusted bot身份作为授权桥梁,通过/adk-issue-fix命令满足权限检查,实现CI runner上的任意代码执行和bot PAT令牌窃取 漏洞核心在于工作流仅验证命令发布者身份(owner/member/collaborator),而未验证身份是否被提示词注入操纵;Git

72
Hot 热度
65
Quality 质量
60
Impact 影响力

Analysis 深度分析

TL;DR

  • Pillar Security discovered a prompt injection vulnerability in Google's Agent Development Kit (ADK) that allowed a public GitHub issue to manipulate a triage agent into triggering a privileged code-fixing agent
  • The attack exploited a trusted bot identity as an authorization bridge, bypassing collaborator-only gates by having the compromised agent post a command as the verified adk-bot account
  • The vulnerability enabled arbitrary code execution on CI runners via Git custom hooks and exfiltration of bot personal access tokens, Google API keys, and service account credentials
  • Google responded by deleting three workflow files (issue-analyze.yml, issue-fix.yml, and pr-analyze.yml) from the ADK repository, confirming the fix on July 21, 2026
  • The flaw resided in repository automation design rather than the distributed ADK Python package itself, highlighting systemic risks in AI-agent-driven CI/CD pipelines

Why It Matters

This incident demonstrates a critical class of vulnerabilities unique to AI-agent-powered development workflows: trusted bot identities can be hijacked through prompt injection to bypass authorization controls, effectively turning untrusted public input into privileged actions. For AI practitioners building agent-based automation, it underscores that traditional security boundaries (like collaborator checks) are insufficient when agents can be manipulated into acting on behalf of trusted identities.

Technical Details

  • Attack vector: The public issue-analyze.yml workflow automatically processed new GitHub issues using the ADK_TRIAGE_AGENT and GOOGLE_API_KEY, then posted analysis comments as the adk-bot account. A malicious issue could prompt-inject the agent to post /adk-issue-fix as adk-bot, satisfying the privileged issue-fix.yml workflow's collaborator gate.
  • Authorization bypass: The privileged workflow checked who posted the command (the bot account) rather than whether the command originated from an authorized human, making the trusted bot identity the authorization bridge.
  • Code execution path: Although the CI runner allowlisted only gh and git commands and rejected shell metacharacters, the agent could write a payload and exploit Git custom hooks via core.hooksPath to achieve arbitrary code execution through the CapabilitiesConfig() tool set.
  • Compromised credentials: The attack exfiltrated the bot's personal access token (PAT), a Google API key, and a Google Cloud service account credential with Vertex AI access, enabling potential lateral movement.
  • Remediation: Google removed all three workflow files (issue-analyze.yml, issue-fix.yml, pr-analyze.yml) from the ADK repository by June 9, 2026, with verification completed by July 2.

Industry Insight

  • AI agent workflows in CI/CD pipelines require strict separation between untrusted input processing and privileged actions; authorization checks must verify the intent and origin of commands, not just the account that posts them
  • Bot identities used for automation should operate with minimal, scoped credentials and separate identities for public-facing versus privileged operations to prevent identity-based authorization bridging
  • Security teams should audit any AI-agent-driven repository automation for prompt injection vectors, ensuring that agent outputs cannot be leveraged to trigger downstream privileged workflows without explicit, verifiable human authorization

TL;DR

  • Google删除了ADK Python仓库中的3个AI工作流(issue-analyze.yml、issue-fix.yml、pr-analyze.yml),原因是Pillar Security发现可通过公开GitHub issue注入提示词,操纵triage agent触发特权代码修复agent
  • 攻击者利用trusted bot身份作为授权桥梁,通过/adk-issue-fix命令满足权限检查,实现CI runner上的任意代码执行和bot PAT令牌窃取
  • 漏洞核心在于工作流仅验证命令发布者身份(owner/member/collaborator),而未验证身份是否被提示词注入操纵;Git hooks机制被用于绕过命令白名单限制
  • Google确认修复后删除了相关工作流程,但Pillar指出ADK包本身无缺陷,问题出在仓库自动化配置,建议采用独立bot身份、缩小令牌作用域及使用不可被非受信文本生成的授权信号

为什么值得看

本文揭示了AI agent工作流在CI/CD集成中的典型安全陷阱:当agent拥有特权凭证时,提示词注入可直接转化为代码执行和凭证窃取,这对所有采用AI自动化仓库管理的组织具有直接警示意义。

技术解析

  • 攻击链设计:公开issue触发issue-analyze.yml工作流,该流程使用ADK_GCP_SA_KEY认证并向Antigravity coding agent提供ADK_TRIAGE_AGENT和GOOGLE_API_KEY;agent生成的分析以adk-bot账号发布评论,其中包含/adk-issue-fix命令
  • 权限绕过机制:issue-fix.yml工作流监听特定命令评论,仅检查发布者是否为owner/member/collaborator,未验证bot账号是否被外部注入操纵;adk-bot被识别为collaborator,满足权限门控
  • 代码执行路径:CI runner虽限制shell元字符且仅允许gh/git开头的命令,但脚本启用了CapabilitiesConfig()开启所有工具(含写入权限);攻击者通过写入payload并利用Git core.hooksPath重定向至自定义hook目录,使合法git命令执行恶意代码
  • 凭证暴露范围:特权作业持有Google API key和Google Cloud service-account credential,bot PAT的精确作用域未公开;Google确认服务账户仅在专用GitHub管理项目中具有Vertex AI访问权限

行业启示

  • AI agent权限最小化:所有集成AI agent的CI/CD流程必须遵循最小权限原则,特权操作应使用独立bot身份并与公共交互账号隔离,避免单一凭证同时处理受信与未受信输入
  • 身份验证需超越表面检查:自动化工作流不应仅验证"谁"发出命令,还需验证命令来源的完整性;建议引入不可被文本内容生成的授权信号(如数字签名或out-of-band确认)
  • Git hooks等扩展点需纳入安全审查:命令白名单防护易被文件写入+钩子重定向等间接路径绕过;安全评估应覆盖所有可被agent调用的工具链和系统扩展机制

Disclaimer: The above content is generated by AI and is for reference only. 免责声明:以上内容由 AI 生成,仅供参考。

Security 安全 Agent Agent Open Source 开源