安全稽核檢查
openclaw security audit 發出以 checkId 為鍵的結構化發現。此頁面是這些 ID 的參考目錄。有關高層次的威脅模型和加固指南,請參閱 Security。
您最有可能在實際部署中看到的高信號 checkId 值(未盡列):
checkId | 嚴重性 | 重要性 | 主要修復金鑰/路徑 | 自動修復 |
|---|---|---|---|---|
fs.state_dir.perms_world_writable | 重大 | 其他使用者/程序可以修改完整的 OpenClaw 狀態 | ~/.openclaw 上的檔案系統權限 | 是 |
fs.state_dir.perms_group_writable | 警告 | 群組使用者可以修改完整的 OpenClaw 狀態 | ~/.openclaw 上的檔案系統權限 | 是 |
fs.state_dir.perms_readable | 警告 | 狀態目錄可被其他人讀取 | ~/.openclaw 上的檔案系統權限 | 是 |
fs.state_dir.symlink | 警告 | 狀態目錄目標成為另一個信任邊界 | 狀態目錄檔案系統佈局 | 否 |
fs.config.perms_writable | 重大 | 其他人可以變更驗證/工具原則/設定 | ~/.openclaw/openclaw.json 上的檔案系統權限 | 是 |
fs.config.symlink | 警告 | 不支援寫入符號連結設定檔,這會增加另一個信任邊界 | 替換為常規設定檔,或將 OPENCLAW_CONFIG_PATH 指向實際檔案 | 否 |
fs.config.perms_group_readable | 警告 | 群組使用者可以讀取設定權杖/設定 | 設定檔上的檔案系統權限 | 是 |
fs.config.perms_world_readable | 重大 | 設定可能會洩露權杖/設定 | 設定檔上的檔案系統權限 | 是 |
fs.config_include.perms_writable | 重大 | 設定包含檔案可被其他人修改 | 從 openclaw.json 引用的包含檔案權限 | 是 |
fs.config_include.perms_group_readable | 警告 | 群組使用者可以讀取包含的機密/設定 | 從 openclaw.json 引用的包含檔案權限 | 是 |
fs.config_include.perms_world_readable | 重大 | 包含的機密/設定可被任何人讀取 | include-file perms referenced from openclaw.json | 是 |
fs.auth_profiles.perms_writable | 重大 | 其他人可以注入或替換已儲存的模型憑證 | agents/<agentId>/agent/auth-profiles.json perms | 是 |
fs.auth_profiles.perms_readable | 警告 | 其他人可以讀取 API 金鑰和 OAuth 權杖 | agents/<agentId>/agent/auth-profiles.json perms | 是 |
fs.credentials_dir.perms_writable | 重大 | 其他人可以修改通道配對/憑證狀態 | filesystem perms on ~/.openclaw/credentials | 是 |
fs.credentials_dir.perms_readable | 警告 | 其他人可以讀取通道憑證狀態 | filesystem perms on ~/.openclaw/credentials | 是 |
fs.sessions_store.perms_readable | 警告 | 其他人可以讀取工作階段文字紀錄/元資料 | session store perms | 是 |
fs.log_file.perms_readable | 警告 | 其他人可以讀取已編輯但仍敏感的日誌 | gateway log file perms | 是 |
fs.synced_dir | 警告 | iCloud/Dropbox/Drive 中的狀態/設定會擴大權杖/文字紀錄的暴露風險 | 將設定/狀態移出同步資料夾 | 否 |
gateway.bind_no_auth | 重大 | 遠端繫結未使用共用密鑰 | gateway.bind, gateway.auth.* | 否 |
gateway.loopback_no_auth | 重大 | 反向代理的回環可能變得未經驗證 | gateway.auth.*, proxy setup | 否 |
gateway.trusted_proxies_missing | 警告 | 反向代理標頭存在但不受信任 | gateway.trustedProxies | 否 |
gateway.http.no_auth | 警告/重大 | 可透過 auth.mode="none" 存取的 Gateway HTTP API | gateway.auth.mode, gateway.http.endpoints.*, plugins.entries.admin-http-rpc | 否 |
gateway.http.session_key_override_enabled | 資訊 | HTTP API 呼叫者可以覆寫 sessionKey | gateway.http.allowSessionKeyOverride | 否 |
gateway.tools_invoke_http.dangerous_allow | 警告/重大 | 透過 HTTP API 重新啟用危險工具 | gateway.tools.allow | 否 |
gateway.nodes.allow_commands_dangerous | 警告/重大 | 啟用高影響的節點指令(相機/螢幕/連絡人/行事曆/SMS) | gateway.nodes.allowCommands | 否 |
gateway.nodes.deny_commands_ineffective | 警告 | 類似模式的拒絕條目不符合 Shell 文字或群組 | gateway.nodes.denyCommands | 否 |
gateway.tailscale_funnel | 嚴重 | 暴露於公共網際網路 | gateway.tailscale.mode | 否 |
gateway.tailscale_serve | 資訊 | 透過 Serve 啟用了 Tailnet 網路暴露 | gateway.tailscale.mode | 否 |
gateway.control_ui.allowed_origins_required | 嚴重 | 非本機迴路的控制介面 (Control UI),未設定明確的瀏覽器來源允許清單 | gateway.controlUi.allowedOrigins | 否 |
gateway.control_ui.allowed_origins_wildcard | 警告/嚴重 | allowedOrigins=["*"] 停用瀏覽器來源允許清單 | gateway.controlUi.allowedOrigins | 否 |
gateway.control_ui.host_header_origin_fallback | 警告/嚴重 | 啟用 Host 標頭來源後援機制 (DNS 重新綁定防護降級) | gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback | 否 |
gateway.control_ui.insecure_auth | 警告 | 已啟用不安全認證相容性切換開關 | gateway.controlUi.allowInsecureAuth | 否 |
gateway.control_ui.device_auth_disabled | 嚴重 | 停用裝置身分檢查 | gateway.controlUi.dangerouslyDisableDeviceAuth | 否 |
gateway.real_ip_fallback_enabled | 警告/嚴重 | 信任 X-Real-IP 回退可能會透過代理錯誤配置啟用來源 IP 欺騙 | gateway.allowRealIpFallback, gateway.trustedProxies | 否 |
gateway.token_too_short | 警告 | 過短的共用權杖 (token) 較容易被暴力破解 | gateway.auth.token | 否 |
gateway.auth_no_rate_limit | 警告 | 未設速率限制的暴露認證端點會增加暴力破解風險 | gateway.auth.rateLimit | 否 |
gateway.trusted_proxy_auth | 嚴重 | 代理身分現已成為認證邊界 | gateway.auth.mode="trusted-proxy" | 否 |
gateway.trusted_proxy_no_proxies | 嚴重 | 未指定信任代理 IP 的信任代理認證機制並不安全 | gateway.trustedProxies | 否 |
gateway.trusted_proxy_no_user_header | 嚴重 | 信任代理認證機制無法安全解析使用者身分 | gateway.auth.trustedProxy.userHeader | 否 |
gateway.trusted_proxy_no_allowlist | 警告 | 信任代理認證機制會接受任何已認證的上遊使用者 | gateway.auth.trustedProxy.allowUsers | 否 |
gateway.trusted_proxy_allow_loopback | 警告 | 受信任 proxy 驗證接受明確允許的 loopback proxy 來源 | gateway.auth.trustedProxy.allowLoopback | 否 |
gateway.probe_auth_secretref_unavailable | 警告 | 深度探測無法解析此指令路徑中的驗證 SecretRefs | 深度探測驗證來源 / SecretRef 可用性 | no |
gateway.probe_failed | warn/critical | 即時 Gateway 探測失敗 | Gateway 可達性/驗證 | no |
discovery.mdns_full_mode | 警告/嚴重 | mDNS 完整模式會在區域網路上廣播 cliPath/sshPort 元數據 | discovery.mdns.mode, gateway.bind | no |
config.insecure_or_dangerous_flags | warn | 已啟用一個不安全/危險的偵錯旗標 | 在發現詳情中命名的金鑰 | no |
security.audit.suppressions.active | 資訊 | 稽核輸出具有設定的抑制條件,且可能會被過濾 | security.audit.suppressions | no |
config.secrets.gateway_password_in_config | 警告 | Gateway 密碼直接儲存在設定中 | gateway.auth.password | no |
config.secrets.hooks_token_in_config | warn | Hook 持有人權杖直接儲存在設定中 | hooks.token | no |
hooks.token_reuse_gateway_token | 嚴重 | Hook 進入權杖也會解鎖 Gateway 驗證 | hooks.token, gateway.auth.token | no |
hooks.token_too_short | 警告 | 對 Hook 進入進行暴力破解攻擊變得更容易 | hooks.token | no |
hooks.default_session_key_unset | 警告 | Hook 代理程式將流量分散到產生的每個請求的工作階段 | hooks.defaultSessionKey | no |
hooks.allowed_agent_ids_unrestricted | warn/critical | 已驗證的 Hook 呼叫者可能會路由到任何設定的代理程式 | hooks.allowedAgentIds | no |
hooks.request_session_key_enabled | 警告/嚴重 | 外部呼叫者可以選擇 sessionKey | hooks.allowRequestSessionKey | no |
hooks.request_session_key_prefixes_missing | 警告/嚴重 | 外部工作階段金鑰的格式沒有限制 | hooks.allowedSessionKeyPrefixes | no |
hooks.path_root | 嚴重 | Hook 路徑是 /,導致進入流量更容易發生衝突或錯誤路由 | hooks.path | no |
hooks.installs_unpinned_npm_specs | warn | Hook 安裝記錄未鎖定至不可變的 npm 規格 | hook install metadata | no |
hooks.installs_missing_integrity | warn | Hook 安裝記錄缺少完整性中繼資料 | hook install metadata | no |
hooks.installs_version_drift | warn | Hook 安裝記錄與已安裝的套件不一致 | hook 安裝中繼資料 | no |
logging.redact_off | warn | 敏感值洩漏至日誌/狀態 | logging.redactSensitive | 是 |
browser.control_invalid_config | warn | 瀏覽器控制設定在執行階段之前無效 | browser.* | no |
browser.control_no_auth | 嚴重 | 瀏覽器控制暴露且未透過權杖/密碼驗證 | gateway.auth.* | no |
browser.remote_cdp_http | warn | 透過純 HTTP 的遠端 CDP 缺少傳輸加密 | 瀏覽器設定檔 cdpUrl | no |
browser.remote_cdp_private_host | warn | 遠端 CDP 以私有/內部主機為目標 | 瀏覽器設定檔 cdpUrl,browser.ssrfPolicy.* | no |
sandbox.docker_config_mode_off | warn | Sandbox Docker 設定存在但未啟用 | agents.*.sandbox.mode | no |
sandbox.bind_mount_non_absolute | 警告 | 相對綁定掛載解析結果可能不可預測 | agents.*.sandbox.docker.binds[] | no |
sandbox.dangerous_bind_mount | critical | Sandbox 綁定掛載的目標包含受阻擋的系統、憑證或 Docker socket 路徑 | agents.*.sandbox.docker.binds[] | no |
sandbox.dangerous_network_mode | critical | Sandbox Docker 網路使用 host 或 container:* namespace-join 模式 | agents.*.sandbox.docker.network | no |
sandbox.dangerous_seccomp_profile | critical | Sandbox seccomp 設定檔削弱了容器隔離 | agents.*.sandbox.docker.securityOpt | no |
sandbox.dangerous_apparmor_profile | critical | Sandbox AppArmor 設定檔削弱了容器隔離 | agents.*.sandbox.docker.securityOpt | no |
sandbox.browser_cdp_bridge_unrestricted | warn | Sandbox 瀏覽器橋接器已公開但未限制來源範圍 | sandbox.browser.cdpSourceRange | no |
sandbox.browser_container.non_loopback_publish | 嚴重 | 現有的瀏覽器容器在非 loopback 介面上發佈 CDP | 瀏覽器沙箱容器發佈設定 | no |
sandbox.browser_container.hash_label_missing | warn | 現有的瀏覽器容器早於目前的 config-hash 標籤 | openclaw sandbox recreate --browser --all | no |
sandbox.browser_container.hash_epoch_stale | warn | 現有的瀏覽器容器早於目前的瀏覽器設定 epoch | openclaw sandbox recreate --browser --all | no |
tools.exec.host_sandbox_no_sandbox_defaults | 警告 | 當沙箱關閉時,exec host=sandbox 失敗並封閉 | tools.exec.host,agents.defaults.sandbox.mode | no |
tools.exec.host_sandbox_no_sandbox_agents | warn | 當沙箱關閉時,個別代理程式的 exec host=sandbox 失敗並封閉 | agents.list[].tools.exec.host,agents.list[].sandbox.mode | no |
tools.exec.security_full_configured | 警告/嚴重 | 主機 exec 正以 security="full" 執行 | tools.exec.security,agents.list[].tools.exec.security | no |
tools.exec.fs_tools_disabled_but_exec_enabled | warn | 檔案系統工具原則未將 shell 執行設為唯讀 | tools.deny, agents.list[].tools.deny, agents.*.sandbox.workspaceAccess | no |
tools.exec.auto_allow_skills_enabled | warn | 執行核准隱式信任技能 bins | ~/.openclaw/exec-approvals.json | no |
tools.exec.allowlist_interpreter_without_strict_inline_eval | warn | 解釋器允許清單允許內聯評估而無需強制重新核准 | tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, exec approvals allowlist | no |
tools.exec.safe_bins_interpreter_unprofiled | warn | safeBins 中沒有明確設定檔的解釋器/執行時 bins 擴大了執行風險 | tools.exec.safeBins, tools.exec.safeBinProfiles, agents.list[].tools.exec.* | no |
tools.exec.safe_bins_broad_behavior | warn | safeBins 中的廣泛行為工具削弱了低風險 stdin-filter 信任模型 | tools.exec.safeBins, agents.list[].tools.exec.safeBins | no |
tools.exec.safe_bin_trusted_dirs_risky | warn | safeBinTrustedDirs 包含可變或有風險的目錄 | tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs | no |
skills.workspace.symlink_escape | warn | 工作區 skills/**/SKILL.md 解析到工作區根目錄之外(符號連結鏈偏移) | workspace skills/** filesystem state | no |
plugins.extensions_no_allowlist | warn | 安裝外掛程式時未指定明確的外掛程式允許清單 | plugins.allowlist | no |
plugins.installs_unpinned_npm_specs | 警告 | 外掛程式索引記錄未固定為不可變的 npm 規格 | 外掛程式安裝元資料 | no |
plugins.installs_missing_integrity | warn | 外掛程式索引記錄缺乏完整性元資料 | 外掛程式安裝元資料 | no |
plugins.installs_version_drift | 警告 | 外掛程式索引記錄與已安裝的套件不一致 | plugin install metadata | no |
plugins.code_safety | 警告/嚴重 | 外掛程式程式碼掃描發現可疑或危險的模式 | plugin code / install source | no |
plugins.code_safety.entry_path | 警告 | 外掛程式進入路徑指向隱藏或 node_modules 位置 | plugin manifest entry | no |
plugins.code_safety.entry_escape | 嚴重 | 外掛程式進入點逃離外掛程式目錄 | plugin manifest entry | no |
plugins.code_safety.scan_failed | 警告 | 外掛程式程式碼掃描無法完成 | 外掛程式路徑 / 掃描環境 | no |
skills.code_safety | 警告/嚴重 | Skill 安裝程式中繼資料/程式碼包含可疑或危險的模式 | skill 安裝來源 | no |
skills.code_safety.scan_failed | 警告 | Skill 程式碼掃描無法完成 | skill 掃描環境 | no |
security.exposure.open_channels_with_exec | 警告/嚴重 | 共用/公開聊天室可以連線到已啟用 exec 的代理程式 | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* | no |
security.exposure.open_groups_with_elevated | 嚴重 | 開放群組 + 提昇權限的工具會建立高影響力的提示注入路徑 | channels.*.groupPolicy, tools.elevated.* | no |
security.exposure.open_groups_with_runtime_or_fs | 嚴重/警告 | 開放群組可以在沒有沙箱/工作區防護的情況下存取命令/檔案工具 | channels.*.groupPolicy, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.mode | no |
security.trust_model.multi_user_heuristic | warn | 設定看起來是多使用者模式,但閘道的信任模型是個人助理模式 | 分割信任邊界,或共用使用者強化 (sandbox.mode, 工具拒絕/工作區範圍限定`) | no |
tools.profile_minimal_overridden | warn | 代理程式覆寫值繞過全域最小設定檔 | agents.list[].tools.profile | no |
plugins.tools_reachable_permissive_policy | warn | 擴充功能工具可在寬鬆的上下文中存取 | tools.profile + 工具允許/拒絕 | 否 |
models.legacy | warn | 仍舊設定了舊版模型系列 | 模型選擇 | 否 |
models.weak_tier | 警告 | 設定的模型低於目前推薦的等級 | 模型選擇 | no |
models.small_params | 嚴重/資訊 | 小型模型 + 不安全的工具介面會增加注入風險 | 模型選擇 + 沙箱/工具政策 | no |
summary.attack_surface | 資訊 | 驗證、通道、工具和暴露態勢的彙總摘要 | 多個金鑰 (請參閱發現項目詳細資料) | 否 |