你用 --yolo 运行 Gemini CLI,它却还是在 git diff 或 npm test 上停下来,弹出 CRITICAL SECURITY WARNING: Untrusted Command Flags Detected 要求确认。大多数情况下,这是当前稳定版 0.63.0 的误报,修复已经在 0.64.0-preview.1 中发布。
本文说明这个警告为什么出现、如何确认你遇到的就是这种情况,以及恢复工作流的两种方法。所有内容均于 2026年10月13日 对照 google-gemini/gemini-cli 仓库的源码和发布记录核对。
"Untrusted Command Flags Detected" 是什么意思?
意思是 Gemini CLI 发现,模型要执行的命令里有一个参数,也出现在对话中被标记为不可信的内容里。它把这视为可能的提示注入,即使在 YOLO 模式下也要求你确认。完整警告如下:
⚠️ CRITICAL SECURITY WARNING: Untrusted Command Flags Detected
The following flags/arguments were sourced from external untrusted input (e.g., Buganizer ticket, external document):
• .github/workflows/testhub.yml
Executing commands with flags sourced from untrusted input can execute arbitrary code on your machine.
Carefully verify these flags before approving.
出发点没有问题:如果网页或 MCP 的返回内容建议了一个危险参数,智能体不应该自己去执行。0.63.0 的问题在于误报太多。
为什么无害的命令也会触发警告?
因为在 0.63.0 中,shell 自身的输出也被当作不可信内容,其中出现过的任何文件路径都会被视为"可疑"。智能体运行 ls,看到 package.json,下一条命令里的 package.json 就会触发警告。
在 0.63.0 的代码中,shell、web_fetch、网页搜索和 MCP 工具都会把结果包进 <untrusted_context>。追踪器把这段文本拆成词元,连路径也会按每个 / 拆开,再与下一条命令的参数比对。结果就是,项目自己的文件名也成了拦截的理由。
| 版本 | 行为 | 发布日期 |
|---|---|---|
| 0.62.0 | 没有这项检查 | 2026年9月29日 |
0.63.0(稳定版,latest 标签) | 新增检查,普通路径也会误报,YOLO 下同样如此 | 2026年10月6日 |
0.64.0-preview.1(preview 标签) | 包含 PR #29672 的修复 | 2026年10月9日 |
| 10月10日起的 0.65.0 nightly | 包含修复 | 每日 |
为什么 YOLO 模式跳不过这个警告?
因为这项检查在审批策略之后运行。当策略判定"允许"而命令带有污染风险时,Gemini CLI 会改写决定:交互模式下变成确认提示,非交互模式(gemini -p)下直接拒绝调用。在脚本或 CI 中,它表现为工具被策略拦截,而不是弹出提示。
选择"始终允许"也没用:对于被标记为这类风险的命令,Gemini CLI 不会把这次批准保存为规则,每次都会再问一遍。

如何确认是 0.63.0 的误报?
查看已安装的版本:
gemini --version
如果显示 0.63.0,而警告列出的是你自己项目里的路径(src/index.ts、package.json、某个 workflow 文件),那就是 issue #29682 和 #29676 描述的情况。如果列出的参数来自智能体刚刚读过的网页,请先读一遍命令再批准:这时警告是在正常工作。
如何解决 "Untrusted Command Flags Detected"?
安装已包含修复的预览版。如果你使用 npm 包:
npm install -g @google/gemini-cli@preview
gemini --version
第二行应显示 0.64.0-preview.1 或更新的版本。进入该版本的 PR #29672 不再索引路径片段,只比对真正有风险的模式(URL、绝对路径、脚本扩展名),并放行 git -C、ls -la、grep -rn 等只读参数。
不想用预览版?回退到 0.62.0
- 先关闭自动更新,否则 Gemini CLI 会自己升回 0.63.0。在
~/.gemini/settings.json中:
同一设置在{ "general": { "enableAutoUpdate": false } }/settings中显示为 Enable Auto Update。 - 安装上一个版本:
npm install -g @google/gemini-cli@0.62.0 - 等
latest标签超过 0.63.0 后,重新打开enableAutoUpdate并更新。
不要采用 issue 里流传的捷径,即修改安装包让检查函数始终返回 false。这会关掉整套保护,包括针对网页或 MCP 真正注入的参数。
"Build Configuration Was Recently Modified" 又是怎么回事?
这是同一类的另一项检查,上面的修复不涉及它。如果智能体在会话中修改了构建配置文件,随后又运行 npm、make、pytest 或其他构建、测试命令,Gemini CLI 会显示 CAUTION: Build Configuration Was Recently Modified 并要求确认。2026年10月8日提交的 issue #29687 反映这个警告每条命令都会重复出现,目前仍未关闭。
如果你想在终端里使用编程智能体,又不想操心 token 配额,Verboo Code 提供无限 token。



