網路政策
NemoClaw 預設以嚴格的網路政策運行。 沙箱只能連線到明確允許的端點。 任何對未列出目標的請求都會被 OpenShell 攔截,操作員可以在 TUI 中即時審批或拒絕。
基線政策
基線政策定義在 nemoclaw-blueprint/policies/openclaw-sandbox.yaml 中。
檔案系統
| 路徑 | 存取權限 |
|---|---|
/sandbox、/tmp、/dev/null | 可讀寫 |
/usr、/lib、/proc、/dev/urandom、/app、/etc、/var/log | 唯讀 |
沙箱程序以專用的 sandbox 使用者和群組運行。
Landlock LSM 以盡力而為的方式執行。
網路政策
以下端點群組預設為允許:
| 政策 | 端點 | 二進位程式 | 規則 |
|---|---|---|---|
claude_code | api.anthropic.com:443、statsig.anthropic.com:443、sentry.io:443 | /usr/local/bin/claude | 所有方法 |
nvidia | integrate.api.nvidia.com:443、inference-api.nvidia.com:443 | /usr/local/bin/claude、/usr/local/bin/openclaw | 所有方法 |
github | github.com:443 | /usr/bin/gh、/usr/bin/git | 所有方法、所有路徑 |
github_rest_api | api.github.com:443 | /usr/bin/gh | GET、POST、PATCH、PUT、DELETE |
clawhub | clawhub.com:443 | /usr/local/bin/openclaw | GET、POST |
openclaw_api | openclaw.ai:443 | /usr/local/bin/openclaw | GET、POST |
openclaw_docs | docs.openclaw.ai:443 | /usr/local/bin/openclaw | 僅 GET |
npm_registry | registry.npmjs.org:443 | /usr/local/bin/openclaw、/usr/local/bin/npm | 僅 GET |
telegram | api.telegram.org:443 | 任何二進位程式 | /bot*/** 上的 GET、POST |
所有端點使用 TLS 終止,強制走 port 443。
推論
基線政策僅允許 local 推論路由。外部推論提供者透過 OpenShell gateway 存取,而非沙箱直接出站。
操作員審批流程
當代理嘗試連線到政策未列出的端點時,OpenShell 會攔截請求並在 TUI 中呈現給操作員審查:
- 代理發出對未列出主機的網路請求。
- OpenShell 封鎖連線並記錄該嘗試。
- TUI 指令
openshell term顯示被封鎖的請求,包含主機、連接埠和請求的二進位程式。 - 操作員核准或拒絕請求。
- 若核准,端點會加入目前工作階段的運行政策。
試試看導覽教學:
$ ./scripts/walkthrough.sh
這會開啟一個分割的 tmux 工作階段,左側是 TUI,右側是代理。
修改政策
靜態變更
編輯 nemoclaw-blueprint/policies/openclaw-sandbox.yaml,再重新執行引導精靈:
$ nemoclaw onboard
動態變更
不重啟沙箱直接套用政策更新:
$ openshell policy set <policy-file>