文章总结: 研究人员发现名为CommentandControl的新型提示注入漏洞,攻击者通过GitHub的PR标题和评论劫持AI编程代理,可窃取API密钥。ClaudeCode、GeminiCLI和GitHubCopilot均受影响,攻击无需外部服务器且能绕过三重防护。建议采用工具白名单、最小权限密钥和人工审批等措施缓解风险。 综合评分: 85 文章分类: 漏洞分析,AI安全,WEB安全,红队,安全工具
GitHub评论可触发Claude Code、Gemini CLI和GitHub Copilot的提示注入漏洞
FreeBuf
2026年4月23日 18:03 上海
在小说阅读器读本章
去阅读
#
Part01
新型”评论控制”攻击手法曝光
研究人员发现一类名为”Comment and Control”(评论控制)的跨厂商关键漏洞,这种新型提示注入攻击利用GitHub的拉取请求标题、议题正文和评论作为武器,能够劫持AI编程Agent并从CI/CD环境中直接窃取API密钥和访问令牌。该攻击名称刻意模仿了恶意软件活动中经典的C2(Command and Control)框架。经确认,Anthropic的Claude Code Security Review、Google的Gemini CLI Action以及GitHub Copilot Agent(SWE Agent)三款广泛部署的AI Agent均存在此漏洞。
据研究员Aonan Guan介绍,整个攻击过程完全在GitHub平台内部完成:攻击者编写恶意的PR标题或议题评论,AI Agent将其作为可信上下文读取处理,执行攻击者提供的指令,并通过PR评论、议题评论或git提交将凭证外泄,无需外部服务器参与。与传统需要受害者主动要求AI处理文档的间接提示注入不同,”评论控制”攻击具有主动性——GitHub Actions工作流会在pull_request、issues和issue_comment事件时自动触发,意味着仅需打开PR或提交议题就能激活Agent,无需受害者任何交互。
Part02
漏洞详情1:
Claude Code安全审查的PR标题到RCE漏洞
在Anthropic的Claude Code Security Review中,PR标题未经任何净化处理就直接插入Agent提示。由于调用Claude CLI时未使用–disallowed-tools或–allowed-tools限制,子进程会继承包括ANTHROPIC_API_KEY和GITHUB_TOKEN在内的所有环境变量。攻击者只需创建一个包含恶意标题的PR,突破提示上下文并指示Claude执行whoami、ps auxeww或env等命令,就能以JSON格式的”安全发现”将完整凭证转储到PR评论中。该漏洞通过HackerOne(#3387969)报告,Anthropic将其评为CVSS 9.4分严重漏洞(原为9.3分),并发放了q00奖金。
Part03
漏洞详情2:
Gemini CLI Action的议题评论到API密钥泄露
Google的Gemini CLI Action在”Additional Content”部分将议题标题、正文和评论纳入Agent提示上下文。攻击者通过在其后注入伪造的”Trusted Content Section”,就能覆盖Gemini的安全指令,导致Gemini将GEMINI_API_KEY作为公开议题评论发布。该漏洞由研究员Neil Fendley与约翰霍普金斯大学团队通过Google VRP(#1609699)报告,获得q,337奖金。
Part04
漏洞详情3:
Copilot Agent的三重防御绕过
GitHub Copilot Agent的漏洞在技术上最为复杂。GitHub原本实施了环境变量过滤、密钥扫描和网络防火墙三层运行时防护措施,但均被绕过:
- 环境过滤绕过:UU()函数仅过滤子bash进程的敏感变量。通过从该子进程运行ps auxeww可读取未过滤的父Node.js进程和MCP服务器的/proc/[pid]/environ,获取GITHUB_TOKEN、GITHUB_COPILOT_API_TOKEN及另外两个凭证。
- 密钥扫描绕过:GitHub扫描器检测ghs_/ghu_令牌前缀。在提交前对输出进行Base64编码可规避所有模式匹配。
- 防火墙绕过:编码后的凭证文件通过标准git push操作外泄至PR——这是白名单操作,与正常Copilot工作流活动无异。
这三个漏洞存在相同的架构缺陷:不受信任的GitHub数据流入持有生产密钥且在同一运行时拥有无限制工具访问权限的AI Agent。研究人员指出,这是首次公开演示单个提示注入模式攻破多个主流AI Agent(包括一个已部署三重运行时防护的Agent)的跨厂商案例。
Part05
缓解措施
- 采用工具白名单而非黑名单:使用–allowed-tools仅授予最低必要权限;黑名单(如阻止ps)很容易通过cat /proc/*/environ等替代方法绕过。
- 最小权限密钥原则:执行只读任务(如议题分类)的Agent不应持有具有写权限的GITHUB_TOKEN。
- 设置人工审批环节:在Agent执行出站操作或访问凭证前要求人工批准。
- 审计所有AI Agent集成:检查CI/CD管道中的AI Agent集成,并监控Actions日志中的异常凭证访问模式。
安全专家警告,这种攻击模式不仅限于GitHub Actions,任何处理不受信任输入且能访问工具和密钥的AI Agent(包括Slack机器人、Jira Agent、邮件Agent和部署自动化管道)都可能受到影响。
参考来源:
Claude Code, Gemini CLI, and GitHub Copilot Vulnerable to Prompt Injection via GitHub Comments
Claude Code, Gemini CLI, and GitHub Copilot Vulnerable to Prompt Injection via GitHub Comments
推荐阅读
电报讨论
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:FreeBuf 《GitHub评论可触发Claude Code、Gemini CLI和GitHub Copilot的提示注入漏洞》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论