在租用遠端 Mac跑 OpenClaw 等於把 Agent 放在非自管硬體;與共享算力一樣,要對技能採最小權限、盡量唯讀工作區沙箱,並以出站網域白名單限縮對外連線。以下可貼進 Runbook——假設已有閘道(Docker 部署與加固)與 SSH(首次連線清單)。
閘道與技能包版本鎖定
租賃節點上版本漂移會靜默擴面:新閘道可能多開工具,技能更新可能帶未審閱的出站。請當成小型生產單元治理。
- 閘道——CLI 鎖語意版本(如 [email protected]),升級進變更單,Bump 後跑 openclaw doctor。Docker 則digest 釘映像,勿只靠 :latest。
- 技能包——放版本化目錄(tag/tarball 校驗);設定載入路徑指凍結樹,刻意更新前不改。
- 設定快照——變更釘選時匯出有效設定(環境檔脫敏)進工單,共享主機上這是事故還原依據。
僅釘版本而無出站策略時,curl 等仍可能對任意主機連線,須與下文網路、檔案控制並行。
目錄沙箱與唯讀掛載參數表
沙箱涵蓋閘道設定與 macOS 上容器/常駐行程啟動方式。租賃 Mac 建議單一工作區根、程式與資料唯讀掛載、產出寫小 scratch。下表對照 Docker -v/Compose。
| 參數 | 建議姿態 | 租用遠端 Mac 注意 |
|---|---|---|
| 工作區根目錄 | 單一路徑(例:/srv/openclaw/workspace) | 勿把寫入散到與他人共用的家目錄。 |
| 客戶/儲存庫樹 | :ro | 只讀技能無法改來源;要寫只在維護窗暫改 rw。 |
| 技能包目錄 | 安裝後 :ro | 防執行期自改;更新走管線。 |
| Scratch/產出 | 獨立 rw;可設配額 | 大檔只放此處並輪替。 |
| 設定與機密 | 嚴格 POSIX 權限 | 共享映像先查 umask/群組再啟閘道。 |
| OS Agent 沙箱 | 不可信階段用 non-main | 對齊上游;見 agents.defaults.sandbox.mode。 |
範例 Docker 風格卷行(路徑請依供應商目錄調整):
- /data/customer/acme/src:/workspace/src:ro
- /data/skills/acme-pack/v1.4.2:/skills/acme:ro
- /data/scratch/acme:/workspace/out:rw
出站網域白名單設定步驟
白名單銜接算力租用安全與應用政策:供應商網路對外常寬,須在行程或邊緣落實意圖。
- 盤點——每技能列執行期主機:套件索引、模型 API、Git、遙測、Webhook;含 apex 與 API 子網域。
- 分級——分必需與可選;白名單穩定前可暫停非必要遙測。
- 實作——單一咽喉:pf/描述檔、網域型出站代理或容器策略;OpenClaw 工具 URL 規則與線上設定文件同步。
- 分段上線——先寬或僅記錄,蒐集 deny 一日再收緊;租賃機 deny 常曝 CDN/轉址遺漏。
- 驗證——乾跑覆蓋技能路徑;失敗應明示「出站擋」而非糊逾時。
同機本機推論(如 Ollama)迴路不進對外白名單敘述,但應文件化綁 127.0.0.1,見OpenClaw 與 Ollama 批推理。
稽核日誌要點
稽核要回答:代理做了什麼、什麼被拒。建議結構化 JSON,至少含:
- 時間/工作階段——UTC、閘道 session/channel id;多租戶可加標籤。
- 工具身分——名稱、技能版本、設定雜湊。
- 檔案——請求路徑、正規化絕對路徑、工作區根、讀寫執與允拒。
- 網路——方法、Host、可安全記錄的解析結果、狀態或阻擋原因。
- 政策版次——出站表與掛載表 id。
轉發至自有 SIEM/儲存;租賃磁碟可能汰換,本機僅盡力,用 launchd 或編排器轉出。
越權/路徑穿越除錯 FAQ
檔案存在卻權限不足: 是否 :ro、完整磁碟取用擋閘道、容器 uid 對主機無讀權。
寫入跑出 scratch: 掛載前查 symlink、可關時關 symlink 追蹤、包裝器正規化後擋 ../。
白名單後 API 間歇 403: 連線 Host 未必等於 SNI;從日誌取真實 FQDN 再加,避免整網域大放。
本機可、租賃不行: 比掛載、uid/gid、DNS/search domain。
更新後疑似越權: 回滾 digest,比對兩版網路與檔案稽核,放寬須有工單。