Gateway
Sicherheitsaudit-Prüfungen
openclaw security audit gibt strukturierte Befunde aus, die nach checkId gruppiert sind. Diese
Seite ist der Referenzkatalog für diese IDs. Das allgemeine Bedrohungsmodell
und Hinweise zur Härtung finden Sie unter Sicherheit.
Aussagekräftige checkId-Werte, die Sie in realen Bereitstellungen am ehesten sehen werden (nicht
vollständig):
checkId |
Schweregrad | Warum es wichtig ist | Primärer Korrekturschlüssel/-pfad | Auto-Fix |
|---|---|---|---|---|
fs.state_dir.perms_world_writable |
kritisch | Andere Benutzer/Prozesse können den gesamten OpenClaw-State ändern | Dateisystemberechtigungen für ~/.openclaw |
ja |
fs.state_dir.perms_group_writable |
Warnung | Gruppenbenutzer können den gesamten OpenClaw-State ändern | Dateisystemberechtigungen für ~/.openclaw |
ja |
fs.state_dir.perms_readable |
Warnung | Das State-Verzeichnis ist für andere lesbar | Dateisystemberechtigungen für ~/.openclaw |
ja |
fs.state_dir.symlink |
Warnung | Das Ziel des State-Verzeichnisses wird zu einer anderen Vertrauensgrenze | Dateisystemlayout des State-Verzeichnisses | nein |
fs.config.perms_writable |
kritisch | Andere können Authentifizierungs-/Tool-Richtlinien/Konfiguration ändern | Dateisystemberechtigungen für ~/.openclaw/openclaw.json |
ja |
fs.config.symlink |
Warnung | Über Symlinks eingebundene Konfigurationsdateien werden für Schreibvorgänge nicht unterstützt und fügen eine weitere Vertrauensgrenze hinzu | durch eine reguläre Konfigurationsdatei ersetzen oder OPENCLAW_CONFIG_PATH auf die echte Datei zeigen |
nein |
fs.config.perms_group_readable |
Warnung | Gruppenbenutzer können Konfigurationstoken/-einstellungen lesen | Dateisystemberechtigungen für die Konfigurationsdatei | ja |
fs.config.perms_world_readable |
kritisch | Die Konfiguration kann Token/Einstellungen offenlegen | Dateisystemberechtigungen für die Konfigurationsdatei | ja |
fs.config_include.perms_writable |
kritisch | Eine Include-Konfigurationsdatei kann von anderen geändert werden | Berechtigungen der Include-Datei, auf die aus openclaw.json verwiesen wird |
ja |
fs.config_include.perms_group_readable |
Warnung | Gruppenbenutzer können eingebundene Secrets/Einstellungen lesen | Berechtigungen der Include-Datei, auf die aus openclaw.json verwiesen wird |
ja |
fs.config_include.perms_world_readable |
kritisch | Eingebundene Secrets/Einstellungen sind für alle lesbar | Berechtigungen der Include-Datei, auf die aus openclaw.json verwiesen wird |
ja |
fs.auth_profiles.perms_writable |
kritisch | Andere können gespeicherte Modell-Anmeldedaten einschleusen oder ersetzen | Berechtigungen für agents/<agentId>/agent/auth-profiles.json |
ja |
fs.auth_profiles.perms_readable |
Warnung | Andere können API-Schlüssel und OAuth-Token lesen | Berechtigungen für agents/<agentId>/agent/auth-profiles.json |
ja |
fs.credentials_dir.perms_writable |
kritisch | Andere können den Pairing-/Anmeldedaten-State des Kanals ändern | Dateisystemberechtigungen für ~/.openclaw/credentials |
ja |
fs.credentials_dir.perms_readable |
Warnung | Andere können den Anmeldedaten-State des Kanals lesen | Dateisystemberechtigungen für ~/.openclaw/credentials |
ja |
fs.sessions_store.perms_readable |
Warnung | Andere können Sitzungstranskripte/-metadaten lesen | Berechtigungen des Sitzungsspeichers | ja |
fs.log_file.perms_readable |
Warnung | Andere können geschwärzte, aber weiterhin sensible Logs lesen | Berechtigungen der Gateway-Logdatei | ja |
fs.synced_dir |
Warnung | State/Konfiguration in iCloud/Dropbox/Drive erweitert die Offenlegung von Token/Transkripten | Konfiguration/State aus synchronisierten Ordnern verschieben | nein |
gateway.bind_no_auth |
kritisch | Remote-Bind ohne gemeinsames Secret | gateway.bind, gateway.auth.* |
nein |
gateway.loopback_no_auth |
kritisch | Per Reverse Proxy bereitgestellter local loopback kann unauthentifiziert werden | gateway.auth.*, Proxy-Einrichtung |
nein |
gateway.trusted_proxies_missing |
Warnung | Reverse-Proxy-Header sind vorhanden, aber nicht vertrauenswürdig | gateway.trustedProxies |
nein |
gateway.http.no_auth |
Warnung/kritisch | Gateway-HTTP-APIs sind mit auth.mode="none" erreichbar |
gateway.auth.mode, gateway.http.endpoints.* |
nein |
gateway.http.session_key_override_enabled |
Info | HTTP-API-Aufrufer können sessionKey überschreiben |
gateway.http.allowSessionKeyOverride |
nein |
gateway.tools_invoke_http.dangerous_allow |
Warnung/kritisch | Aktiviert gefährliche Tools über die HTTP-API erneut | gateway.tools.allow |
nein |
gateway.nodes.allow_commands_dangerous |
Warnung/kritisch | Aktiviert einflussreiche Node-Befehle (Kamera/Bildschirm/Kontakte/Kalender/SMS) | gateway.nodes.allowCommands |
nein |
gateway.nodes.deny_commands_ineffective |
Warnung | Musterartige Deny-Einträge passen nicht auf Shell-Text oder Gruppen | gateway.nodes.denyCommands |
nein |
gateway.tailscale_funnel |
kritisch | Offenlegung im öffentlichen Internet | gateway.tailscale.mode |
nein |
gateway.tailscale_serve |
Info | Tailnet-Offenlegung ist über Serve aktiviert | gateway.tailscale.mode |
nein |
gateway.control_ui.allowed_origins_required |
kritisch | Nicht-local-loopback-Control UI ohne explizite Allowlist für Browser-Origins | gateway.controlUi.allowedOrigins |
nein |
gateway.control_ui.allowed_origins_wildcard |
Warnung/kritisch | allowedOrigins=["*"] deaktiviert die Allowlist für Browser-Origins |
gateway.controlUi.allowedOrigins |
nein |
gateway.control_ui.host_header_origin_fallback |
Warnung/kritisch | Aktiviert den Host-Header-Origin-Fallback (Abschwächung der Härtung gegen DNS-Rebinding) | gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback |
nein |
gateway.control_ui.insecure_auth |
Warnung | Kompatibilitätsschalter für unsichere Authentifizierung aktiviert | gateway.controlUi.allowInsecureAuth |
nein |
gateway.control_ui.device_auth_disabled |
kritisch | Deaktiviert die Prüfung der Geräteidentität | gateway.controlUi.dangerouslyDisableDeviceAuth |
nein |
gateway.real_ip_fallback_enabled |
Warnung/kritisch | Vertrauen in den X-Real-IP-Fallback kann Source-IP-Spoofing durch Proxy-Fehlkonfiguration ermöglichen |
gateway.allowRealIpFallback, gateway.trustedProxies |
nein |
gateway.token_too_short |
Warnung | Kurze gemeinsame Token sind leichter per Brute Force anzugreifen | gateway.auth.token |
nein |
gateway.auth_no_rate_limit |
Warnung | Offenliegende Authentifizierung ohne Rate Limiting erhöht das Brute-Force-Risiko | gateway.auth.rateLimit |
nein |
gateway.trusted_proxy_auth |
kritisch | Die Proxy-Identität wird nun zur Authentifizierungsgrenze | gateway.auth.mode="trusted-proxy" |
nein |
gateway.trusted_proxy_no_proxies |
kritisch | Trusted-Proxy-Authentifizierung ohne vertrauenswürdige Proxy-IPs ist unsicher | gateway.trustedProxies |
nein |
gateway.trusted_proxy_no_user_header |
kritisch | Trusted-Proxy-Authentifizierung kann die Benutzeridentität nicht sicher auflösen | gateway.auth.trustedProxy.userHeader |
nein |
gateway.trusted_proxy_no_allowlist |
Warnung | Trusted-Proxy-Authentifizierung akzeptiert jeden authentifizierten Upstream-Benutzer | gateway.auth.trustedProxy.allowUsers |
nein |
gateway.trusted_proxy_allow_loopback |
Warnung | Trusted-Proxy-Auth akzeptiert explizit erlaubte Loopback-Proxy-Quellen | gateway.auth.trustedProxy.allowLoopback |
nein |
gateway.probe_auth_secretref_unavailable |
Warnung | Tiefenprüfung konnte Auth-SecretRefs in diesem Befehlspfad nicht auflösen | Auth-Quelle der Tiefenprüfung / SecretRef-Verfügbarkeit | nein |
gateway.probe_failed |
Warnung/kritisch | Live-Gateway-Prüfung fehlgeschlagen | Gateway-Erreichbarkeit/Auth | nein |
discovery.mdns_full_mode |
Warnung/kritisch | mDNS-Vollmodus kündigt cliPath/sshPort-Metadaten im lokalen Netzwerk an |
discovery.mdns.mode, gateway.bind |
nein |
config.insecure_or_dangerous_flags |
Warnung | Unsichere/gefährliche Debug-Flags sind aktiviert | mehrere Schlüssel (siehe Befunddetails) | nein |
config.secrets.gateway_password_in_config |
Warnung | Gateway-Passwort wird direkt in der Konfiguration gespeichert | gateway.auth.password |
nein |
config.secrets.hooks_token_in_config |
Warnung | Hook-Bearer-Token wird direkt in der Konfiguration gespeichert | hooks.token |
nein |
hooks.token_reuse_gateway_token |
kritisch | Hook-Ingress-Token entsperrt auch Gateway-Auth | hooks.token, gateway.auth.token |
nein |
hooks.token_too_short |
Warnung | Leichtere Brute-Force-Angriffe auf Hook-Ingress | hooks.token |
nein |
hooks.default_session_key_unset |
Warnung | Hook-Agent-Läufe fächern in generierte sitzungsbezogene Sitzungen pro Anfrage auf | hooks.defaultSessionKey |
nein |
hooks.allowed_agent_ids_unrestricted |
Warnung/kritisch | Authentifizierte Hook-Aufrufer können an jeden konfigurierten Agent weiterleiten | hooks.allowedAgentIds |
nein |
hooks.request_session_key_enabled |
Warnung/kritisch | Externer Aufrufer kann sessionKey wählen | hooks.allowRequestSessionKey |
nein |
hooks.request_session_key_prefixes_missing |
Warnung/kritisch | Keine Begrenzung externer Sitzungsschlüsselformen | hooks.allowedSessionKeyPrefixes |
nein |
hooks.path_root |
kritisch | Hook-Pfad ist /, wodurch Ingress leichter kollidieren oder fehlgeleitet werden kann |
hooks.path |
nein |
hooks.installs_unpinned_npm_specs |
Warnung | Hook-Installationsdatensätze sind nicht an unveränderliche npm-Spezifikationen gepinnt | Hook-Installationsmetadaten | nein |
hooks.installs_missing_integrity |
Warnung | Hook-Installationsdatensätze haben keine Integritätsmetadaten | Hook-Installationsmetadaten | nein |
hooks.installs_version_drift |
Warnung | Hook-Installationsdatensätze weichen von installierten Paketen ab | Hook-Installationsmetadaten | nein |
logging.redact_off |
Warnung | Sensible Werte gelangen in Logs/Status | logging.redactSensitive |
ja |
browser.control_invalid_config |
Warnung | Browser-Control-Konfiguration ist vor der Laufzeit ungültig | browser.* |
nein |
browser.control_no_auth |
kritisch | Browser-Control ohne Token-/Passwort-Auth offengelegt | gateway.auth.* |
nein |
browser.remote_cdp_http |
Warnung | Remote-CDP über unverschlüsseltes HTTP hat keine Transportverschlüsselung | Browserprofil cdpUrl |
nein |
browser.remote_cdp_private_host |
Warnung | Remote-CDP zielt auf einen privaten/internen Host | Browserprofil cdpUrl, browser.ssrfPolicy.* |
nein |
sandbox.docker_config_mode_off |
Warnung | Sandbox-Docker-Konfiguration vorhanden, aber inaktiv | agents.*.sandbox.mode |
nein |
sandbox.bind_mount_non_absolute |
Warnung | Relative Bind-Mounts können unvorhersehbar aufgelöst werden | agents.*.sandbox.docker.binds[] |
nein |
sandbox.dangerous_bind_mount |
kritisch | Sandbox-Bind-Mount zielt auf blockierte System-, Anmeldeinformations- oder Docker-Socket-Pfade | agents.*.sandbox.docker.binds[] |
nein |
sandbox.dangerous_network_mode |
kritisch | Sandbox-Docker-Netzwerk verwendet host- oder container:*-Namespace-Join-Modus |
agents.*.sandbox.docker.network |
nein |
sandbox.dangerous_seccomp_profile |
kritisch | Sandbox-seccomp-Profil schwächt Container-Isolation | agents.*.sandbox.docker.securityOpt |
nein |
sandbox.dangerous_apparmor_profile |
kritisch | Sandbox-AppArmor-Profil schwächt Container-Isolation | agents.*.sandbox.docker.securityOpt |
nein |
sandbox.browser_cdp_bridge_unrestricted |
Warnung | Sandbox-Browser-Bridge wird ohne Quellbereichsbeschränkung offengelegt | sandbox.browser.cdpSourceRange |
nein |
sandbox.browser_container.non_loopback_publish |
kritisch | Vorhandener Browser-Container veröffentlicht CDP auf Nicht-Loopback-Schnittstellen | Veröffentlichungs-Konfiguration des Browser-Sandbox-Containers | nein |
sandbox.browser_container.hash_label_missing |
Warnung | Vorhandener Browser-Container stammt aus der Zeit vor aktuellen Config-Hash-Labels | openclaw sandbox recreate --browser --all |
nein |
sandbox.browser_container.hash_epoch_stale |
Warnung | Vorhandener Browser-Container stammt aus der Zeit vor der aktuellen Browser-Konfigurations-Epoche | openclaw sandbox recreate --browser --all |
nein |
tools.exec.host_sandbox_no_sandbox_defaults |
Warnung | exec host=sandbox schlägt geschlossen fehl, wenn Sandbox deaktiviert ist |
tools.exec.host, agents.defaults.sandbox.mode |
nein |
tools.exec.host_sandbox_no_sandbox_agents |
Warnung | Agent-spezifisches exec host=sandbox schlägt geschlossen fehl, wenn Sandbox deaktiviert ist |
agents.list[].tools.exec.host, agents.list[].sandbox.mode |
nein |
tools.exec.security_full_configured |
Warnung/kritisch | Host-Exec läuft mit security="full" |
tools.exec.security, agents.list[].tools.exec.security |
nein |
tools.exec.auto_allow_skills_enabled |
Warnung | Exec-Genehmigungen vertrauen Skill-Bins implizit | ~/.openclaw/exec-approvals.json |
nein |
tools.exec.allowlist_interpreter_without_strict_inline_eval |
Warnung | Interpreter-Allowlists erlauben Inline-Eval ohne erzwungene erneute Genehmigung | tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, Exec-Genehmigungen-Allowlist |
nein |
tools.exec.safe_bins_interpreter_unprofiled |
Warnung | Interpreter-/Runtime-Bins in safeBins ohne explizite Profile erweitern das Exec-Risiko |
tools.exec.safeBins, tools.exec.safeBinProfiles, agents.list[].tools.exec.* |
nein |
tools.exec.safe_bins_broad_behavior |
Warnung | Werkzeuge mit breitem Verhalten in safeBins schwächen das Low-Risk-stdin-Filter-Vertrauensmodell |
tools.exec.safeBins, agents.list[].tools.exec.safeBins |
nein |
tools.exec.safe_bin_trusted_dirs_risky |
Warnung | safeBinTrustedDirs enthält veränderbare oder riskante Verzeichnisse |
tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs |
nein |
skills.workspace.symlink_escape |
Warnung | Workspace-skills/**/SKILL.md wird außerhalb des Workspace-Stammverzeichnisses aufgelöst (Symlink-Ketten-Abweichung) |
Dateisystemzustand von Workspace-skills/** |
nein |
plugins.extensions_no_allowlist |
Warnung | Plugins werden ohne explizite Plugin-Allowlist installiert | plugins.allowlist |
nein |
plugins.installs_unpinned_npm_specs |
warn | Plugin-Indexdatensätze sind nicht an unveränderliche npm-Spezifikationen gepinnt | Plugin-Installationsmetadaten | nein |
plugins.installs_missing_integrity |
warn | Plugin-Indexdatensätze enthalten keine Integritätsmetadaten | Plugin-Installationsmetadaten | nein |
plugins.installs_version_drift |
warn | Plugin-Indexdatensätze weichen von installierten Paketen ab | Plugin-Installationsmetadaten | nein |
plugins.code_safety |
warn/critical | Plugin-Code-Scan hat verdächtige oder gefährliche Muster gefunden | Plugin-Code / Installationsquelle | nein |
plugins.code_safety.entry_path |
warn | Plugin-Einstiegspfad verweist auf versteckte Orte oder node_modules-Orte |
Plugin-Manifest entry |
nein |
plugins.code_safety.entry_escape |
critical | Plugin-Einstieg verlässt das Plugin-Verzeichnis | Plugin-Manifest entry |
nein |
plugins.code_safety.scan_failed |
warn | Plugin-Code-Scan konnte nicht abgeschlossen werden | Plugin-Pfad / Scan-Umgebung | nein |
skills.code_safety |
warn/critical | Skill-Installer-Metadaten/-Code enthält verdächtige oder gefährliche Muster | Skill-Installationsquelle | nein |
skills.code_safety.scan_failed |
warn | Skill-Code-Scan konnte nicht abgeschlossen werden | Skill-Scan-Umgebung | nein |
security.exposure.open_channels_with_exec |
warn/critical | Geteilte/öffentliche Räume können Agents mit aktivierter Exec-Funktion erreichen | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* |
nein |
security.exposure.open_groups_with_elevated |
critical | Offene Gruppen + erhöhte Tools erzeugen Prompt-Injection-Pfade mit großer Wirkung | channels.*.groupPolicy, tools.elevated.* |
nein |
security.exposure.open_groups_with_runtime_or_fs |
critical/warn | Offene Gruppen können Befehls-/Datei-Tools ohne Sandbox-/Workspace-Schutz erreichen | channels.*.groupPolicy, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.mode |
nein |
security.trust_model.multi_user_heuristic |
warn | Konfiguration wirkt wie Mehrbenutzerbetrieb, während das Gateway-Vertrauensmodell persönlicher Assistent ist | getrennte Vertrauensgrenzen oder Härtung für geteilte Benutzer (sandbox.mode, Tool-Verweigerung/Workspace-Scoping) |
nein |
tools.profile_minimal_overridden |
warn | Agent-Overrides umgehen das globale Minimalprofil | agents.list[].tools.profile |
nein |
plugins.tools_reachable_permissive_policy |
warn | Plugin-Tools sind in permissiven Kontexten erreichbar | tools.profile + Tool-Zulassen/Verweigern |
nein |
models.legacy |
warn | Legacy-Modellfamilien sind weiterhin konfiguriert | Modellauswahl | nein |
models.weak_tier |
warn | Konfigurierte Modelle liegen unter den aktuell empfohlenen Tiers | Modellauswahl | nein |
models.small_params |
critical/info | Kleine Modelle + unsichere Tool-Oberflächen erhöhen das Injection-Risiko | Modellauswahl + Sandbox-/Tool-Richtlinie | nein |
summary.attack_surface |
info | Zusammenfassende Übersicht über Authentifizierungs-, Kanal-, Tool- und Expositionslage | mehrere Schlüssel (siehe Befunddetails) | nein |