fs.state_dir.perms_world_writable | critical | Inni użytkownicy/procesy mogą modyfikować pełny stan OpenClaw | uprawnienia filesystem dla ~/.openclaw | tak |
fs.state_dir.perms_group_writable | warn | Użytkownicy grupy mogą modyfikować pełny stan OpenClaw | uprawnienia filesystem dla ~/.openclaw | tak |
fs.state_dir.perms_readable | warn | Katalog stanu jest czytelny dla innych | uprawnienia filesystem dla ~/.openclaw | tak |
fs.state_dir.symlink | warn | Cel katalogu stanu staje się kolejną granicą zaufania | układ filesystem katalogu stanu | nie |
fs.config.perms_writable | critical | Inni mogą zmieniać politykę uwierzytelniania/narzędzi/konfigurację | uprawnienia filesystem dla ~/.openclaw/openclaw.json | tak |
fs.config.symlink | warn | Dowiązane pliki konfiguracyjne nie są obsługiwane przy zapisie i dodają kolejną granicę zaufania | zastąp zwykłym plikiem konfiguracyjnym lub wskaż OPENCLAW_CONFIG_PATH na rzeczywisty plik | nie |
fs.config.perms_group_readable | warn | Użytkownicy grupy mogą odczytywać tokeny/ustawienia konfiguracji | uprawnienia filesystem pliku konfiguracyjnego | tak |
fs.config.perms_world_readable | critical | Konfiguracja może ujawniać tokeny/ustawienia | uprawnienia filesystem pliku konfiguracyjnego | tak |
fs.config_include.perms_writable | critical | Plik include konfiguracji może być modyfikowany przez innych | uprawnienia pliku include wskazywanego z openclaw.json | tak |
fs.config_include.perms_group_readable | warn | Użytkownicy grupy mogą odczytywać dołączone sekrety/ustawienia | uprawnienia pliku include wskazywanego z openclaw.json | tak |
fs.config_include.perms_world_readable | critical | Dołączone sekrety/ustawienia są czytelne dla wszystkich | uprawnienia pliku include wskazywanego z openclaw.json | tak |
fs.auth_profiles.perms_writable | critical | Inni mogą wstrzyknąć lub podmienić zapisane poświadczenia modeli | uprawnienia agents/<agentId>/agent/auth-profiles.json | tak |
fs.auth_profiles.perms_readable | warn | Inni mogą odczytywać klucze API i tokeny OAuth | uprawnienia agents/<agentId>/agent/auth-profiles.json | tak |
fs.credentials_dir.perms_writable | critical | Inni mogą modyfikować stan parowania kanałów/poświadczeń | uprawnienia filesystem dla ~/.openclaw/credentials | tak |
fs.credentials_dir.perms_readable | warn | Inni mogą odczytywać stan poświadczeń kanałów | uprawnienia filesystem dla ~/.openclaw/credentials | tak |
fs.sessions_store.perms_readable | warn | Inni mogą odczytywać transkrypty/metadane sesji | uprawnienia store sesji | tak |
fs.log_file.perms_readable | warn | Inni mogą odczytywać zredagowane, ale nadal wrażliwe logi | uprawnienia pliku logów Gateway | tak |
fs.synced_dir | warn | Stan/konfiguracja w iCloud/Dropbox/Drive poszerza ekspozycję tokenów/transkryptów | przenieś konfigurację/stan poza zsynchronizowane foldery | nie |
gateway.bind_no_auth | critical | Zdalne powiązanie bez współdzielonego sekretu | gateway.bind, gateway.auth.* | nie |
gateway.loopback_no_auth | critical | local loopback za reverse proxy może stać się nieuwierzytelnione | gateway.auth.*, konfiguracja proxy | nie |
gateway.trusted_proxies_missing | warn | Nagłówki reverse proxy są obecne, ale niezaufane | gateway.trustedProxies | nie |
gateway.http.no_auth | warn/critical | HTTP API Gateway są osiągalne przy auth.mode="none" | gateway.auth.mode, gateway.http.endpoints.* | nie |
gateway.http.session_key_override_enabled | info | Wywołujący HTTP API mogą nadpisać sessionKey | gateway.http.allowSessionKeyOverride | nie |
gateway.tools_invoke_http.dangerous_allow | warn/critical | Ponownie włącza niebezpieczne narzędzia przez HTTP API | gateway.tools.allow | nie |
gateway.nodes.allow_commands_dangerous | warn/critical | Włącza polecenia Node o dużym wpływie (kamera/ekran/kontakty/kalendarz/SMS) | gateway.nodes.allowCommands | nie |
gateway.nodes.deny_commands_ineffective | warn | Wpisy deny przypominające wzorce nie pasują do tekstu shell ani grup | gateway.nodes.denyCommands | nie |
gateway.tailscale_funnel | critical | Ekspozycja na publiczny internet | gateway.tailscale.mode | nie |
gateway.tailscale_serve | info | Ekspozycja w tailnet jest włączona przez Serve | gateway.tailscale.mode | nie |
gateway.control_ui.allowed_origins_required | critical | Control UI poza loopback bez jawnej listy dozwolonych browser-origin | gateway.controlUi.allowedOrigins | nie |
gateway.control_ui.allowed_origins_wildcard | warn/critical | allowedOrigins=["*"] wyłącza allowlistę browser-origin | gateway.controlUi.allowedOrigins | nie |
gateway.control_ui.host_header_origin_fallback | warn/critical | Włącza fallback origin oparty na nagłówku Host (obniżenie ochrony przed DNS rebinding) | gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback | nie |
gateway.control_ui.insecure_auth | warn | Włączony przełącznik zgodności insecure-auth | gateway.controlUi.allowInsecureAuth | nie |
gateway.control_ui.device_auth_disabled | critical | Wyłącza sprawdzanie tożsamości urządzenia | gateway.controlUi.dangerouslyDisableDeviceAuth | nie |
gateway.real_ip_fallback_enabled | warn/critical | Zaufanie do fallbacku X-Real-IP może umożliwić spoofing źródłowego IP przy błędnej konfiguracji proxy | gateway.allowRealIpFallback, gateway.trustedProxies | nie |
gateway.token_too_short | warn | Krótki współdzielony token jest łatwiejszy do brute force | gateway.auth.token | nie |
gateway.auth_no_rate_limit | warn | Wystawione uwierzytelnianie bez rate limiting zwiększa ryzyko brute force | gateway.auth.rateLimit | nie |
gateway.trusted_proxy_auth | critical | Tożsamość proxy staje się teraz granicą uwierzytelniania | gateway.auth.mode="trusted-proxy" | nie |
gateway.trusted_proxy_no_proxies | critical | Uwierzytelnianie trusted-proxy bez zaufanych IP proxy jest niebezpieczne | gateway.trustedProxies | nie |
gateway.trusted_proxy_no_user_header | critical | Uwierzytelnianie trusted-proxy nie może bezpiecznie rozwiązać tożsamości użytkownika | gateway.auth.trustedProxy.userHeader | nie |
gateway.trusted_proxy_no_allowlist | warn | Uwierzytelnianie trusted-proxy akceptuje każdego uwierzytelnionego użytkownika upstream | gateway.auth.trustedProxy.allowUsers | nie |
checkId | Ważność | Dlaczego to ma znaczenie | Główny klucz/ścieżka fix | Auto-fix |
| ------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | -------- |
gateway.probe_auth_secretref_unavailable | warn | Deep probe nie mógł rozwiązać SecretRef uwierzytelniania w tej ścieżce polecenia | źródło uwierzytelniania deep-probe / dostępność SecretRef | nie |
gateway.probe_failed | warn/critical | Probe aktywnego Gateway nie powiódł się | osiągalność/uwierzytelnianie Gateway | nie |
discovery.mdns_full_mode | warn/critical | Tryb pełny mDNS anonsuje metadane cliPath/sshPort w sieci lokalnej | discovery.mdns.mode, gateway.bind | nie |
config.insecure_or_dangerous_flags | warn | Włączono dowolne niebezpieczne/niewystarczająco bezpieczne flagi debugowania | wiele kluczy (zobacz szczegóły wyniku) | nie |
config.secrets.gateway_password_in_config | warn | Hasło Gateway jest przechowywane bezpośrednio w konfiguracji | gateway.auth.password | nie |
config.secrets.hooks_token_in_config | warn | Token bearer hooka jest przechowywany bezpośrednio w konfiguracji | hooks.token | nie |
hooks.token_reuse_gateway_token | critical | Token ingress hooka odblokowuje też uwierzytelnianie Gateway | hooks.token, gateway.auth.token | nie |
hooks.token_too_short | warn | Łatwiejszy brute force na ingress hooka | hooks.token | nie |
hooks.default_session_key_unset | warn | Uruchomienia agenta przez hook rozpraszają się do generowanych sesji per-request | hooks.defaultSessionKey | nie |
hooks.allowed_agent_ids_unrestricted | warn/critical | Uwierzytelnieni wywołujący hooka mogą routować do dowolnego skonfigurowanego agenta | hooks.allowedAgentIds | nie |
hooks.request_session_key_enabled | warn/critical | Zewnętrzny wywołujący może wybrać sessionKey | hooks.allowRequestSessionKey | nie |
hooks.request_session_key_prefixes_missing | warn/critical | Brak ograniczenia kształtu zewnętrznych kluczy sesji | hooks.allowedSessionKeyPrefixes | nie |
hooks.path_root | critical | Ścieżka hooka to /, co ułatwia kolizje lub błędny routing ingressu | hooks.path | nie |
hooks.installs_unpinned_npm_specs | warn | Rekordy instalacji hooków nie są przypięte do niezmiennych specyfikacji npm | metadane instalacji hooków | nie |
hooks.installs_missing_integrity | warn | Rekordy instalacji hooków nie mają metadanych integralności | metadane instalacji hooków | nie |
hooks.installs_version_drift | warn | Rekordy instalacji hooków odbiegają od zainstalowanych pakietów | metadane instalacji hooków | nie |
logging.redact_off | warn | Wrażliwe wartości wyciekają do logów/statusu | logging.redactSensitive | tak |
browser.control_invalid_config | warn | Konfiguracja browser control jest nieprawidłowa przed runtime | browser.* | nie |
browser.control_no_auth | critical | Browser control jest wystawiony bez uwierzytelniania tokenem/hasłem | gateway.auth.* | nie |
browser.remote_cdp_http | warn | Zdalny CDP po zwykłym HTTP nie ma szyfrowania transportu | profil przeglądarki cdpUrl | nie |
browser.remote_cdp_private_host | warn | Zdalny CDP wskazuje prywatny/wewnętrzny host | profil przeglądarki cdpUrl, browser.ssrfPolicy.* | nie |
sandbox.docker_config_mode_off | warn | Konfiguracja Docker dla sandbox istnieje, ale jest nieaktywna | agents.*.sandbox.mode | nie |
sandbox.bind_mount_non_absolute | warn | Względne bind mounty mogą rozwiązywać się w nieprzewidywalny sposób | agents.*.sandbox.docker.binds[] | nie |
sandbox.dangerous_bind_mount | critical | Sandbox bind mount wskazuje zablokowane ścieżki systemowe, poświadczeń lub socketów Docker | agents.*.sandbox.docker.binds[] | nie |
sandbox.dangerous_network_mode | critical | Sieć Docker sandbox używa trybu host lub dołączenia do przestrzeni nazw container:* | agents.*.sandbox.docker.network | nie |
sandbox.dangerous_seccomp_profile | critical | Profil seccomp sandbox osłabia izolację kontenera | agents.*.sandbox.docker.securityOpt | nie |
sandbox.dangerous_apparmor_profile | critical | Profil AppArmor sandbox osłabia izolację kontenera | agents.*.sandbox.docker.securityOpt | nie |
sandbox.browser_cdp_bridge_unrestricted | warn | Bridge przeglądarki sandbox jest wystawiony bez ograniczenia zakresu źródeł | sandbox.browser.cdpSourceRange | nie |
sandbox.browser_container.non_loopback_publish | critical | Istniejący kontener przeglądarki publikuje CDP na interfejsach innych niż loopback | konfiguracja publikacji kontenera sandbox przeglądarki | nie |
sandbox.browser_container.hash_label_missing | warn | Istniejący kontener przeglądarki powstał przed obecnymi etykietami hash konfiguracji | openclaw sandbox recreate --browser --all | nie |
sandbox.browser_container.hash_epoch_stale | warn | Istniejący kontener przeglądarki powstał przed bieżącą epoką konfiguracji przeglądarki | openclaw sandbox recreate --browser --all | nie |
tools.exec.host_sandbox_no_sandbox_defaults | warn | exec host=sandbox zamyka się bezpiecznie, gdy sandbox jest wyłączony | tools.exec.host, agents.defaults.sandbox.mode | nie |
tools.exec.host_sandbox_no_sandbox_agents | warn | Per-agent exec host=sandbox zamyka się bezpiecznie, gdy sandbox jest wyłączony | agents.list[].tools.exec.host, agents.list[].sandbox.mode | nie |
tools.exec.security_full_configured | warn/critical | Host exec działa z security="full" | tools.exec.security, agents.list[].tools.exec.security | nie |
tools.exec.auto_allow_skills_enabled | warn | Zatwierdzenia exec domyślnie ufają binarkom Skills | ~/.openclaw/exec-approvals.json | nie |
tools.exec.allowlist_interpreter_without_strict_inline_eval | warn | Allowlisty interpreterów dopuszczają inline eval bez wymuszonej ponownej akceptacji | tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, allowlista zatwierdzeń exec | nie |
tools.exec.safe_bins_interpreter_unprofiled | warn | Binarki interpreterów/runtime w safeBins bez jawnych profili poszerzają ryzyko exec | tools.exec.safeBins, tools.exec.safeBinProfiles, agents.list[].tools.exec.* | nie |
tools.exec.safe_bins_broad_behavior | warn | Narzędzia o szerokim zachowaniu w safeBins osłabiają model zaufania stdin-filter niskiego ryzyka | tools.exec.safeBins, agents.list[].tools.exec.safeBins | nie |
tools.exec.safe_bin_trusted_dirs_risky | warn | safeBinTrustedDirs zawiera mutowalne lub ryzykowne katalogi | tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs | nie |
skills.workspace.symlink_escape | warn | Workspace skills/**/SKILL.md rozwiązuje się poza katalogiem głównym workspace (dryf łańcucha symlinków) | stan filesystem skills/** w workspace | nie |
plugins.extensions_no_allowlist | warn | Pluginy są zainstalowane bez jawnej allowlisty pluginów | plugins.allowlist | nie |
plugins.installs_unpinned_npm_specs | warn | Rekordy instalacji pluginów nie są przypięte do niezmiennych specyfikacji npm | metadane instalacji pluginów | nie |
plugins.installs_missing_integrity | warn | Rekordy instalacji pluginów nie mają metadanych integralności | metadane instalacji pluginów | nie |
plugins.installs_version_drift | warn | Rekordy instalacji pluginów odbiegają od zainstalowanych pakietów | metadane instalacji pluginów | nie |
plugins.code_safety | warn/critical | Skan kodu pluginu wykrył podejrzane lub niebezpieczne wzorce | kod pluginu / źródło instalacji | nie |
plugins.code_safety.entry_path | warn | Ścieżka entry pluginu wskazuje ukryte lokalizacje lub node_modules | entry w manifeście pluginu | nie |
plugins.code_safety.entry_escape | critical | Entry pluginu wychodzi poza katalog pluginu | entry w manifeście pluginu | nie |
plugins.code_safety.scan_failed | warn | Skan kodu pluginu nie mógł zostać ukończony | ścieżka pluginu / środowisko skanowania | nie |
skills.code_safety | warn/critical | Metadane instalatora/kod Skills zawierają podejrzane lub niebezpieczne wzorce | źródło instalacji skilla | nie |
skills.code_safety.scan_failed | warn | Skan kodu skilla nie mógł zostać ukończony | środowisko skanowania skilla | nie |
security.exposure.open_channels_with_exec | warn/critical | Współdzielone/publiczne pokoje mogą uzyskać dostęp do agentów z włączonym exec | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* | nie |
security.exposure.open_groups_with_elevated | critical | Otwarte grupy + podwyższone narzędzia tworzą ścieżki prompt injection o dużym wpływie | channels.*.groupPolicy, tools.elevated.* | nie |
security.exposure.open_groups_with_runtime_or_fs | critical/warn | Otwarte grupy mogą uzyskać dostęp do narzędzi poleceń/plików bez zabezpieczeń sandbox/workspace | channels.*.groupPolicy, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.mode | nie |
security.trust_model.multi_user_heuristic | warn | Konfiguracja wygląda na wieloużytkownikową, podczas gdy model zaufania Gateway to osobisty asystent | rozdziel granice zaufania lub zastosuj utwardzanie dla współdzielonych użytkowników (sandbox.mode, deny narzędzi/ograniczenie do workspace) | nie |
tools.profile_minimal_overridden | warn | Nadpisania agentów omijają globalny profil minimalny | agents.list[].tools.profile | nie |
plugins.tools_reachable_permissive_policy | warn | Narzędzia rozszerzeń są osiągalne w liberalnych kontekstach | tools.profile + allow/deny narzędzi | nie |
models.legacy | warn | Nadal skonfigurowane są starsze rodziny modeli | wybór modelu | nie |
models.weak_tier | warn | Skonfigurowane modele są poniżej aktualnie zalecanych poziomów | wybór modelu | nie |
models.small_params | critical/info | Małe modele + niebezpieczne powierzchnie narzędzi zwiększają ryzyko iniekcji | wybór modelu + polityka sandbox/narzędzi | nie |
summary.attack_surface | info | Zbiorcze podsumowanie stanu uwierzytelniania, kanałów, narzędzi i ekspozycji | wiele kluczy (zobacz szczegóły wyniku) | nie |