網路政策

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_codeapi.anthropic.com:443statsig.anthropic.com:443sentry.io:443/usr/local/bin/claude所有方法
nvidiaintegrate.api.nvidia.com:443inference-api.nvidia.com:443/usr/local/bin/claude/usr/local/bin/openclaw所有方法
githubgithub.com:443/usr/bin/gh/usr/bin/git所有方法、所有路徑
github_rest_apiapi.github.com:443/usr/bin/ghGET、POST、PATCH、PUT、DELETE
clawhubclawhub.com:443/usr/local/bin/openclawGET、POST
openclaw_apiopenclaw.ai:443/usr/local/bin/openclawGET、POST
openclaw_docsdocs.openclaw.ai:443/usr/local/bin/openclaw僅 GET
npm_registryregistry.npmjs.org:443/usr/local/bin/openclaw/usr/local/bin/npm僅 GET
telegramapi.telegram.org:443任何二進位程式/bot*/** 上的 GET、POST

所有端點使用 TLS 終止,強制走 port 443。

推論

基線政策僅允許 local 推論路由。外部推論提供者透過 OpenShell gateway 存取,而非沙箱直接出站。

操作員審批流程

當代理嘗試連線到政策未列出的端點時,OpenShell 會攔截請求並在 TUI 中呈現給操作員審查:

  1. 代理發出對未列出主機的網路請求。
  2. OpenShell 封鎖連線並記錄該嘗試。
  3. TUI 指令 openshell term 顯示被封鎖的請求,包含主機、連接埠和請求的二進位程式。
  4. 操作員核准或拒絕請求。
  5. 若核准,端點會加入目前工作階段的運行政策。

試試看導覽教學:

$ ./scripts/walkthrough.sh

這會開啟一個分割的 tmux 工作階段,左側是 TUI,右側是代理。

修改政策

靜態變更

編輯 nemoclaw-blueprint/policies/openclaw-sandbox.yaml,再重新執行引導精靈:

$ nemoclaw onboard

動態變更

不重啟沙箱直接套用政策更新:

$ openshell policy set <policy-file>