---
read_when:
    - Sie haben in der Ausgabe von `openclaw security audit` eine bestimmte `checkId` gesehen und möchten wissen, was sie bedeutet
    - Sie benötigen den Fix-Schlüssel/-Pfad für einen bestimmten Befund
    - Sie triagieren den Schweregrad über einen Security-Audit-Lauf hinweg
summary: Referenzkatalog der von `openclaw security audit` ausgegebenen `checkId`s
title: Security-Audit-Prüfungen
x-i18n:
    generated_at: "2026-04-26T11:30:46Z"
    model: gpt-5.4
    provider: openai
    source_hash: 7a5463bd1cec8382eb480cbbe1d8f8cceef0c15efc1f9124990df1e8f70b209a
    source_path: gateway/security/audit-checks.md
    workflow: 15
---

`openclaw security audit` gibt strukturierte Befunde aus, die durch `checkId` gekennzeichnet sind. Diese
Seite ist der Referenzkatalog für diese IDs. Für das allgemeine Bedrohungsmodell
und Hinweise zur Härtung siehe [Security](/de/gateway/security).

Aussagekräftige `checkId`-Werte, die Sie in realen Deployments am wahrscheinlichsten sehen werden (nicht
vollständig):

| `checkId`                                                     | Schweregrad   | Warum es wichtig ist                                                                 | Primärer Fix-Schlüssel/-Pfad                                                                          | Auto-Fix |
| ------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | -------- |
| `fs.state_dir.perms_world_writable`                           | kritisch      | Andere Benutzer/Prozesse können den vollständigen OpenClaw-Status ändern            | Dateisystemberechtigungen für `~/.openclaw`                                                           | ja       |
| `fs.state_dir.perms_group_writable`                           | warn          | Benutzer der Gruppe können den vollständigen OpenClaw-Status ändern                 | Dateisystemberechtigungen für `~/.openclaw`                                                           | ja       |
| `fs.state_dir.perms_readable`                                 | warn          | Das Statusverzeichnis ist für andere lesbar                                          | Dateisystemberechtigungen für `~/.openclaw`                                                           | ja       |
| `fs.state_dir.symlink`                                        | warn          | Das Ziel des Statusverzeichnisses wird zu einer weiteren Vertrauensgrenze           | Dateisystemlayout des Statusverzeichnisses                                                            | nein     |
| `fs.config.perms_writable`                                    | kritisch      | Andere können Auth-/Tool-Richtlinien/Konfiguration ändern                           | Dateisystemberechtigungen für `~/.openclaw/openclaw.json`                                             | ja       |
| `fs.config.symlink`                                           | warn          | Per Symlink 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 setzen | nein     |
| `fs.config.perms_group_readable`                              | warn          | Benutzer der Gruppe können Konfigurations-Tokens/-Einstellungen lesen               | Dateisystemberechtigungen für die Konfigurationsdatei                                                 | ja       |
| `fs.config.perms_world_readable`                              | kritisch      | Die Konfiguration kann Tokens/Einstellungen offenlegen                              | Dateisystemberechtigungen für die Konfigurationsdatei                                                 | ja       |
| `fs.config_include.perms_writable`                            | kritisch      | Eine eingebundene Konfigurationsdatei kann von anderen verändert werden             | Berechtigungen der Include-Datei, auf die aus `openclaw.json` verwiesen wird                         | ja       |
| `fs.config_include.perms_group_readable`                      | warn          | Benutzer der Gruppe können eingebundene Geheimnisse/Einstellungen lesen             | Berechtigungen der Include-Datei, auf die aus `openclaw.json` verwiesen wird                         | ja       |
| `fs.config_include.perms_world_readable`                      | kritisch      | Eingebundene Geheimnisse/Einstellungen sind weltweit lesbar                         | Berechtigungen der Include-Datei, auf die aus `openclaw.json` verwiesen wird                         | ja       |
| `fs.auth_profiles.perms_writable`                             | kritisch      | Andere können gespeicherte Modell-Zugangsdaten einschleusen oder ersetzen           | Berechtigungen von `agents/<agentId>/agent/auth-profiles.json`                                       | ja       |
| `fs.auth_profiles.perms_readable`                             | warn          | Andere können API-Keys und OAuth-Tokens lesen                                       | Berechtigungen von `agents/<agentId>/agent/auth-profiles.json`                                       | ja       |
| `fs.credentials_dir.perms_writable`                           | kritisch      | Andere können Pairing-/Zugangsdatenstatus von Kanälen ändern                        | Dateisystemberechtigungen für `~/.openclaw/credentials`                                              | ja       |
| `fs.credentials_dir.perms_readable`                           | warn          | Andere können den Zugangsdatenstatus von Kanälen lesen                              | Dateisystemberechtigungen für `~/.openclaw/credentials`                                              | ja       |
| `fs.sessions_store.perms_readable`                            | warn          | Andere können Sitzungs-Transkripte/-Metadaten lesen                                | Berechtigungen des Sitzungsspeichers                                                                  | ja       |
| `fs.log_file.perms_readable`                                  | warn          | Andere können redigierte, aber weiterhin sensible Logs lesen                        | Berechtigungen der Gateway-Logdatei                                                                   | ja       |
| `fs.synced_dir`                                               | warn          | Status/Konfiguration in iCloud/Dropbox/Drive erweitert die Offenlegung von Tokens/Transkripten | Konfiguration/Status aus synchronisierten Ordnern verschieben                                        | nein     |
| `gateway.bind_no_auth`                                        | kritisch      | Remote-Bind ohne gemeinsames Geheimnis                                              | `gateway.bind`, `gateway.auth.*`                                                                      | nein     |
| `gateway.loopback_no_auth`                                    | kritisch      | Ein per Reverse-Proxy bereitgestellter Loopback kann nicht authentifiziert werden   | `gateway.auth.*`, Proxy-Setup                                                                         | nein     |
| `gateway.trusted_proxies_missing`                             | warn          | Reverse-Proxy-Header sind vorhanden, aber nicht vertrauenswürdig                    | `gateway.trustedProxies`                                                                              | nein     |
| `gateway.http.no_auth`                                        | warn/kritisch | Gateway-HTTP-APIs sind mit `auth.mode="none"` erreichbar                            | `gateway.auth.mode`, `gateway.http.endpoints.*`                                                       | nein     |
| `gateway.http.session_key_override_enabled`                   | info          | Aufrufer der HTTP-API können `sessionKey` überschreiben                             | `gateway.http.allowSessionKeyOverride`                                                                | nein     |
| `gateway.tools_invoke_http.dangerous_allow`                   | warn/kritisch | Gefährliche Tools werden über die HTTP-API wieder aktiviert                         | `gateway.tools.allow`                                                                                 | nein     |
| `gateway.nodes.allow_commands_dangerous`                      | warn/kritisch | Aktiviert Node-Befehle mit hoher Auswirkung (Kamera/Bildschirm/Kontakte/Kalender/SMS) | `gateway.nodes.allowCommands`                                                                       | nein     |
| `gateway.nodes.deny_commands_ineffective`                     | warn          | Musterartige Deny-Einträge stimmen nicht mit Shell-Text oder Gruppen überein        | `gateway.nodes.denyCommands`                                                                          | nein     |
| `gateway.tailscale_funnel`                                    | kritisch      | Öffentliche Exposition im Internet                                                  | `gateway.tailscale.mode`                                                                              | nein     |
| `gateway.tailscale_serve`                                     | info          | Exposition im Tailnet ist über Serve aktiviert                                      | `gateway.tailscale.mode`                                                                              | nein     |
| `gateway.control_ui.allowed_origins_required`                 | kritisch      | Nicht-Loopback-Control UI ohne explizite Allowlist für Browser-Origins              | `gateway.controlUi.allowedOrigins`                                                                    | nein     |
| `gateway.control_ui.allowed_origins_wildcard`                 | warn/kritisch | `allowedOrigins=["*"]` deaktiviert die Allowlist für Browser-Origins                | `gateway.controlUi.allowedOrigins`                                                                    | nein     |
| `gateway.control_ui.host_header_origin_fallback`              | warn/kritisch | Aktiviert Host-Header-Origin-Fallback (Herabstufung der DNS-Rebinding-Härtung)      | `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback`                                          | nein     |
| `gateway.control_ui.insecure_auth`                            | warn          | Kompatibilitätsschalter für unsichere Authentifizierung aktiviert                   | `gateway.controlUi.allowInsecureAuth`                                                                 | nein     |
| `gateway.control_ui.device_auth_disabled`                     | kritisch      | Deaktiviert die Geräteidentitätsprüfung                                             | `gateway.controlUi.dangerouslyDisableDeviceAuth`                                                      | nein     |
| `gateway.real_ip_fallback_enabled`                            | warn/kritisch | Das Vertrauen in den Fallback `X-Real-IP` kann bei Proxy-Fehlkonfiguration Source-IP-Spoofing ermöglichen | `gateway.allowRealIpFallback`, `gateway.trustedProxies`                               | nein     |
| `gateway.token_too_short`                                     | warn          | Ein kurzes gemeinsames Token ist leichter per Brute Force anzugreifen               | `gateway.auth.token`                                                                                  | nein     |
| `gateway.auth_no_rate_limit`                                  | warn          | Offen zugängliche Authentifizierung ohne Ratenbegrenzung erhöht das Risiko von Brute Force | `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`                          | warn          | Trusted-Proxy-Authentifizierung akzeptiert jeden authentifizierten Upstream-Benutzer | `gateway.auth.trustedProxy.allowUsers`                                                                | nein     |
| `gateway.probe_auth_secretref_unavailable`                    | warn          | Die tiefe Probe konnte Auth-SecretRefs in diesem Befehlsweg nicht auflösen          | Auth-Quelle der tiefen Probe / Verfügbarkeit von SecretRef                                           | nein     |
| `gateway.probe_failed`                                        | warn/kritisch | Live-Gateway-Probe ist fehlgeschlagen                                                | Erreichbarkeit/Auth des Gateway                                                                      | nein     |
| `discovery.mdns_full_mode`                                    | warn/kritisch | Der vollständige mDNS-Modus kündigt Metadaten wie `cliPath`/`sshPort` im lokalen Netzwerk an | `discovery.mdns.mode`, `gateway.bind`                                                          | nein     |
| `config.insecure_or_dangerous_flags`                          | warn          | Unsichere/gefährliche Debug-Flags sind aktiviert                                     | mehrere Schlüssel (siehe Befunddetails)                                                              | nein     |
| `config.secrets.gateway_password_in_config`                   | warn          | Das Gateway-Passwort ist direkt in der Konfiguration gespeichert                     | `gateway.auth.password`                                                                              | nein     |
| `config.secrets.hooks_token_in_config`                        | warn          | Das Hook-Bearer-Token ist direkt in der Konfiguration gespeichert                    | `hooks.token`                                                                                        | nein     |
| `hooks.token_reuse_gateway_token`                             | kritisch      | Das Token für Hook-Ingress entsperrt auch die Gateway-Authentifizierung              | `hooks.token`, `gateway.auth.token`                                                                  | nein     |
| `hooks.token_too_short`                                       | warn          | Erleichtert Brute Force auf Hook-Ingress                                             | `hooks.token`                                                                                        | nein     |
| `hooks.default_session_key_unset`                             | warn          | Hook-Agentenläufe verzweigen in generierte Sitzungen pro Request                     | `hooks.defaultSessionKey`                                                                            | nein     |
| `hooks.allowed_agent_ids_unrestricted`                        | warn/kritisch | Authentifizierte Hook-Aufrufer können an jeden konfigurierten Agenten routen         | `hooks.allowedAgentIds`                                                                              | nein     |
| `hooks.request_session_key_enabled`                           | warn/kritisch | Externe Aufrufer können `sessionKey` auswählen                                       | `hooks.allowRequestSessionKey`                                                                       | nein     |
| `hooks.request_session_key_prefixes_missing`                  | warn/kritisch | Keine Begrenzung für externe Session-Key-Formen                                      | `hooks.allowedSessionKeyPrefixes`                                                                    | nein     |
| `hooks.path_root`                                             | kritisch      | Der Hook-Pfad ist `/`, wodurch Ingress leichter kollidieren oder fehlgeroutet werden kann | `hooks.path`                                                                                   | nein     |
| `hooks.installs_unpinned_npm_specs`                           | warn          | Hook-Installationsdatensätze sind nicht an unveränderliche npm-Spezifikationen gebunden | Hook-Installationsmetadaten                                                                      | nein     |
| `hooks.installs_missing_integrity`                            | warn          | Hook-Installationsdatensätzen fehlen Integritätsmetadaten                            | Hook-Installationsmetadaten                                                                          | nein     |
| `hooks.installs_version_drift`                                | warn          | Hook-Installationsdatensätze weichen von installierten Paketen ab                    | Hook-Installationsmetadaten                                                                          | nein     |
| `logging.redact_off`                                          | warn          | Sensible Werte gelangen in Logs/Status                                               | `logging.redactSensitive`                                                                            | ja       |
| `browser.control_invalid_config`                              | warn          | Die Browser-Control-Konfiguration ist vor der Laufzeit ungültig                      | `browser.*`                                                                                          | nein     |
| `browser.control_no_auth`                                     | kritisch      | Browser-Control ist ohne Token-/Passwort-Authentifizierung verfügbar                 | `gateway.auth.*`                                                                                     | nein     |
| `browser.remote_cdp_http`                                     | warn          | Remote-CDP über reines HTTP hat keine Transportverschlüsselung                       | Browser-Profil `cdpUrl`                                                                              | nein     |
| `browser.remote_cdp_private_host`                             | warn          | Remote-CDP zielt auf einen privaten/internen Host                                    | Browser-Profil `cdpUrl`, `browser.ssrfPolicy.*`                                                      | nein     |
| `sandbox.docker_config_mode_off`                              | warn          | Docker-Konfiguration der Sandbox ist vorhanden, aber inaktiv                         | `agents.*.sandbox.mode`                                                                              | nein     |
| `sandbox.bind_mount_non_absolute`                             | warn          | Relative Bind-Mounts können unvorhersehbar aufgelöst werden                          | `agents.*.sandbox.docker.binds[]`                                                                    | nein     |
| `sandbox.dangerous_bind_mount`                                | kritisch      | Der Bind-Mount der Sandbox zielt auf blockierte System-, Zugangsdaten- oder Docker-Socket-Pfade | `agents.*.sandbox.docker.binds[]`                                                            | nein     |
| `sandbox.dangerous_network_mode`                              | kritisch      | Das Docker-Netzwerk der Sandbox verwendet `host` oder den Namespace-Join-Modus `container:*` | `agents.*.sandbox.docker.network`                                                              | nein     |
| `sandbox.dangerous_seccomp_profile`                           | kritisch      | Das Seccomp-Profil der Sandbox schwächt die Container-Isolation                      | `agents.*.sandbox.docker.securityOpt`                                                                | nein     |
| `sandbox.dangerous_apparmor_profile`                          | kritisch      | Das AppArmor-Profil der Sandbox schwächt die Container-Isolation                     | `agents.*.sandbox.docker.securityOpt`                                                                | nein     |
| `sandbox.browser_cdp_bridge_unrestricted`                     | warn          | Die Browser-Bridge der Sandbox ist ohne Einschränkung des Quellbereichs verfügbar    | `sandbox.browser.cdpSourceRange`                                                                     | nein     |
| `sandbox.browser_container.non_loopback_publish`              | kritisch      | Ein vorhandener Browser-Container veröffentlicht CDP auf Nicht-Loopback-Schnittstellen | Publish-Konfiguration des Browser-Sandbox-Containers                                              | nein     |
| `sandbox.browser_container.hash_label_missing`                | warn          | Ein vorhandener Browser-Container stammt aus der Zeit vor den aktuellen Config-Hash-Labels | `openclaw sandbox recreate --browser --all`                                                    | nein     |
| `sandbox.browser_container.hash_epoch_stale`                  | warn          | Ein vorhandener Browser-Container stammt aus der Zeit vor der aktuellen Browser-Config-Epoche | `openclaw sandbox recreate --browser --all`                                                   | nein     |
| `tools.exec.host_sandbox_no_sandbox_defaults`                 | warn          | `exec host=sandbox` schlägt Fail-Closed fehl, wenn die Sandbox deaktiviert ist       | `tools.exec.host`, `agents.defaults.sandbox.mode`                                                    | nein     |
| `tools.exec.host_sandbox_no_sandbox_agents`                   | warn          | Agentenspezifisches `exec host=sandbox` schlägt Fail-Closed fehl, wenn die Sandbox deaktiviert ist | `agents.list[].tools.exec.host`, `agents.list[].sandbox.mode`                                  | nein     |
| `tools.exec.security_full_configured`                         | warn/kritisch | Host-Exec läuft mit `security="full"`                                                | `tools.exec.security`, `agents.list[].tools.exec.security`                                          | nein     |
| `tools.exec.auto_allow_skills_enabled`                        | warn          | Exec-Freigaben vertrauen Skills-Binaries implizit                                    | `~/.openclaw/exec-approvals.json`                                                                    | nein     |
| `tools.exec.allowlist_interpreter_without_strict_inline_eval` | warn          | Interpreter-Allowlists erlauben Inline-Eval ohne erzwungene erneute Freigabe         | `tools.exec.strictInlineEval`, `agents.list[].tools.exec.strictInlineEval`, Exec-Approvals-Allowlist | nein     |
| `tools.exec.safe_bins_interpreter_unprofiled`                 | warn          | Interpreter-/Runtime-Binaries 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`                         | warn          | Tools mit breitem Verhalten in `safeBins` schwächen das Low-Risk-Vertrauensmodell mit stdin-Filter | `tools.exec.safeBins`, `agents.list[].tools.exec.safeBins`                                     | nein     |
| `tools.exec.safe_bin_trusted_dirs_risky`                      | warn          | `safeBinTrustedDirs` enthält veränderbare oder riskante Verzeichnisse                | `tools.exec.safeBinTrustedDirs`, `agents.list[].tools.exec.safeBinTrustedDirs`                      | nein     |
| `skills.workspace.symlink_escape`                             | warn          | `skills/**/SKILL.md` im Workspace wird außerhalb der Workspace-Root aufgelöst (Drift in der Symlink-Kette) | Dateisystemzustand von `skills/**` im Workspace                                             | nein     |
| `plugins.extensions_no_allowlist`                             | warn          | Plugins sind ohne explizite Plugin-Allowlist installiert                             | `plugins.allowlist`                                                                                  | nein     |
| `plugins.installs_unpinned_npm_specs`                         | warn          | Plugin-Indexdatensätze sind nicht an unveränderliche npm-Spezifikationen gebunden    | Plugin-Installationsmetadaten                                                                        | nein     |
| `plugins.installs_missing_integrity`                          | warn          | Plugin-Indexdatensätzen fehlen 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/kritisch | Der Plugin-Code-Scan hat verdächtige oder gefährliche Muster gefunden                | Plugin-Code / Installationsquelle                                                                    | nein     |
| `plugins.code_safety.entry_path`                              | warn          | Der Entry-Pfad des Plugins zeigt in versteckte Orte oder `node_modules`              | Plugin-Manifest `entry`                                                                              | nein     |
| `plugins.code_safety.entry_escape`                            | kritisch      | Der Plugin-Entry verlässt das Plugin-Verzeichnis                                     | Plugin-Manifest `entry`                                                                              | nein     |
| `plugins.code_safety.scan_failed`                             | warn          | Der Plugin-Code-Scan konnte nicht abgeschlossen werden                               | Plugin-Pfad / Scan-Umgebung                                                                          | nein     |
| `skills.code_safety`                                          | warn/kritisch | Metadaten/Code des Skill-Installers enthalten verdächtige oder gefährliche Muster    | Installationsquelle des Skills                                                                       | nein     |
| `skills.code_safety.scan_failed`                              | warn          | Der Skill-Code-Scan konnte nicht abgeschlossen werden                                | Scan-Umgebung des Skills                                                                             | nein     |
| `security.exposure.open_channels_with_exec`                   | warn/kritisch | Gemeinsam genutzte/öffentliche Räume können Agenten mit aktiviertem Exec erreichen   | `channels.*.dmPolicy`, `channels.*.groupPolicy`, `tools.exec.*`, `agents.list[].tools.exec.*`       | nein     |
| `security.exposure.open_groups_with_elevated`                 | kritisch      | Offene Gruppen + Elevated-Tools schaffen Pfade für Prompt-Injection mit hoher Auswirkung | `channels.*.groupPolicy`, `tools.elevated.*`                                                    | nein     |
| `security.exposure.open_groups_with_runtime_or_fs`            | kritisch/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          | Die Konfiguration wirkt wie Multi-User, während das Vertrauensmodell des Gateway ein persönlicher Assistent ist | Vertrauensgrenzen aufteilen oder Härtung für gemeinsam genutzte Benutzer (`sandbox.mode`, Tool-Deny/Workspace-Scoping`) | nein     |
| `tools.profile_minimal_overridden`                            | warn          | Agenten-Überschreibungen umgehen das globale Minimalprofil                           | `agents.list[].tools.profile`                                                                        | nein     |
| `plugins.tools_reachable_permissive_policy`                   | warn          | Extension-Tools sind in permissiven Kontexten erreichbar                             | `tools.profile` + Tool-Allow/Deny                                                                    | nein     |
| `models.legacy`                                               | warn          | Veraltete Modellfamilien sind noch konfiguriert                                      | Modellauswahl                                                                                        | nein     |
| `models.weak_tier`                                            | warn          | Konfigurierte Modelle liegen unter den aktuell empfohlenen Tiers                     | Modellauswahl                                                                                        | nein     |
| `models.small_params`                                         | kritisch/info | Kleine Modelle + unsichere Tool-Oberflächen erhöhen das Risiko von Injection         | Modellwahl + Sandbox-/Tool-Richtlinie                                                                | nein     |
| `summary.attack_surface`                                      | info          | Zusammenfassende Übersicht über Auth-, Kanal-, Tool- und Expositionslage             | mehrere Schlüssel (siehe Befunddetails)                                                              | nein     |

## Verwandt

- [Security](/de/gateway/security)
- [Configuration](/de/gateway/configuration)
- [Trusted proxy auth](/de/gateway/trusted-proxy-auth)
