关键词
攻击
导读:安全公司 Novee Security 在 Black Hat USA 2026 上公布了一项研究:攻击者只需要打开一个没有权限的 GitHub Issue,就能在 Anthropic 和 Google 自家编程助手的 CI 服务器上执行代码。OpenAI 的 Codex 也中招,下一次运行直接被劫持。两个漏洞已修复,但问题没有消失。
攻击有多简单
攻击者不需要仓库权限,不需要提交流程,只需要开一个 GitHub Issue。
Novee Security 用各家默认配置跑了攻击:
Gemini CLI:一个精心构造的 .gemini/.env 文件,直接命令注入。CVE-2026-12537,CVSS 满分 10.0。攻击者可以在沙箱启动之前,在无头 CI 平台的主机上执行代码。
Claude Code:把 Hugging Face 的公共下载计数器变成了数据外泄通道,API 密钥一个字符一个字符地被偷走。CVE-2026-54316,影响 0.2.54 到 2.1.163 的所有版本。
Codex:攻击者可以劫持下一次 agent 运行。没有 CVE,因为 OpenAI 认为沙箱行为"符合文档"。
两个 CVE 都已修复。Gemini CLI 修在 0.39.1,Claude Code 修在 2.1.163。
漏洞出在哪儿
这三个漏洞的根源不在模型,在"线束"。
Novee 的联合创始人 Elad Meged 说了一句话:"线束是模型和真实世界之间的代码。"
模型输出指令,线束决定什么真的会执行。问题就出在这里:一个环节把某个值标记为安全,后面一个环节拿着这个值去执行,权限更大。
具体到 Claude Code:命令校验器在 23 项检查之前会剥离单引号文本。这对 bash 来说是正确行为,但攻击者把 payload 放进 git push --receive-pack 的值里,就能绕过检查原样到达执行端。
Gemini CLI 更直接:工具白名单只在注册工具时解析一次,运行时根本没人在意。开了 --yolo 模式,模型要求什么命令就自动批准什么命令。
Codex 的问题在流程:同一个任务里跑两遍 Codex,共享同一个工作目录。第一遍写一个 AGENTS.md,第二遍把这份文件当成自己的指令加载。
⚠️ 别以为只是"演示"
这套攻击不是纸上谈兵。Pillar Security 8月4日报告,ChainDrop npm 蠕虫的攻击者已经在被攻陷的仓库里植入了 Claude Code 的 SessionStart 钩子和 VS Code 的 folderOpen 任务。开发者只是打开工作区,恶意代码就触发了,根本不用等安装步骤。
也就是说,同样的思路已经在真实攻击里用上了。
️ 该做什么
立即升级。Gemini CLI 升到 0.39.1,run-gemini-cli 升到 0.1.22,Claude Code 升到 2.1.163。
审计工作流。任何外部用户能触发的 CI 工作流,全部重新检查一遍。重点看:哪些输入会被 agent 加载成指令,哪些文件 agent 有写权限。
别开自动批准。--yolo 这类跳过确认的模式,在 CI 环境里就是给攻击者开的门。
把不可信输入当攻击面。OpenAI 已经在文档里把仓库指令文件列入"应视为不可信输入"的清单。这个原则适用于所有 AI 编程工具。
安全圈
网罗圈内热点 专注网络安全
实时资讯一手掌握!
好看你就分享 有用就点个赞
支持「安全圈」就点个三连吧!
热门跟贴