fs.state_dir.perms_world_writable | critique | D’autres utilisateurs/processus peuvent modifier l’intégralité de l’état d’OpenClaw | permissions du système de fichiers sur ~/.openclaw | oui |
fs.state_dir.perms_group_writable | avertissement | Les utilisateurs du groupe peuvent modifier l’intégralité de l’état d’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 utilisateurs | 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 | organisation du répertoire d’état dans le système de fichiers | non |
fs.config.perms_writable | critique | D’autres utilisateurs peuvent modifier l’authentification, la politique des outils ou la configuration | permissions du système de fichiers sur ~/.openclaw/openclaw.json | oui |
fs.config.symlink | avertissement | Les fichiers de configuration liés symboliquement ne prennent pas en charge les écritures et ajoutent une autre frontière de confiance | remplacer par un fichier de configuration ordinaire ou faire pointer OPENCLAW_CONFIG_PATH vers le fichier réel | non |
fs.config.perms_group_readable | avertissement | Les utilisateurs du groupe peuvent lire les jetons et 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 et paramètres | permissions du système de fichiers sur le fichier de configuration | oui |
fs.config_include.perms_writable | critique | Le fichier inclus dans la configuration peut être modifié par d’autres utilisateurs | permissions du fichier inclus référencé depuis openclaw.json | oui |
fs.config_include.perms_group_readable | avertissement | Les utilisateurs du groupe peuvent lire les secrets et paramètres inclus | permissions du fichier inclus référencé depuis openclaw.json | oui |
fs.config_include.perms_world_readable | critique | Les secrets et paramètres inclus sont lisibles par tous | permissions du fichier inclus référencé depuis openclaw.json | oui |
fs.auth_profiles.perms_writable | critique | D’autres utilisateurs 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 utilisateurs peuvent lire les clés d’API et les jetons OAuth | permissions de agents/<agentId>/agent/auth-profiles.json | oui |
fs.credentials_dir.perms_writable | critique | D’autres utilisateurs peuvent modifier l’état d’association ou des identifiants des canaux | permissions du système de fichiers sur ~/.openclaw/credentials | oui |
fs.credentials_dir.perms_readable | avertissement | D’autres utilisateurs peuvent lire l’état des identifiants des canaux | permissions du système de fichiers sur ~/.openclaw/credentials | oui |
fs.sessions_store.perms_readable | avertissement | D’autres utilisateurs peuvent lire les transcriptions et métadonnées des sessions | permissions du stockage des sessions | oui |
fs.log_file.perms_readable | avertissement | D’autres utilisateurs peuvent lire des journaux expurgés, mais toujours sensibles | permissions du fichier journal du Gateway | oui |
fs.synced_dir | avertissement | Le stockage de l’état ou de la configuration dans iCloud/Dropbox/Drive élargit l’exposition des jetons et transcriptions | déplacer la configuration et l’état hors des dossiers synchronisés | non |
gateway.bind_no_auth | critique | Écoute distante sans secret partagé | gateway.bind, gateway.auth.* | non |
gateway.loopback_no_auth | critique | Une interface local loopback derrière un proxy inverse peut devenir non 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 | Les API HTTP du Gateway sont 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étaires ou administrateurs | gateway.tools.allow | non |
gateway.nodes.allow_commands_dangerous | avertissement/critique | Active des commandes Node à fort impact (saisie sur le bureau/caméra/écran/contacts/calendrier/SMS) | gateway.nodes.allowCommands | non |
gateway.nodes.deny_commands_ineffective | avertissement | Les entrées de refus semblables à des motifs ne correspondent ni au texte de l’interpréteur de commandes 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 réseau Tailscale est activée via Serve | gateway.tailscale.mode | non |
gateway.control_ui.allowed_origins_required | critique | Interface de contrôle hors local loopback sans liste explicite des origines de navigateur autorisées | gateway.controlUi.allowedOrigins | non |
gateway.control_ui.allowed_origins_wildcard | avertissement/critique | allowedOrigins=["*"] désactive la liste des origines de navigateur autorisées | gateway.controlUi.allowedOrigins | non |
gateway.control_ui.host_header_origin_fallback | avertissement/critique | Active le repli de l’origine sur l’en-tête Host, ce qui réduit la protection contre le rebinding DNS | gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback | non |
gateway.control_ui.insecure_auth | avertissement | Le commutateur de compatibilité avec l’authentification non sécurisée est activé | 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 sur X-Real-IP peut permettre l’usurpation de l’adresse IP source en cas de mauvaise configuration du proxy | gateway.allowRealIpFallback, gateway.trustedProxies | non |
gateway.token_too_short | avertissement | Un jeton partagé court est plus facile à trouver 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é fournie par le proxy devient désormais la frontière d’authentification | gateway.auth.mode="trusted-proxy" | non |
gateway.trusted_proxy_no_proxies | critique | L’authentification par proxy approuvé sans adresses IP de proxy approuvées n’est pas sécurisée | gateway.trustedProxies | non |
gateway.trusted_proxy_no_user_header | critique | L’authentification par proxy de confiance ne peut pas déterminer l’identité de l’utilisateur de manière sûre | gateway.auth.trustedProxy.userHeader | non |
gateway.trusted_proxy_no_allowlist | avertissement | L’authentification par proxy de confiance accepte tout utilisateur authentifié en amont | gateway.auth.trustedProxy.allowUsers | non |
gateway.trusted_proxy_allow_loopback | avertissement | L’authentification par proxy de confiance accepte les sources de proxy local loopback explicitement autorisées | gateway.auth.trustedProxy.allowLoopback | non |
gateway.probe_auth_secretref_unavailable | avertissement | La sonde approfondie n’a pas pu résoudre les SecretRefs d’authentification dans ce chemin de commande | source d’authentification de la sonde approfondie / disponibilité des SecretRefs | non |
gateway.probe_failed | avertissement | La sonde en direct du Gateway a échoué (--deep uniquement) | accessibilité/authentification du Gateway | non |
discovery.mdns_full_mode | avertissement/critique | Le mode mDNS complet annonce les métadonnées cliPath/sshPort sur le réseau local | discovery.mdns.mode, gateway.bind | non |
config.insecure_or_dangerous_flags | avertissement | Un indicateur de débogage non sécurisé ou dangereux est activé | clé indiquée dans les détails du constat | non |
security.audit.suppressions.active | information | La sortie de l’audit comporte des suppressions configurées et peut être filtrée | security.audit.suppressions | non |
config.secrets.gateway_password_in_config | avertissement | Le mot de passe du Gateway est stocké directement dans la configuration | gateway.auth.password | non |
config.secrets.hooks_token_in_config | avertissement | Le jeton porteur du hook est stocké directement dans la configuration | hooks.token | non |
hooks.token_reuse_gateway_token | critique | Le jeton d’entrée du hook déverrouille également l’authentification du Gateway | hooks.token, gateway.auth.token, gateway.auth.password | non |
hooks.token_too_short | avertissement | Facilite les attaques par force brute sur l’entrée du hook | hooks.token | non |
hooks.default_session_key_unset | avertissement | Les exécutions de l’agent par hook se répartissent dans des sessions générées pour chaque requête | hooks.defaultSessionKey | non |
hooks.allowed_agent_ids_unrestricted | avertissement/critique | Les appelants de hooks authentifiés peuvent acheminer les requêtes vers n’importe quel agent configuré | hooks.allowedAgentIds | non |
hooks.request_session_key_enabled | avertissement/critique | L’appelant externe peut choisir la valeur de sessionKey | hooks.allowRequestSessionKey | non |
hooks.request_session_key_prefixes_missing | avertissement/critique | La forme des clés de session externes n’est soumise à aucune restriction | hooks.allowedSessionKeyPrefixes | non |
hooks.path_root | critique | Le chemin du hook est /, ce qui facilite les collisions ou les erreurs d’acheminement à l’entrée | hooks.path | non |
hooks.installs_unpinned_npm_specs | avertissement | Les enregistrements d’installation des hooks ne sont pas épinglés à des spécifications npm immuables | métadonnées d’installation des hooks | non |
hooks.installs_missing_integrity | avertissement | Les enregistrements d’installation des hooks ne contiennent pas de métadonnées d’intégrité | métadonnées d’installation des hooks | non |
hooks.installs_version_drift | avertissement | Les enregistrements d’installation des hooks divergent des paquets installés | métadonnées d’installation des hooks | non |
logging.redact_off | avertissement | Des valeurs sensibles sont divulguées dans les journaux ou l’état | logging.redactSensitive | oui |
browser.control_invalid_config | avertissement | La configuration du contrôle du navigateur est invalide avant l’exécution | browser.* | non |
browser.control_no_auth | critique | Le contrôle du navigateur est exposé sans authentification par jeton ou mot de passe | gateway.auth.* | non |
browser.remote_cdp_http | avertissement | Le protocole CDP distant via HTTP non chiffré ne bénéficie d’aucun chiffrement de transport | cdpUrl du profil de navigateur | non |
browser.remote_cdp_private_host | avertissement | Le protocole CDP distant cible un hôte privé ou interne | cdpUrl du profil de navigateur, browser.ssrfPolicy.* | non |
sandbox.docker_config_mode_off | avertissement | Une configuration Docker de la sandbox est présente, mais inactive | agents.*.sandbox.mode | non |
sandbox.bind_mount_non_absolute | avertissement | Les montages liés relatifs peuvent être résolus de manière imprévisible | agents.*.sandbox.docker.binds[] | non |
sandbox.dangerous_bind_mount | critique | Le montage lié de la sandbox cible des chemins système, d’identifiants ou de socket Docker bloqués | agents.*.sandbox.docker.binds[] | non |
sandbox.dangerous_network_mode | critique | Le réseau Docker de la sandbox utilise le mode de partage d’espace de noms host ou container:* | agents.*.sandbox.docker.network | non |
sandbox.dangerous_seccomp_profile | critique | Le profil seccomp de la sandbox affaiblit l’isolation du conteneur | agents.*.sandbox.docker.securityOpt | non |
sandbox.dangerous_apparmor_profile | critique | Le profil AppArmor de la sandbox affaiblit l’isolation du conteneur | agents.*.sandbox.docker.securityOpt | non |
sandbox.browser_cdp_bridge_unrestricted | avertissement | Le pont du navigateur de la sandbox est exposé sans restriction de plage source | sandbox.browser.cdpSourceRange | non |
sandbox.browser_container.non_loopback_publish | critique | Le conteneur de navigateur existant publie CDP sur des interfaces autres que local loopback | configuration de publication du conteneur de sandbox du navigateur | non |
sandbox.browser_container.hash_label_missing | avertissement | Le conteneur de navigateur existant est antérieur aux libellés actuels de hachage de configuration | openclaw sandbox recreate --browser --all | non |
sandbox.browser_container.hash_epoch_stale | avertissement | Le conteneur de navigateur existant est antérieur à l’époque actuelle de configuration du navigateur | openclaw sandbox recreate --browser --all | non |
sandbox.browser_container.docker_probe_timeout | avertissement | La sonde des libellés Docker du conteneur de navigateur a expiré | accessibilité du démon Docker | non |
tools.exec.host_sandbox_no_sandbox_defaults | avertissement | exec host=sandbox échoue en mode fermé lorsque la sandbox est désactivée | tools.exec.host, agents.defaults.sandbox.mode | non |
tools.exec.host_sandbox_no_sandbox_agents | avertissement | La commande exec host=sandbox propre à chaque agent échoue en mode fermé lorsque la sandbox est désactivée | agents.list[].tools.exec.host, agents.list[].sandbox.mode | non |
tools.exec.security_full_configured | avertissement/critique | L’exécution sur l’hôte fonctionne avec security="full" | tools.exec.security, agents.list[].tools.exec.security | non |
tools.exec.agent_skill_mcp_boundary_drift | avertissement | Des listes d’autorisation des Skills de l’agent sont présentes alors que l’exécution sur l’hôte peut atteindre des clients ou registres MCP | agents.list[].tools.exec.*, isolation de la sandbox/du système d’exploitation, identifiants des serveurs MCP | non |
tools.exec.fs_tools_disabled_but_exec_enabled | avertissement | La politique des outils de système de fichiers ne rend pas l’exécution de commandes shell accessible en lecture seule | tools.deny, agents.list[].tools.deny, agents.*.sandbox.workspaceAccess | non |
tools.exec.auto_allow_skills_enabled | avertissement | Les approbations d’exécution font implicitement confiance aux exécutables des Skills | fichier d’approbations de l’hôte | non |
tools.exec.allowlist_interpreter_without_strict_inline_eval | avertissement | Les listes d’autorisation d’interpréteurs permettent l’évaluation en ligne sans imposer de nouvelle approbation | tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, liste d’autorisation des approbations d’exécution | non |
tools.exec.safe_bins_interpreter_unprofiled | avertissement | Les exécutables d’interpréteur ou d’environnement d’exécution dans safeBins sans profils explicites augmentent le risque lié à l’exécution | tools.exec.safeBins, tools.exec.safeBinProfiles, agents.list[].tools.exec.* | non |
tools.exec.safe_bins_broad_behavior | avertissement | Les outils au comportement étendu dans safeBins affaiblissent le modèle de confiance à faible risque fondé sur le filtrage de stdin | tools.exec.safeBins, agents.list[].tools.exec.safeBins | non |
tools.exec.safe_bin_trusted_dirs_risky | avertissement | safeBinTrustedDirs inclut des répertoires modifiables ou risqués | tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs | non |
tools.elevated.allowFrom.<provider>.wildcard | critique | tools.elevated.allowFrom.<provider> inclut "*", ce qui approuve chaque expéditeur | tools.elevated.allowFrom.<provider> | non |
tools.elevated.allowFrom.<provider>.large | avertissement | La liste d’autorisation avec privilèges élevés pour <provider> comporte plus de 25 entrées | tools.elevated.allowFrom.<provider> | non |
agents.claude_cli.permission_mode_overridden_by_yolo | avertissement | L’option --permission-mode de Claude CLI est ignorée, car l’exécution OpenClaw est entièrement autonome | arguments de tools.exec.security, tools.exec.ask, cliBackends.claude-cli | non |
skills.workspace.symlink_escape | avertissement | Le chemin skills/**/SKILL.md de l’espace de travail est résolu hors de la racine de l’espace de travail (dérive de la chaîne de liens symboliques) | état du système de fichiers de skills/** dans l’espace de travail | non |
skills.workspace.scan_truncated | avertissement | L’analyse des Skills de l’espace de travail a atteint sa limite de visites de répertoires avant de se terminer | aplatir ou simplifier l’arborescence du répertoire skills/ de l’espace de travail | non |
plugins.extensions_no_allowlist | avertissement | Les Plugins sont installés sans liste d’autorisation explicite de Plugins | plugins.allowlist | non |
plugins.allow_phantom_entries | avertissement | plugins.allow répertorie un identifiant ne correspondant à aucun Plugin installé | plugins.allow | non |
plugins.installs_unpinned_npm_specs | avertissement | Les enregistrements de l’index des Plugins ne sont pas épinglés à des spécifications npm immuables | métadonnées d’installation du Plugin | non |
plugins.installs_missing_integrity | avertissement | Les enregistrements de l’index des Plugins ne comportent pas de métadonnées d’intégrité | métadonnées d’installation du Plugin | non |
plugins.installs_version_drift | avertissement | Les enregistrements de l’index des Plugins divergent des paquets installés | métadonnées d’installation du Plugin | non |
plugins.code_safety | avertissement/critique | L’analyse du code du Plugin a détecté des motifs suspects ou dangereux (--deep uniquement) | code du Plugin / source d’installation | non |
plugins.code_safety.entry_path | avertissement | Le chemin d’entrée du Plugin pointe vers des emplacements masqués ou situés dans node_modules | entry du manifeste du Plugin | non |
plugins.code_safety.entry_escape | critique | Le point d’entrée du Plugin sort du répertoire du Plugin | entry du manifeste du Plugin | non |
plugins.code_safety.manifest_parse_error | avertissement | Le manifeste du Plugin n’a pas pu être analysé lors de l’analyse de sécurité du code | fichier manifeste du Plugin | non |
plugins.code_safety.scan_failed | avertissement | L’analyse du code du Plugin n’a pas pu aboutir (--deep uniquement) | chemin du Plugin / environnement d’analyse | non |
plugins.<pluginId>.security_audit_failed | avertissement | Un collecteur d’audit de sécurité appartenant à un Plugin a généré une erreur | collecteur d’audit de sécurité de ce Plugin | non |
skills.code_safety | avertissement/critique | Les métadonnées ou le code du programme d’installation du Skill contiennent des motifs suspects ou dangereux (--deep uniquement) | source d’installation du Skill | non |
skills.code_safety.scan_failed | avertissement | L’analyse du code du Skill n’a pas pu aboutir (--deep uniquement) | environnement d’analyse du Skill | non |
security.exposure.open_channels_with_exec | avertissement/critique | Les salons partagés ou publics peuvent accéder à des agents autorisés à exécuter des commandes | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* | non |
security.exposure.open_groups_with_elevated | critique | Les messages privés ou groupes ouverts associés à des outils avec privilèges élevés créent des vecteurs d’injection de prompt à fort impact | chemins de politique des messages privés de premier niveau ou imbriqués, remplacements de compte, channels.*.groupPolicy | non |
security.exposure.open_groups_with_runtime_or_fs | critique/avertissement | Les messages privés ou groupes ouverts peuvent accéder aux outils de commande ou de fichiers sans protections de sandbox ou d’espace de travail | chemins de politique des messages privés ou de groupe, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.mode | non |
security.exposure.open_groups_with_control_plane_tools | critique | Les messages privés ou groupes ouverts peuvent accéder aux outils du plan de contrôle du Gateway ou de Cron | chemins de politique des messages privés ou de groupe, tools.allow, tools.alsoAllow, tools.profile, gateway, cron | non |
security.trust_model.multi_user_heuristic | avertissement | La configuration semble multi-utilisateur alors que le modèle de confiance du Gateway est celui d’un assistant personnel | séparer les limites de confiance ou renforcer la sécurité pour les utilisateurs partagés (sandbox.mode, refus d’outils ou limitation à l’espace de travail) | non |
tools.profile_minimal_overridden | avertissement | Les remplacements propres aux agents contournent le profil minimal global | agents.list[].tools.profile | non |
plugins.tools_reachable_permissive_policy | avertissement | Les outils d’extension sont accessibles dans des contextes permissifs | tools.profile + autorisation/refus d’outils | non |
models.legacy | avertissement | Des familles de modèles obsolètes sont encore configurées | sélection du modèle | non |
models.weak_tier | avertissement | Les modèles configurés sont inférieurs aux niveaux actuellement recommandés | sélection du modèle | non |
models.small_params | critique/information | Les petits modèles associés à des surfaces d’outils non sécurisées augmentent le risque d’injection | choix du modèle + politique de sandbox et d’outils | non |
channels.<provider>.dm.open | critique | La politique de messages privés de <provider> est "open" ; n’importe qui peut envoyer un message privé au bot | channels.<provider>.dmPolicy, .allowFrom | non |
channels.<provider>.dm.open_invalid | avertissement | dmPolicy="open" sans "*" dans allowFrom est incohérent | channels.<provider>.allowFrom | non |
channels.<provider>.dm.scope_main_multiuser | avertissement | Plusieurs expéditeurs de messages privés partagent actuellement la session principale | session.dmScope | non |
channels.<provider>.allowFrom.dangerous_name_matching_enabled | information | dangerouslyAllowNameMatching réactive la correspondance des expéditeurs par nom, adresse e-mail ou étiquette modifiable | désactiver dangerouslyAllowNameMatching, utiliser des identifiants d’expéditeur stables | non |
channels.<provider>.account.read_only_resolution | avertissement | Un compte de canal n’a pas pu être entièrement résolu pour l’audit (secret ou Gateway manquant) | vérifier que les secrets référencés peuvent être résolus ou exécuter l’audit sur un instantané actif du Gateway | non |
channels.<provider>.warning.<n> | information/avertissement/critique | Avertissement de sécurité propre au fournisseur, classé à partir du texte libre du Plugin | consulter les détails du constat | non |
summary.attack_surface | info | Synthèse de la posture d’authentification, des canaux, des outils et de l’exposition | plusieurs clés (voir les détails du constat) | non |