返回首頁

AI 程式開發工具

Gemini CLI 0.58 封鎖 macOS 沙箱存取容器 daemon,補上可繞過檔案邊界的主機路徑

新版在所有內建 Seatbelt profile 中阻擋 Docker、OrbStack、Colima 等容器執行期的 socket、程式與 IPC 介面。更新也修正寫入政策、安全檢查器與 A2A 取消狀態,但自訂安裝路徑及既有工作流程仍需另行驗證。

Asoundd · CC BY-SA 4.0 · Image source
zh-Hant

Google 於 9 月 1 日發布 Gemini CLI 0.58.0,最實質的變更是收緊 macOS Seatbelt 沙箱與本機容器執行期之間的邊界。先前即使代理被限制寫入專案目錄,sandbox 內的程序仍可能讀取 Docker Desktop、OrbStack、Colima 或 Rancher Desktop 的 daemon socket;若同時允許廣泛程序執行、檔案讀取及對外網路,程序便可能要求 daemon 啟動容器,再透過 VirtioFS 掛載主機檔案系統,繞過原本的 Seatbelt 檔案規則。

0.58.0 將拒絕規則套用至動態 profile builder 及六個內建靜態 profile。封鎖範圍包括 `/var/run/docker.sock`、使用者目錄下的 Docker、Colima、OrbStack 與 Rancher Desktop socket,常見安裝位置中的 `docker`、`dockerd`、`docker-compose`、`podman`、`colima`、`orb` 執行檔,以及相關 Mach/XPC service lookup 和 POSIX shared memory。合併紀錄同時加入 profile 生成及規則不變量測試;維護者列出的兩組測試合計預期通過 52 項案例。

版本亦修正寫入政策設定:頂層 safety checker 現在會被明確納入配置,避免安全判斷器因配置結構而未被呼叫。A2A server 則會在新訊息輪次清除上一輪殘留的取消錯誤;歷史回滾及重試提示也經調整,降低一次失敗持續污染後續代理輪次的機會。這些不是模型能力升級,而是工具執行、狀態恢復與授權判定的可靠性修補。

使用 macOS 並開啟 sandbox 的團隊應優先升級,尤其是同時運行 Docker Desktop 或相容 daemon 的環境。不過規則依賴已知 socket 與常見二進位路徑,自訂容器執行期、非標準安裝位置或未列出的 IPC 通道仍需自行威脅建模;原本需要代理控制 Docker 的流程,也可能在升級後失敗,不能以關閉整個沙箱作為未經評估的通用解法。

來源

  1. Release v0.58.0
  2. AI Coding Tool Releases — Timeline