LLM Agent 的風險常在工具呼叫:被誤導仍可寫檔、連網、啟子行程。把 E2B 類「一次性容器」翻成 Mac 的最小權限根目錄加逾時熔斷,遠端 Mac自動化才經得起稽核。🛡️
給編排工具呼叫沙箱的工程師:附雲端對本機對照表、sandbox-exec 片段、CI 門禁與驗收表、逾時 FAQ。延伸LangGraph 沙箱配額文、OpenClaw IDE 沙箱篇;首頁。
威脅模型 · 矩陣 · 本機片段 · CI · 驗收 · FAQ
痛點拆解
一 代理跑在使用者 shell 下易繼承過大家目錄。二 遠端 Mac 上相對路徑常漂移。三 單工具無逾時會塞滿佇列又觸發重試。
威脅模型一行表
| 威脅 | 攻擊面 | 控制 | 殘餘風險 |
|---|---|---|---|
| 注入驅動工具鏈 | LLM Agent 回合內多外掛與二進位 | 白名單、分級逾時、回合上限、失敗碼 | 合法組合濫用;需速率與行為偵測 |
決策矩陣:E2B 類雲端沙箱對本機 Mac 策略
| 維度 | 雲端一次性沙箱 | 本機 Seatbelt 加目錄二元化 |
|---|---|---|
| 隔離 | 訪客 VM 重灌使用者空間,適不可信碼 | sandbox-exec 描述檔或服務帳戶限讀寫網路 |
| 成本 | 秒級起停按分鐘計,利尖峰實驗 | 遠端 Mac 常駐幾無冷啟動,利長編譯與本機模型 |
| 路徑 | 映像預置相依只讀層短期注秘密 | 自訂 AGENT_WORK_ROOT 與暫存勿寫預設家樹 |
| 逾時 | 容器整體殺行程易見剩時 | 編排外包裝雙層限時備 SIGKILL 防僵屍 |
本機沙箱配置片段
高風險 CLI 包 Seatbelt 並鎖工作樹;權限列舉請依內部資安範本與 macOS 版本核可。
#!/bin/bash
export AGENT_WORK_ROOT="${AGENT_WORK_ROOT:-$HOME/agent-sandbox/ws}"
export TMPDIR="${TMPDIR:-$HOME/agent-sandbox/tmp}"
mkdir -p "$AGENT_WORK_ROOT" "$TMPDIR"
exec sandbox-exec -f ./agent-minimal.sb \
-D AGENT_ROOT="$AGENT_WORK_ROOT" -- "$@"允許唯讀儲存庫根、拒寫 .ssh 等;網路預設拒或走側車;勿與編排層雙重放行擴邊界。
可執行策略條目
- 雙根:碼樹唯讀產物寫沙箱並日誌印絕對路徑。
- 逾時分級:網路本機互動分秒數與重試上限回傳列舉。
- 包裝:模型可拼參數者必經
sandbox-exec同類包裝。 - 子行程:遠端 Mac 用 launchd 或編排監孤兒合併前乾跑掃描。
- 稽核:每呼叫寫租戶工作階段鍵指紋離開碼對照提示詞版。
與 CI 門禁銜接
描述檔與逾時表入庫後 MR 流水線乾跑假代理呼叫固定工具驗白名單拒寫與熔斷與日誌欄位敗則擋合併附重現令。定價挑浸泡節點部落格續讀閘道多代理。
權限路徑逾時驗收清單
| 項 | 預期 | 佐證 |
|---|---|---|
| 唯讀碼根 | 不可新增檔於原始碼樹 | 拒寫測試與稽核事件 |
| 可寫沙箱根 | 產物暫存僅限子樹 | 目錄列印與用量表 |
| 單工具逾時 | 逾閾殺行程上層收逾時類 | 結構化日誌重試數 |
| 回合逾時 | 鏈不無限深 | 端到端追蹤最慢點 |
| 秘密 | 權杖不進轉錄摘要 | 抽樣稽核紀錄 |
可引用資訊
- 單工具預設逾時改分級表 Runbook 註調升批。
- 短週期不可信碼偏雲端長駐編譯偏遠端 Mac。
- CI 至少檢路徑白名單、逾時熔斷、離開碼列舉,缺一則未就緒。
失敗模式 FAQ
逾時太短?易幻覺成功或狂重試以分位調整摘要標類。
sandbox-exec 拒寫合法路徑?白名單過緊或 cwd 未對先改別名勿全放寬。
雲本機不一致?環境變數與動態庫路徑差鎖映像或鎖檔降漂移。
小結:雲端隔離不可信執行本機 Seatbelt 加雙根顧常駐兩端皆要顯式逾時與 CI 驗收獨立節點浸泡見購買頁免登入。