Gemini CLI 修命令行注入漏洞:grep 模式改用 -e 显式分隔符
zainnadeem786 · ghdev · 2026-09-28
Google Gemini CLI 的一个 PR 修复了本地 grep 执行模块的命令行选项/参数注入漏洞(CWE-88)。
问题:搜索模式此前作为裸位置参数传给 git grep 和系统 grep,任何以连字符开头的 token(如 -v、--max-count)会被解析为命令行选项而非字面搜索串,可能导致:
- 搜索行为被篡改(flag 注入、反转匹配)
- 传入无效 flag 结构导致子进程崩溃、CLI 会话中断(DoS)
修复:在构造命令时用显式 -e 分隔符强制参数分离——gitArgs.push('-e', pattern) 与 grepArgs.push('-e', pattern),并补充了单元测试。这是不信任工作区输入时安全派生子进程的典型加固手法。
「编程与Agent」频道最新
- 一周开发5个插件,把 Obsidian 改造成个人信息工作台 — vista8 · 2026-09-28
- 开源视觉决策模型 Valen:单步决策仅122–128毫秒 — aigclink · 2026-09-28
- LLM 始终学不会的一件事:给子任务挑对模型 — DynaBeast · 2026-09-28
- 零代码做出零重力水滴玩具:Claude Code 产出 2200 行单文件 WebGL — AlexisDC · 2026-09-28
- 「AI 写了 90% 代码」是耸动噪音,Reddit 热帖吐槽统计口径 — Plenty_Line2696 · 2026-09-28
- 开源Hyperresearch让Claude Code变深度研究agent,可积累研究库 — bigaiguy · 2026-09-28