智算多多
官方邮箱:service@zsdodo.com

公司地址:北京市丰台区南四环西路188号总部基地三区国联股份数字经济总部


京公网安备11010602202532号 一个看似无害的Pull Request,能不能把CI/CD管道直接变成攻击者的遥控器?最近披露的谷歌Gemini命令行工具漏洞给出了一记响亮耳光:能,而且过程简单到让人后背发凉。
被编号为CVE-2026-12537的安全问题,在CVSS评分体系里被打上了“严重”标签。漏洞利用靠的是网络,攻击复杂度极低,不需要任何特权,也不需要用户交互。一旦得手,就能在CI环境中实现沙箱逃逸,直取宿主机,让保密性、完整性、可用性全线沦陷。
中招的版本不止一两个。@google/gemini-cli 0.39.1之前的版本、0.40.0-preview.3预览版,以及google-github-actions/run-gemini-cli 0.1.22之前版本全在内。尤其是GitHub Actions这类自动化流水线,成了最脆弱的靶子。
漏洞根因藏在一个很容易被忽视的操作习惯里:在非交互式的“无头”环境(比如CI管道)中,Gemini CLI会自动信任当前工作区。这意味着,放在仓库本地目录里的配置文件——包括.gemini/.env里存放的环境变量——会被不加验证地加载。
攻击者只要往仓库里塞进一个做过手脚的.gemini/.env文件,再提交一个Pull Request。CI流水线一启动,Gemini CLI就会主动加载恶意变量,进而在管道内执行命令。整个过程完全绕开了人工审批,没有警告,也没有弹窗。
另一个推波助澜的帮凶是“--yolo”模式。原本在这个模式下,精细的工具允许列表会被丢到一旁。如果流水线允许执行Shell命令,攻击者就能用提示注入的手法,直接运行未授权的指令。这相当于给已经在漏水的船上又戳了一个洞。
谷歌已经发布了修复版本。新版的Gemini CLI在无头模式下强制要求明确标示工作区信任,不会再自动信任任何仓库。就算在--yolo模式里,工具白名单也会被严格执行。
不过,光靠官方补丁还不够,实际环境里还得立刻行动:
否则,下一个带毒Pull Request可能已经在排队了。
