Zed 代理沙箱怎麼運作:預設禁止寫出專案外、禁止碰 .git、禁止連網,要放行要它自己開口
- 免費版:有
- 最低付費方案:US$10/月起
- 免費額度:Personal:2,000 次「已採納的編輯預測」(accepted edit predictions);官網定價頁未載明此額度的重置週 …
- 最後查核:2026-09-21
文章最後更新:2026-09-09
如果你讓 AI 代理在自己的電腦上跑指令,最實際的問題只有一個:它能碰到什麼? Zed 對這題的答案是沙箱,而且是由作業系統強制、不靠代理自己守規矩的那種。以下依 Zed 官方文章〈Sandboxing〉整理成可照做的說明(本站查核日 2026-09-09)。
一、預設狀態:從 1.14 起全體使用者預設開啟
官方寫得很清楚:代理面板的終端機與 fetch 工具現在預設被沙箱化,自 1.14 版起對所有使用者預設啟用。 沙箱限制的是代理使用這兩個工具時能做的事,而且這些限制由作業系統強制執行,不依賴代理是否遵守指示。
二、預設規則(三條)
預設的沙箱規則禁止代理:
- 寫入專案目錄以外的地方
- 寫入
.git - 發出網路請求
官方的說法是「對很多情境,這樣就綽綽有餘」。
三、需要更多權限時:代理要自己開口,你來決定
當預設不夠用時,代理可以請求臨時提權。你會在畫面上看到兩件事:
- 它要求的是哪些權限
- 它為什麼要(理由)
然後你可以選擇:只允許這一次、允許這整個對話串、或永久允許。
有一條例外是硬的:代理不得請求 .git 的寫入權限。官方解釋了原因——能寫 .git 就能寫 hook,而 hook 會在沙箱之外執行。這個設計值得記住:它擋的不是「改到版本控制」,而是「用 hook 逃出沙箱」。
四、各平台的實作與前置條件(Linux/Windows 使用者必看)
沙箱用的是作業系統本身的 API:
| 平台 | 實作 | 你要注意的事 |
|---|---|---|
| macOS | Seatbelt | 無額外前置條件 |
| Linux | namespaces(透過 Bubblewrap) | $PATH 裡要有可用的 bwrap,且不能帶 setuid bit |
| Windows | 走 WSL | 非 WSL 的 shell 不支援沙箱;WSL 環境內同樣要滿足上面的 bwrap 條件 |
Windows 這條特別重要:你如果在 PowerShell 或 cmd 底下用代理,沙箱是不生效的。 想要有沙箱保護就得走 WSL。
五、為什麼不能只是「叫代理不要動某些檔案」
這是官方文章最值得讀的一段,也是本站最想轉述給讀者的重點。
官方承認:用講的很多時候有效,現代大型語言模型也相當擅長遵循指示——但那不是保證,而且對提示注入攻擊幾乎沒有防護力。
他們舉的例子很具體:假設你在維護一個開源專案,正在看某位貢獻者的 PR,你打開代理說「幫我審這個 PR」。你不知道的是,這個 PR 裡改了 AGENTS.md,內容是叫你的代理把 $MY_SECRET_API_KEY 上傳到攻擊者控制的伺服器。官方接著補了一句冷冷的話:這種事已經發生過了。
換句話說,沙箱防的不是「AI 失控」這種抽象恐懼,而是你自己主動叫它去讀的那份外部內容裡藏著指令。這正是本站一貫的立場:工具讀進來的東西是資料,不是命令。
六、實務建議(本站整理)
- 不要為了省事永久放行網路。 「允許這一次」與「這個對話串」存在就是為了這種場合;永久放行等於把預設保護關掉。
- 審 PR、讀外部倉庫、看陌生 issue 時,最需要沙箱。 這正是提示注入最常見的入口。
- Windows 使用者先確認自己在不在 WSL 裡。 不在的話你以為有的保護並不存在。
- Linux 使用者先確認
bwrap可用。 官方明列這個前置條件,缺了沙箱不會生效。
Zed 相關實查文章:〈Zed Pro US$10 與 US$5 代幣額度怎麼算〉、〈Zed 開發容器的密鑰記錄外洩問題〉。方案現況見 Zed 工具檔案。
資料來源
- Zed 官方部落格〈Sandboxing〉,2026-08-05:https://zed.dev/blog/sandboxing
最後查核:2026-09-09
阿莫和皮米怎麼看
個人想試 AI 編輯預測,先用免費版或自帶 key。天天靠它寫碼,Pro 10 美元划算。團隊要治理才上 Business。
接下來看這些
同一工具的其他實查文
- Zed Pro 每月 US$10 只含 US$5 的 token:另外那 US$5 你買的是什麼?(2026-09 官方定價頁實查)
- Zed 編輯器把你的密碼原封不動寫進 log 檔:9/4 的 1.18.1 版才修好,一行指令自己檢查
