fs.state_dir.perms_world_writable | critique | D’autres utilisateurs/processus peuvent modifier tout l’état OpenClaw | permissions du système de fichiers sur ~/.openclaw | oui |
fs.state_dir.perms_group_writable | avertissement | Les utilisateurs du groupe peuvent modifier tout l’état OpenClaw | permissions du système de fichiers sur ~/.openclaw | oui |
fs.state_dir.perms_readable | avertissement | Le répertoire d’état est lisible par d’autres | permissions du système de fichiers sur ~/.openclaw | oui |
fs.state_dir.symlink | avertissement | La cible du répertoire d’état devient une autre frontière de confiance | agencement du système de fichiers du répertoire d’état | non |
fs.config.perms_writable | critique | D’autres peuvent modifier la politique/configuration d’authentification et d’outils | permissions du système de fichiers sur ~/.openclaw/openclaw.json | oui |
fs.config.symlink | avertissement | Les fichiers de configuration liés par symlink ne sont pas pris en charge pour les écritures et ajoutent une autre frontière de confiance | remplacer par un fichier de configuration normal ou pointer OPENCLAW_CONFIG_PATH vers le vrai fichier | non |
fs.config.perms_group_readable | avertissement | Les utilisateurs du groupe peuvent lire les jetons/paramètres de configuration | permissions du système de fichiers sur le fichier de configuration | oui |
fs.config.perms_world_readable | critique | La configuration peut exposer des jetons/paramètres | permissions du système de fichiers sur le fichier de configuration | oui |
fs.config_include.perms_writable | critique | Le fichier d’inclusion de configuration peut être modifié par d’autres | permissions du fichier d’inclusion référencé depuis openclaw.json | oui |
fs.config_include.perms_group_readable | avertissement | Les utilisateurs du groupe peuvent lire les secrets/paramètres inclus | permissions du fichier d’inclusion référencé depuis openclaw.json | oui |
fs.config_include.perms_world_readable | critique | Les secrets/paramètres inclus sont lisibles par tous | permissions du fichier d’inclusion référencé depuis openclaw.json | oui |
fs.auth_profiles.perms_writable | critique | D’autres peuvent injecter ou remplacer les identifiants de modèle stockés | permissions de agents/<agentId>/agent/auth-profiles.json | oui |
fs.auth_profiles.perms_readable | avertissement | D’autres peuvent lire les clés API et les jetons OAuth | permissions de agents/<agentId>/agent/auth-profiles.json | oui |
fs.credentials_dir.perms_writable | critique | D’autres peuvent modifier l’état d’appairage/d’identifiants du canal | permissions du système de fichiers sur ~/.openclaw/credentials | oui |
fs.credentials_dir.perms_readable | avertissement | D’autres peuvent lire l’état des identifiants du canal | permissions du système de fichiers sur ~/.openclaw/credentials | oui |
fs.sessions_store.perms_readable | avertissement | D’autres peuvent lire les transcriptions/métadonnées de session | permissions du magasin de sessions | oui |
fs.log_file.perms_readable | avertissement | D’autres peuvent lire des journaux expurgés mais toujours sensibles | permissions du fichier journal du Gateway | oui |
fs.synced_dir | avertissement | L’état/configuration dans iCloud/Dropbox/Drive élargit l’exposition des jetons/transcriptions | déplacer la configuration/l’état hors des dossiers synchronisés | non |
gateway.bind_no_auth | critique | Liaison distante sans secret partagé | gateway.bind, gateway.auth.* | non |
gateway.loopback_no_auth | critique | Une boucle locale derrière un proxy inverse peut ne plus être authentifiée | gateway.auth.*, configuration du proxy | non |
gateway.trusted_proxies_missing | avertissement | Des en-têtes de proxy inverse sont présents mais ne sont pas approuvés | gateway.trustedProxies | non |
gateway.http.no_auth | avertissement/critique | API HTTP du Gateway accessibles avec auth.mode="none" | gateway.auth.mode, gateway.http.endpoints.*, plugins.entries.admin-http-rpc | non |
gateway.http.session_key_override_enabled | information | Les appelants de l’API HTTP peuvent remplacer sessionKey | gateway.http.allowSessionKeyOverride | non |
gateway.tools_invoke_http.dangerous_allow | avertissement/critique | Réactive les outils dangereux via l’API HTTP pour les appelants propriétaire/admin | gateway.tools.allow | non |
gateway.nodes.allow_commands_dangerous | avertissement/critique | Active des commandes de nœud à fort impact (caméra/écran/contacts/calendrier/SMS) | gateway.nodes.allowCommands | non |
gateway.nodes.deny_commands_ineffective | avertissement | Les entrées de refus de type motif ne correspondent pas au texte shell ni aux groupes | gateway.nodes.denyCommands | non |
gateway.tailscale_funnel | critique | Exposition à l’Internet public | gateway.tailscale.mode | non |
gateway.tailscale_serve | information | L’exposition au Tailnet est activée via Serve | gateway.tailscale.mode | non |
gateway.control_ui.allowed_origins_required | critique | Control UI hors boucle locale sans liste d’autorisation explicite des origines navigateur | gateway.controlUi.allowedOrigins | non |
gateway.control_ui.allowed_origins_wildcard | avertissement/critique | allowedOrigins=["*"] désactive la liste d’autorisation des origines navigateur | gateway.controlUi.allowedOrigins | non |
gateway.control_ui.host_header_origin_fallback | avertissement/critique | Active le repli d’origine par en-tête Host (affaiblissement du durcissement contre le DNS rebinding) | gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback | non |
gateway.control_ui.insecure_auth | avertissement | Bascule de compatibilité d’authentification non sécurisée activée | gateway.controlUi.allowInsecureAuth | non |
gateway.control_ui.device_auth_disabled | critique | Désactive la vérification de l’identité de l’appareil | gateway.controlUi.dangerouslyDisableDeviceAuth | non |
gateway.real_ip_fallback_enabled | avertissement/critique | Faire confiance au repli X-Real-IP peut permettre l’usurpation d’adresse IP source via une mauvaise configuration du proxy | gateway.allowRealIpFallback, gateway.trustedProxies | non |
gateway.token_too_short | avertissement | Un jeton partagé court est plus facile à attaquer par force brute | gateway.auth.token | non |
gateway.auth_no_rate_limit | avertissement | Une authentification exposée sans limitation de débit augmente le risque d’attaque par force brute | gateway.auth.rateLimit | non |
gateway.trusted_proxy_auth | critique | L’identité du proxy devient maintenant la frontière d’authentification | gateway.auth.mode="trusted-proxy" | non |
gateway.trusted_proxy_no_proxies | critique | L’authentification par proxy approuvé sans IP de proxy approuvé est dangereuse | gateway.trustedProxies | non |
gateway.trusted_proxy_no_user_header | critique | L’authentification par proxy approuvé ne peut pas résoudre l’identité utilisateur en sécurité | gateway.auth.trustedProxy.userHeader | non |
gateway.trusted_proxy_no_allowlist | avertissement | L’authentification par proxy approuvé accepte n’importe quel utilisateur amont authentifié | gateway.auth.trustedProxy.allowUsers | non |
gateway.trusted_proxy_allow_loopback | warn | L’authentification par proxy de confiance accepte les sources de proxy loopback explicitement autorisées | gateway.auth.trustedProxy.allowLoopback | non |
gateway.probe_auth_secretref_unavailable | warn | La sonde approfondie n’a pas pu résoudre les SecretRefs d’authentification dans ce chemin de commande | source d’authentification de sonde approfondie / disponibilité des SecretRef | non |
gateway.probe_failed | warn/critical | La sonde Gateway en direct a échoué | accessibilité/authentification du gateway | non |
discovery.mdns_full_mode | warn/critical | Le mode complet mDNS annonce les métadonnées cliPath/sshPort sur le réseau local | discovery.mdns.mode, gateway.bind | non |
config.insecure_or_dangerous_flags | warn | Un indicateur de débogage non sécurisé/dangereux est activé | clé nommée dans le détail du constat | non |
security.audit.suppressions.active | info | La sortie d’audit comporte des suppressions configurées et peut être filtrée | security.audit.suppressions | non |
config.secrets.gateway_password_in_config | warn | Le mot de passe Gateway est stocké directement dans la configuration | gateway.auth.password | non |
config.secrets.hooks_token_in_config | warn | Le jeton bearer du hook est stocké directement dans la configuration | hooks.token | non |
hooks.token_reuse_gateway_token | critical | Le jeton d’entrée du hook déverrouille aussi l’authentification Gateway | hooks.token, gateway.auth.token, gateway.auth.password | non |
hooks.token_too_short | warn | Force brute facilitée sur l’entrée du hook | hooks.token | non |
hooks.default_session_key_unset | warn | Les exécutions de l’agent du hook se dispersent dans des sessions par requête générées | hooks.defaultSessionKey | non |
hooks.allowed_agent_ids_unrestricted | warn/critical | Les appelants de hook authentifiés peuvent router vers n’importe quel agent configuré | hooks.allowedAgentIds | non |
hooks.request_session_key_enabled | warn/critical | L’appelant externe peut choisir sessionKey | hooks.allowRequestSessionKey | non |
hooks.request_session_key_prefixes_missing | warn/critical | Aucune limite sur les formes de clés de session externes | hooks.allowedSessionKeyPrefixes | non |
hooks.path_root | critical | Le chemin du hook est /, ce qui facilite les collisions ou les erreurs de routage de l’entrée | hooks.path | non |
hooks.installs_unpinned_npm_specs | warn | Les enregistrements d’installation du hook ne sont pas épinglés sur des specs npm immuables | métadonnées d’installation du hook | non |
hooks.installs_missing_integrity | warn | Les enregistrements d’installation du hook n’ont pas de métadonnées d’intégrité | métadonnées d’installation du hook | non |
hooks.installs_version_drift | warn | Les enregistrements d’installation du hook dérivent des packages installés | métadonnées d’installation du hook | non |
logging.redact_off | warn | Les valeurs sensibles fuient dans les journaux/statuts | logging.redactSensitive | oui |
browser.control_invalid_config | warn | La configuration du contrôle du navigateur est invalide avant l’exécution | browser.* | non |
browser.control_no_auth | critical | Contrôle du navigateur exposé sans authentification par jeton/mot de passe | gateway.auth.* | non |
browser.remote_cdp_http | warn | Le CDP distant sur HTTP simple n’a pas de chiffrement de transport | cdpUrl du profil de navigateur | non |
browser.remote_cdp_private_host | warn | Le CDP distant cible un hôte privé/interne | cdpUrl du profil de navigateur, browser.ssrfPolicy.* | non |
sandbox.docker_config_mode_off | warn | Configuration Docker de sandbox présente mais inactive | agents.*.sandbox.mode | non |
sandbox.bind_mount_non_absolute | warn | Les montages bind relatifs peuvent se résoudre de manière imprévisible | agents.*.sandbox.docker.binds[] | non |
sandbox.dangerous_bind_mount | critical | Le montage bind de sandbox cible des chemins système, d’identifiants ou de socket Docker bloqués | agents.*.sandbox.docker.binds[] | non |
sandbox.dangerous_network_mode | critical | Le réseau Docker de sandbox utilise le mode host ou container:* de jonction d’espace de noms | agents.*.sandbox.docker.network | non |
sandbox.dangerous_seccomp_profile | critical | Le profil seccomp de sandbox affaiblit l’isolation du conteneur | agents.*.sandbox.docker.securityOpt | non |
sandbox.dangerous_apparmor_profile | critical | Le profil AppArmor de sandbox affaiblit l’isolation du conteneur | agents.*.sandbox.docker.securityOpt | non |
sandbox.browser_cdp_bridge_unrestricted | warn | Le pont de navigateur de sandbox est exposé sans restriction de plage source | sandbox.browser.cdpSourceRange | non |
sandbox.browser_container.non_loopback_publish | critical | Le conteneur de navigateur existant publie CDP sur des interfaces non loopback | configuration de publication du conteneur de sandbox de navigateur | non |
sandbox.browser_container.hash_label_missing | warn | Le conteneur de navigateur existant est antérieur aux étiquettes actuelles de hachage de configuration | openclaw sandbox recreate --browser --all | non |
sandbox.browser_container.hash_epoch_stale | warn | Le conteneur de navigateur existant est antérieur à l’époque de configuration actuelle du navigateur | openclaw sandbox recreate --browser --all | non |
tools.exec.host_sandbox_no_sandbox_defaults | warn | exec host=sandbox échoue de manière fermée lorsque la sandbox est désactivée | tools.exec.host, agents.defaults.sandbox.mode | non |
tools.exec.host_sandbox_no_sandbox_agents | warn | exec host=sandbox par agent échoue de manière fermée lorsque la sandbox est désactivée | agents.list[].tools.exec.host, agents.list[].sandbox.mode | non |
tools.exec.security_full_configured | warn/critical | L’exécution hôte s’exécute avec security="full" | tools.exec.security, agents.list[].tools.exec.security | non |
tools.exec.agent_skill_mcp_boundary_drift | warn | Des listes d’autorisation de skill d’agent sont présentes alors que l’exécution hôte peut atteindre les clients/registres MCP | agents.list[].tools.exec.*, isolation sandbox/OS, identifiants de serveur MCP | non |
tools.exec.fs_tools_disabled_but_exec_enabled | warn | La politique d’outil de système de fichiers ne rend pas l’exécution shell en lecture seule | tools.deny, agents.list[].tools.deny, agents.*.sandbox.workspaceAccess | non |
tools.exec.auto_allow_skills_enabled | warn | Les approbations d’exécution font implicitement confiance aux binaires de skill | fichier d’approbations de l’hôte | non |
tools.exec.allowlist_interpreter_without_strict_inline_eval | warn | Les listes d’autorisation d’interpréteurs permettent l’évaluation inline sans nouvelle approbation forcée | tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, liste d’autorisation d’approbations d’exécution | non |
tools.exec.safe_bins_interpreter_unprofiled | warn | Les binaires d’interpréteur/runtime dans safeBins sans profils explicites élargissent le risque d’exécution | tools.exec.safeBins, tools.exec.safeBinProfiles, agents.list[].tools.exec.* | non |
tools.exec.safe_bins_broad_behavior | warn | Les outils à comportement large dans safeBins affaiblissent le modèle de confiance à faible risque avec filtrage de stdin | tools.exec.safeBins, agents.list[].tools.exec.safeBins | non |
tools.exec.safe_bin_trusted_dirs_risky | warn | safeBinTrustedDirs inclut des répertoires modifiables ou risqués | tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs | no |
skills.workspace.symlink_escape | warn | Le fichier skills/**/SKILL.md de l’espace de travail se résout en dehors de la racine de l’espace de travail (dérive de chaîne de liens symboliques) | état du système de fichiers skills/** de l’espace de travail | no |
plugins.extensions_no_allowlist | warn | Les Plugins sont installés sans liste d’autorisation explicite des plugins | plugins.allowlist | no |
plugins.installs_unpinned_npm_specs | warn | Les enregistrements d’index de Plugin ne sont pas épinglés sur des spécifications npm immuables | métadonnées d’installation de plugin | no |
plugins.installs_missing_integrity | warn | Les enregistrements d’index de Plugin ne contiennent pas de métadonnées d’intégrité | métadonnées d’installation de plugin | no |
plugins.installs_version_drift | warn | Les enregistrements d’index de Plugin divergent des paquets installés | métadonnées d’installation de plugin | no |
plugins.code_safety | warn/critical | L’analyse du code de Plugin a détecté des motifs suspects ou dangereux | code du plugin / source d’installation | no |
plugins.code_safety.entry_path | warn | Le chemin d’entrée du Plugin pointe vers des emplacements cachés ou node_modules | entry du manifeste du plugin | no |
plugins.code_safety.entry_escape | critical | L’entrée du Plugin s’échappe du répertoire du plugin | entry du manifeste du plugin | no |
plugins.code_safety.scan_failed | warn | L’analyse du code de Plugin n’a pas pu se terminer | chemin du plugin / environnement d’analyse | no |
skills.code_safety | warn/critical | Les métadonnées/le code de l’installateur de Skill contiennent des motifs suspects ou dangereux | source d’installation de skill | no |
skills.code_safety.scan_failed | warn | L’analyse du code de Skill n’a pas pu se terminer | environnement d’analyse de skill | no |
security.exposure.open_channels_with_exec | warn/critical | Les salons partagés/publics peuvent atteindre des agents avec exec activé | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* | no |
security.exposure.open_groups_with_elevated | critical | Les DM/groupes ouverts + outils avec privilèges élevés créent des chemins d’injection de prompt à fort impact | chemins de politique DM de niveau supérieur ou imbriqués, remplacements de compte, channels.*.groupPolicy | no |
security.exposure.open_groups_with_runtime_or_fs | critical/warn | Les DM/groupes ouverts peuvent atteindre les outils de commande/fichier sans garde de sandbox/espace de travail | chemins de politique DM/groupe, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.mode | no |
security.trust_model.multi_user_heuristic | warn | La configuration semble multi-utilisateur alors que le modèle de confiance du Gateway est de type assistant personnel | limites de confiance séparées, ou durcissement pour utilisateur partagé (sandbox.mode, refus d’outils/périmètre d’espace de travail) | no |
tools.profile_minimal_overridden | warn | Les remplacements d’agent contournent le profil minimal global | agents.list[].tools.profile | no |
plugins.tools_reachable_permissive_policy | warn | Les outils d’extension sont accessibles dans des contextes permissifs | tools.profile + autorisation/refus d’outil | no |
models.legacy | warn | Des familles de modèles héritées sont encore configurées | sélection du modèle | no |
models.weak_tier | warn | Les modèles configurés sont en dessous des niveaux actuellement recommandés | sélection du modèle | no |
models.small_params | critical/info | Les petits modèles + surfaces d’outils non sécurisées augmentent le risque d’injection | choix du modèle + politique de sandbox/outils | no |
summary.attack_surface | info | Résumé global de la posture d’authentification, de canal, d’outil et d’exposition | plusieurs clés (voir les détails du constat) | no |