事件经过
BeyondTrust Phantom Labs(Tyler Jespersen)发布的研究表明,GitHub问题上的一条几乎不可见的评论可以劫持GitHub Copilot编码代理。攻击者的载荷是嵌入在问题评论中的不可见提示注入字符串,当Copilot被分配处理该问题时会读取它。演示的攻击链窃取代理的令牌,外传代理令牌及仓库和组织代理密钥,污染所有Copilot前缀分支,并在copilot-setup-steps.yml授予广泛权限时升级为CI/CD及关联云账户的访问。报告包含端到端概念验证,并已向GitHub披露;截至发布(2026年10月21日),问题尚未修补。
影响分析
Copilot是部署最广泛的AI编码代理之一,在开发生命周期内拥有真实仓库权限。对人工审查者看似无害的评论使远程攻击者能够控制代理,而代理持有密钥和CI/CD访问权限——这是通往AI驱动开发管道中代码和云环境沦陷的低门槛、低观测提示注入路径。
攻击途径
攻击者在Copilot代理被分配处理的GitHub问题上发布精心构造的/不可见评论;代理摄取恶意指令,执行恶意工具调用,并外传其令牌和组织密钥。
受影响系统
GitHub Copilot编码代理(问题分配工作流)、配置了copilot-setup-steps.yml的仓库
缓解措施
审计代理问题权限和copilot-setup-steps.yml作用域;对代理的令牌和密钥设置硬性控制边界(最小权限、短期凭证、无广泛CI/CD权限);将问题/评论文本视为代理的不可信输入。