Gateway

Contrôles d’audit de sécurité

openclaw security audit émet des constats structurés identifiés par checkId. Cette page constitue le catalogue de référence de ces identifiants. Pour consulter le modèle de menace général et les recommandations de sécurisation, voir Sécurité.

Certaines vérifications s’exécutent uniquement avec openclaw security audit --deep : analyses du code des Plugins/Skills (plugins.code_safety*, skills.code_safety*) et vérifications par sonde du Gateway actif (gateway.probe_*). Toutes les autres vérifications de ce tableau s’exécutent avec une simple commande openclaw security audit.

Une gravité telle que warn/critical signifie qu’un même checkId peut être émis à l’un ou l’autre niveau selon la configuration (par exemple, selon que le Gateway est exposé à distance). Valeurs à fort signal que vous rencontrerez le plus probablement dans des déploiements réels (liste non exhaustive) :

checkId Gravité Pourquoi c’est important Clé/chemin principal de correction Correction automatique
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

Les checkIds channels.<provider>.* et tools.elevated.allowFrom.<provider>.* sont générés pour chaque canal/fournisseur configuré ; <provider> est donc un véritable identifiant de canal (par exemple telegram, discord) dans la sortie réelle, et non une chaîne littérale.

Voir aussi

Was this useful?
On this page

On this page