觀點 · 資訊分享

Gemini CLI 補上 CVSS 10 分漏洞:CI 裡不再自動信任資料夾,--yolo 也要遵守工具白名單

Google 的 AI 命令列工具 Gemini CLI 與 GitHub Action(run-gemini-cli)發布安全更新:在 CI 無頭模式下,過去會自動信任工作資料夾,且 --yolo 會忽略工具白名單,處理不受信任內容時可能導致遠端執行程式碼。0.39.1 起修正,但會影響既有流程。

發布
2026-04-25
篇幅
約 3 分鐘 · 1,566 字
結構
7 節 + 3 題常見問題
標籤
#Gemini CLI#CVE-2026-12537#GitHub Actions#提示注入
Gemini CLI 補上 CVSS 10 分漏洞:CI 裡不再自動信任資料夾,--yolo 也要遵守工具白名單

一句話看懂:Gemini CLI 在 CI 裡過去會自動信任資料夾、–yolo 還會忽略工具白名單,處理陌生內容時可能被誘導執行指令;0.39.1 起修正,但既有流程可能要調整。

Gemini CLI 收緊信任與白名單資訊圖卡:CI 裡的 AI 工具預設信任資料夾,處理陌生內容時有風險

先用白話講:為什麼 CI 裡的 AI 工具特別危險?

想像你請一位助理幫忙處理陌生人寄來的包裹。如果助理的規矩是「進到任何房間都自動信任裡面的說明書」,那陌生人只要在包裹裡塞一份假說明書,助理就可能照著做。

Gemini CLI 在 CI(自動化流程,例如幫忙審查別人送來的 PR)就有類似情況:它會讀工作資料夾裡的設定檔,而這些內容有可能是不受信任的人提供的。

發生什麼事

2026 年 4 月 24 日,GitHub 公布 Gemini CLI 與 run-gemini-cli GitHub Action 的安全公告(CVE-2026-12537),GitHub 給的 CVSS 3.1 分數是 10(滿分)。公告說明了兩個問題:

  • 資料夾信任:舊版在無頭(headless)模式下,會自動信任工作資料夾並載入設定與環境變數。如果在不受信任的資料夾上執行(例如審查外部使用者送來的 PR),本機 .gemini/ 目錄裡的惡意環境變數,可能導致遠端執行程式碼
  • 工具白名單:舊版在 --yolo 模式下,會忽略 settings.json 裡細部的工具白名單(例如只允許 run_shell_command(echo) 也會被當成允許所有指令)。若處理不受信任內容,可能因提示注入而遠端執行程式碼

修正版本與影響

元件 受影響版本 修正版本
@google/gemini-cli 低於 0.39.1 0.39.1
@google/gemini-cli 預覽版 0.40.0-preview.2 0.40.0-preview.3
run-gemini-cli Action 低於 0.1.22 0.1.22

官方說明影響限於在無頭模式使用的流程,並指出「所有 Gemini CLI GitHub Actions 都受影響」。

給開發者的技術細節

  • 這是破壞性變更:升級後,依賴舊的自動信任行為的 CI 流程會無法載入工作區設定;依賴舊白名單行為的流程,也可能默默失敗
  • 若流程只處理可信任的輸入(例如信任的協作者的 PR),官方建議在流程中設定 GEMINI_TRUST_WORKSPACE: 'true'
  • 若流程處理不受信任的輸入,應依 run-gemini-cli 的官方指引加強防護,再設定該環境變數
  • 預設情況下,Action 會取得最新版的 gemini-cli;如果你在流程裡手動指定了版本,要自己更新

我的看法

把 AI 工具接進 CI 很方便,例如自動分類 issue、初步審查 PR;但這類流程處理的常常是「外人」寫的內容。這次公告最值得記住的原則是:AI 工具讀到的東西,就等於它的指令來源,凡是不受信任的內容,都要假設有人會在裡面夾帶指令。

接案時如果替客戶設定了這類自動化,建議做三件事:確認 Action 與 CLI 版本、只給工具最小權限的白名單、對外部來源的內容保持隔離。

名詞小辭典

  • Gemini CLI:Google 的 AI 命令列工具,可在終端機或 CI 中執行。
  • 無頭模式(Headless):沒有人互動、由流程自動執行的模式。
  • 提示注入(Prompt Injection):在文字中偷偷藏指令,誘騙 AI 照做。
  • 白名單(Allowlist):只允許清單內的動作,其餘一律拒絕。

資料來源

常見問題

Gemini CLI 是什麼?
Google 推出的 AI 命令列工具,可以在終端機或 CI 流程裡讓 Gemini 模型讀專案、跑指令。run-gemini-cli 是讓它在 GitHub Actions 裡執行的官方 Action。
什麼是 --yolo 模式?
讓工具自動核准動作、不一個個詢問的模式。舊版在這個模式下會忽略設定檔裡細緻的工具白名單,例如只允許某個 shell 指令的規則。
升級後我的 CI 會怎樣?
官方說明,依賴舊的自動信任行為的流程,會無法載入工作區設定;依賴舊白名單行為的流程也可能默默失敗。處理可信任輸入的流程可設定 GEMINI_TRUST_WORKSPACE 為 'true';處理不受信任輸入的流程,應照官方指引加強防護。
LINE