openclaw security

安全性工具(稽核 + 選擇性修正)。

相關資源:

稽核

openclaw security audit
openclaw security audit --deep
openclaw security audit --fix
openclaw security audit --json

稽核會在多個 DM 發送者共用主要工作階段時發出警告,並建議啟用安全 DM 模式session.dmScope="per-channel-peer"(多帳號頻道則使用 per-account-channel-peer)以強化共用收件匣的安全性。 這適用於合作/共用收件匣的強化。由互不信任/對立的操作者共用單一 Gateway 並非建議的設定;應以獨立的 Gateway(或獨立的作業系統使用者/主機)來劃分信任邊界。 當設定顯示可能存在多使用者入口(例如開放的 DM/群組政策、已設定的群組目標,或萬用字元發送者規則)時,也會輸出 security.trust_model.multi_user_heuristic,提醒你 OpenClaw 預設是個人助理的信任模型。 對於刻意的多使用者設定,稽核建議將所有工作階段沙箱化、將檔案系統存取限制在工作區範圍內,並將個人/私密身分或憑證移出該執行環境。 當小型模型(<=300B)在未啟用沙箱且啟用了 web/瀏覽器工具的情況下使用時也會發出警告。 針對 webhook 入口,會在 hooks.defaultSessionKey 未設定、請求中的 sessionKey 覆寫已啟用,以及覆寫啟用但未設定 hooks.allowedSessionKeyPrefixes 時發出警告。 也會在沙箱模式關閉時設定了沙箱 Docker 設定、gateway.nodes.denyCommands 使用了無效的模式/未知項目(僅支援精確的節點指令名稱比對,非 shell 文字過濾)、gateway.nodes.allowCommands 明確啟用了危險的節點指令、全域 tools.profile="minimal" 被代理工具設定檔覆寫、開放群組在未啟用沙箱/工作區防護的情況下暴露執行階段/檔案系統工具,以及已安裝的擴充外掛工具在寬鬆的工具政策下可能被存取時發出警告。 也會標示 gateway.allowRealIpFallback=true(代理伺服器設定錯誤時的標頭偽造風險)和 discovery.mdns.mode="full"(透過 mDNS TXT 紀錄的中繼資料洩漏)。 在沙箱瀏覽器使用 Docker bridge 網路但未設定 sandbox.browser.cdpSourceRange 時也會發出警告。 也會標示危險的沙箱 Docker 網路模式(包括 hostcontainer:* 命名空間共用)。 在現有沙箱瀏覽器 Docker 容器缺少或過時雜湊標籤(例如遷移前的容器缺少 openclaw.browserConfigEpoch)時也會警告,並建議執行 openclaw sandbox recreate --browser --all。 在 npm 安裝的外掛/hook 記錄未固定版本、缺少完整性中繼資料,或與目前安裝的套件版本不一致時也會發出警告。 當頻道允許清單依賴可變的名稱/電子郵件/標籤而非穩定 ID(Discord、Slack、Google Chat、MS Teams、Mattermost、適用的 IRC 範圍)時會發出警告。 在 gateway.auth.mode="none" 使 Gateway HTTP API 無需共用金鑰即可存取時也會警告(/tools/invoke 加上任何已啟用的 /v1/* 端點)。 以 dangerous/dangerously 為前綴的設定是明確的緊急備用操作者覆寫;啟用其中一個本身並非安全性漏洞報告。 完整的危險參數清單請參閱 Security 中的「Insecure or dangerous flags summary」章節。

JSON 輸出

使用 --json 進行 CI/政策檢查:

openclaw security audit --json | jq '.summary'
openclaw security audit --deep --json | jq '.findings[] | select(.severity=="critical") | .checkId'

同時使用 --fix--json 時,輸出包含修正操作和最終報告:

openclaw security audit --fix --json | jq '{fix: .fix.ok, summary: .report.summary}'

--fix 會變更什麼

--fix 會套用安全且確定性的修正:

  • 將常見的 groupPolicy="open" 改為 groupPolicy="allowlist"(包含支援頻道的帳號變體)
  • logging.redactSensitive"off" 設為 "tools"
  • 收緊狀態/設定和常見敏感檔案的權限(credentials/*.jsonauth-profiles.jsonsessions.json、工作階段 *.jsonl

--fix 不會

  • 輪換 token/password/API 金鑰
  • 停用工具(gatewaycronexec 等)
  • 變更 Gateway 綁定/驗證/網路暴露選項
  • 移除或改寫外掛/技能