Contrôles d'audit de sécurité
openclaw security audit émet des résultats structurés indexés par checkId. Cette page est le catalogue de référence pour ces identifiants. Pour le modèle de menace de haut niveau et les conseils de durcissement, voir Sécurité.
Valeurs checkId à fort signal que vous verrez très probablement dans des déploiements réels (non
exhaustif) :
checkId | Gravité | Pourquoi c’est important | Clé/chemin de correction principal | Correction automatique |
|---|---|---|---|---|
fs.state_dir.perms_world_writable | critique | D’autres utilisateurs/processus peuvent modifier l’état complet 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’état complet d’OpenClaw | perms 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 | perms 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 | disposition du système de fichiers du répertoire d’état | non |
fs.config.perms_writable | critique | D’autres utilisateurs peuvent modifier la stratégie/auth/outil ou la configuration | perms du système de fichiers sur ~/.openclaw/openclaw.json | oui |
fs.config.symlink | avertissement | Les fichiers de configuration liés par lien symbolique ne sont pas pris en charge pour l’écriture et ajoutent une autre frontière de confiance | remplacer par un fichier de configuration normal ou pointer OPENCLAW_CONFIG_PATH vers le fichier réel | non |
fs.config.perms_group_readable | avertissement | Les utilisateurs du groupe peuvent lire les jetons/réglages de configuration | perms du système de fichiers sur le fichier de configuration | oui |
fs.config.perms_world_readable | critique | La configuration peut exposer des jetons/réglages | 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 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 agents/<agentId>/agent/auth-profiles.json | oui |
fs.credentials_dir.perms_writable | critique | D’autres peuvent modifier l’état du jumelage/des identifiants du channel | 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 channel | 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 session | oui |
fs.log_file.perms_readable | avertissement | D’autres peuvent lire les journaux rédigés mais encore sensibles | permissions du fichier journal de la passerelle | oui |
fs.synced_dir | avertissement | L’état/la 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 à distance sans secret partagé | gateway.bind, gateway.auth.* | non |
gateway.loopback_no_auth | critique | Le bouclage inversé via proxy inverse peut ne plus être authentifié | gateway.auth.*, configuration du proxy | non |
gateway.trusted_proxies_missing | avertissement | Les en-têtes de proxy inverse sont présents mais non approuvés | gateway.trustedProxies | non |
gateway.http.no_auth | avertissement/critique | APIs 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 | info | 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 | gateway.tools.allow | non |
gateway.nodes.allow_commands_dangerous | avertissement/critique | Active les 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 modèle ne correspondent pas au texte shell ou aux groupes | gateway.nodes.denyCommands | non |
gateway.tailscale_funnel | critique | Exposition à l’Internet public | gateway.tailscale.mode | non |
gateway.tailscale_serve | info | L’exposition au Tailnet est activée via Serve | gateway.tailscale.mode | non |
gateway.control_ui.allowed_origins_required | critique | Interface de contrôle non-bouclage sans liste d’autorisation d’origine de navigateur explicite | gateway.controlUi.allowedOrigins | non |
gateway.control_ui.allowed_origins_wildcard | avertissement/critique | allowedOrigins=["*"] désactive la liste verte (allowlist) des origines du navigateur | gateway.controlUi.allowedOrigins | non |
gateway.control_ui.host_header_origin_fallback | avertissement/critique | Active le repli d’origine d’en-tête Host (rétrogradation du durcissement contre le rebindage DNS) | 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 activer l’usurpation d’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 àforcer par force brute | gateway.auth.token | non |
gateway.auth_no_rate_limit | avertissement | L’authentification exposée sans limitation de taux augmente le risque de force brute | gateway.auth.rateLimit | non |
gateway.trusted_proxy_auth | critique | L’identité du proxy devient désormais la limite d’authentification | gateway.auth.mode="trusted-proxy" | non |
gateway.trusted_proxy_no_proxies | critique | L’authentification par proxy de confiance sans adresses IP de proxy de confiance n’est pas sûre | gateway.trustedProxies | non |
gateway.trusted_proxy_no_user_header | critique | L’authentification par proxy de confiance ne peut pas résoudre l’identité de l’utilisateur en toute sécurité | gateway.auth.trustedProxy.userHeader | non |
gateway.trusted_proxy_no_allowlist | avertissement | L’authentification par proxy de confiance accepte tout utilisateur amont authentifié | gateway.auth.trustedProxy.allowUsers | non |
gateway.trusted_proxy_allow_loopback | avertissement | L’authentification de proxy approuvé accepte les sources de proxy de bouclage 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 | disponibilité de la source d’authentification de sonde approfondie / SecretRef | non |
gateway.probe_failed | avertissement/critique | La sonde en direct du Gateway a échoué | accessibilité/authentification de la passerelle | non |
discovery.mdns_full_mode | avertissement/critique | Le mode complet mDNS publie les métadonnées cliPath/sshPort sur le réseau local | discovery.mdns.mode, gateway.bind | no |
config.insecure_or_dangerous_flags | warn | Un indicateur de débogage non sécurisé/dangereux est activé | clé nommée dans le détail de la découverte | no |
security.audit.suppressions.active | info | La sortie de l’audit contient des suppressions configurées et peut être filtrée | security.audit.suppressions | no |
config.secrets.gateway_password_in_config | avertissement | Le mot de passe Gateway est stocké directement dans la configuration | gateway.auth.password | no |
config.secrets.hooks_token_in_config | warn | Le jeton bearer du hook est stocké directement dans la configuration | hooks.token | no |
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 | no |
hooks.token_too_short | avertissement | Attaque par force brute plus facile sur l’entrée du hook | hooks.token | non |
hooks.default_session_key_unset | avertissement | L’agent hook exécute une diffusion vers des sessions générées par requête | hooks.defaultSessionKey | non |
hooks.allowed_agent_ids_unrestricted | warn/critical | Les appelants de hook authentifiés peuvent acheminer vers n’importe quel agent configuré | hooks.allowedAgentIds | non |
hooks.request_session_key_enabled | avertissement/critique | L’appelant externe peut choisir sessionKey | hooks.allowRequestSessionKey | non |
hooks.request_session_key_prefixes_missing | avertissement/critique | Aucune limite sur les formes de clés de session externes | hooks.allowedSessionKeyPrefixes | non |
hooks.path_root | critique | Le chemin du hook est /, ce qui facilite les collisions ou les erreurs d’acheminement de l’entrée | hooks.path | non |
hooks.installs_unpinned_npm_specs | warn | Les enregistrements d’installation des hooks ne sont pas épinglés à des spécifications npm immuables | métadonnées d’installation du hook | non |
hooks.installs_missing_integrity | warn | Les enregistrements d’installation des hooks manquent de métadonnées d’intégrité | hook install metadata | no |
hooks.installs_version_drift | avertissement | Les enregistrements d’installation des hooks divergent des paquets installés | métadonnées d’installation du hook | non |
logging.redact_off | warn | Fuite de valeurs sensibles vers les journaux/le statut | logging.redactSensitive | oui |
browser.control_invalid_config | avertissement | La configuration de contrôle du navigateur n’est pas valide avant l’exécution | browser.* | non |
browser.control_no_auth | critique | Contrôle du navigateur exposé sans authentification par jeton/mot de passe | gateway.auth.* | non |
browser.remote_cdp_http | avertissement | Le CDP distant sur HTTP non sécurisé manque de chiffrement de transport | profil de navigateur cdpUrl | non |
browser.remote_cdp_private_host | avertissement | Le CDP distant cible un hôte privé/interne | profil de navigateur cdpUrl, browser.ssrfPolicy.* | non |
sandbox.docker_config_mode_off | warn | La configuration Sandbox Docker est présente mais inactive | agents.*.sandbox.mode | non |
sandbox.bind_mount_non_absolute | avertissement | Les montages de liaison relatifs peuvent se résoudre de manière imprévisible | agents.*.sandbox.docker.binds[] | non |
sandbox.dangerous_bind_mount | critique | Les cibles de montage de liaison Sandbox ciblent des chemins de socket système, d’informations d’identification ou Docker bloqués | agents.*.sandbox.docker.binds[] | non |
sandbox.dangerous_network_mode | critique | Le réseau Sandbox Docker utilise le mode de jointure d’espace de noms host ou container:* | agents.*.sandbox.docker.network | non |
sandbox.dangerous_seccomp_profile | critical | Le profil seccomp Sandbox affaiblit l’isolation des conteneurs | agents.*.sandbox.docker.securityOpt | non |
sandbox.dangerous_apparmor_profile | critique | Le profil AppArmor Sandbox affaiblit l’isolation des conteneurs | agents.*.sandbox.docker.securityOpt | non |
sandbox.browser_cdp_bridge_unrestricted | avertissement | Le pont de navigateur 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 le CDP sur des interfaces non bouclage | configuration de publication du conteneur sandbox de navigateur | non |
sandbox.browser_container.hash_label_missing | avertissement | Le conteneur de navigateur existant est antérieur aux étiquettes de hachage de configuration actuelles | openclaw sandbox recreate --browser --all | non |
sandbox.browser_container.hash_epoch_stale | avertissement | Le conteneur de navigateur existant est antérieur à l’époque de configuration du navigateur actuelle | openclaw sandbox recreate --browser --all | non |
tools.exec.host_sandbox_no_sandbox_defaults | avertissement | exec host=sandbox échoue en mode fermé lorsque le sandbox est désactivé | tools.exec.host, agents.defaults.sandbox.mode | non |
tools.exec.host_sandbox_no_sandbox_agents | avertissement | Le exec host=sandbox par agent échoue en mode fermé lorsque le sandbox est désactivé | agents.list[].tools.exec.host, agents.list[].sandbox.mode | non |
tools.exec.security_full_configured | warn/critical | Host exec is running with security="full" | tools.exec.security, agents.list[].tools.exec.security | non |
tools.exec.fs_tools_disabled_but_exec_enabled | avertissement | Filesystem tool policy does not make shell execution read-only | tools.deny, agents.list[].tools.deny, agents.*.sandbox.workspaceAccess | non |
tools.exec.auto_allow_skills_enabled | avertissement | Exec approvals trust skill bins implicitly | ~/.openclaw/exec-approvals.json | non |
tools.exec.allowlist_interpreter_without_strict_inline_eval | avertissement | Interpreter allowlists permit inline eval without forced reapproval | tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, exec approvals allowlist | non |
tools.exec.safe_bins_interpreter_unprofiled | avertissement | Interpreter/runtime bins in safeBins without explicit profiles broaden exec risk | tools.exec.safeBins, tools.exec.safeBinProfiles, agents.list[].tools.exec.* | non |
tools.exec.safe_bins_broad_behavior | avertissement | Broad-behavior tools in safeBins weaken the low-risk stdin-filter trust model | tools.exec.safeBins, agents.list[].tools.exec.safeBins | non |
tools.exec.safe_bin_trusted_dirs_risky | avertissement | safeBinTrustedDirs includes mutable or risky directories | tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs | non |
skills.workspace.symlink_escape | avertissement | Workspace skills/**/SKILL.md resolves outside workspace root (symlink-chain drift) | workspace skills/** filesystem state | non |
plugins.extensions_no_allowlist | avertissement | Plugins are installed without an explicit plugin allowlist | plugins.allowlist | non |
plugins.installs_unpinned_npm_specs | avertissement | Plugin index records are not pinned to immutable npm specs | métadonnées d’installation du plug-in | non |
plugins.installs_missing_integrity | warn | Plugin index records lack integrity metadata | métadonnées d’installation du plug-in | no |
plugins.installs_version_drift | warn | Plugin index records drift from installed packages | plugin install metadata | no |
plugins.code_safety | warn/critical | Plugin code scan found suspicious or dangerous patterns | plugin code / install source | no |
plugins.code_safety.entry_path | warn | Le chemin d’entrée du plugin pointe vers des emplacements masqués ou node_modules | entry du manifeste du plugin | no |
plugins.code_safety.entry_escape | critique | Le point d’entrée du plugin sort du répertoire du plugin | entry du manifeste du plugin | no |
plugins.code_safety.scan_failed | avertissement | L’analyse du code du plugin n’a pas pu être terminée | chemin du plugin / environnement d’analyse | no |
skills.code_safety | avertissement/critique | Les métadonnées/code de l’installateur de compétences contiennent des modèles suspects ou dangereux | source d’installation de la compétence | no |
skills.code_safety.scan_failed | avertissement | L’analyse du code de la compétence n’a pas pu être terminée | environnement d’analyse de la compétence | no |
security.exposure.open_channels_with_exec | avertissement/critique | Les salons partagés/publics peuvent atteindre des agents avec exécution activée | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* | no |
security.exposure.open_groups_with_elevated | critique | Les groupes ouverts + les outils élevés créent des chemins d’injection de prompt à fort impact | channels.*.groupPolicy, tools.elevated.* | no |
security.exposure.open_groups_with_runtime_or_fs | critique/avertissement | Les groupes ouverts peuvent atteindre les outils de commande/fichier sans gardiens de bac à sable/espace de travail | channels.*.groupPolicy, 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 de la passerelle est assistant personnel | frontières de confiance fractionnées, ou durcissement multi-utilisateur (sandbox.mode, refus d’outil/portée de l’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 | avertissement | Outils d’extension accessibles dans des contextes permissifs | tools.profile + autorisation/refus d’outil | non |
models.legacy | avertissement | Les familles de modèles héritées sont toujours configurées | sélection du modèle | non |
models.weak_tier | avertissement | Les modèles configurés sont inférieurs aux niveaux recommandés actuels | sélection du model | non |
models.small_params | critique/info | Les petits modèles + les surfaces d’outil non sécurisées augmentent le risque d’injection | choix du model + politique de bac à sable/outil | non |
summary.attack_surface | info | Résumé global de l’auth, du channel, de l’outil et de la posture d’exposition | plusieurs clés (voir les détails du résultat) | non |