OpenClaw dispose de trois contrôles liés (mais différents) :Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- Bac à sable (
agents.defaults.sandbox.*/agents.list[].sandbox.*) décide où les outils s’exécutent (backend de bac à sable ou hôte). - Politique des outils (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) décide quels outils sont disponibles/autorisés. - Élevé (
tools.elevated.*,agents.list[].tools.elevated.*) est une échappatoire réservée à l’exécution pour s’exécuter hors du bac à sable lorsque vous êtes dans un bac à sable (gatewaypar défaut, ounodelorsque la cible d’exécution est configurée surnode).
Débogage rapide
Utilisez l’inspecteur pour voir ce qu’OpenClaw fait réellement :- le mode/la portée/l’accès à l’espace de travail effectifs du bac à sable
- si la session est actuellement dans un bac à sable (principale ou non principale)
- les autorisations/refus effectifs des outils du bac à sable (et s’ils proviennent de l’agent, du global ou de la valeur par défaut)
- les verrous du mode élevé et les chemins de clés de correction
Bac à sable : où les outils s’exécutent
La mise en bac à sable est contrôlée paragents.defaults.sandbox.mode :
"off": tout s’exécute sur l’hôte."non-main": seules les sessions non principales sont dans un bac à sable (source fréquente de « surprise » pour les groupes/canaux)."all": tout est dans un bac à sable.
Montages liés (contrôle de sécurité rapide)
docker.bindsperce le système de fichiers du bac à sable : tout ce que vous montez est visible dans le conteneur avec le mode que vous définissez (:roou:rw).- La valeur par défaut est lecture-écriture si vous omettez le mode ; préférez
:ropour le code source/les secrets. scope: "shared"ignore les montages propres à chaque agent (seuls les montages globaux s’appliquent).- OpenClaw valide deux fois les sources de montage : d’abord sur le chemin source normalisé, puis de nouveau après résolution via l’ancêtre existant le plus profond. Les échappements par parent symbolique ne contournent pas les contrôles de chemins bloqués ou de racines autorisées.
- Les chemins de feuille inexistants sont tout de même vérifiés en toute sécurité. Si
/workspace/alias-out/new-filese résout via un parent symbolique vers un chemin bloqué ou hors des racines autorisées configurées, le montage est rejeté. - Monter
/var/run/docker.sockdonne effectivement le contrôle de l’hôte au bac à sable ; ne le faites que délibérément. - L’accès à l’espace de travail (
workspaceAccess: "ro"/"rw") est indépendant des modes de montage.
Politique des outils : quels outils existent/sont appelables
Deux couches comptent :- Profil d’outils :
tools.profileetagents.list[].tools.profile(liste d’autorisations de base) - Profil d’outils du fournisseur :
tools.byProvider[provider].profileetagents.list[].tools.byProvider[provider].profile - Politique d’outils globale/par agent :
tools.allow/tools.denyetagents.list[].tools.allow/agents.list[].tools.deny - Politique d’outils du fournisseur :
tools.byProvider[provider].allow/denyetagents.list[].tools.byProvider[provider].allow/deny - Politique d’outils du bac à sable (s’applique uniquement en bac à sable) :
tools.sandbox.tools.allow/tools.sandbox.tools.denyetagents.list[].tools.sandbox.tools.*
denyl’emporte toujours.- Si
allown’est pas vide, tout le reste est considéré comme bloqué. - La politique des outils est l’arrêt ferme :
/execne peut pas remplacer un outilexecrefusé. - La politique des outils filtre la disponibilité des outils par nom ; elle n’inspecte pas les effets de bord dans
exec. Siexecest autorisé, refuserwrite,editouapply_patchne rend pas les commandes shell en lecture seule. /execne change que les valeurs par défaut de session pour les expéditeurs autorisés ; il n’accorde pas d’accès aux outils. Les clés d’outils du fournisseur acceptent soitprovider(par exemplegoogle-antigravity), soitprovider/model(par exempleopenai/gpt-5.4).
Groupes d’outils (raccourcis)
Les politiques d’outils (globale, agent, bac à sable) prennent en charge les entréesgroup:* qui s’étendent à plusieurs outils :
group:runtime:exec,process,code_execution(bashest accepté comme alias pourexec)group:fs:read,write,edit,apply_patchPour les agents en lecture seule, refusezgroup:runtimeainsi que les outils de système de fichiers qui modifient l’état, sauf si la politique de système de fichiers du bac à sable ou une frontière d’hôte distincte impose la contrainte de lecture seule.group:sessions:sessions_list,sessions_history,sessions_send,sessions_spawn,sessions_yield,subagents,session_statusgroup:memory:memory_search,memory_getgroup:web:web_search,x_search,web_fetchgroup:ui:browser,canvasgroup:automation:heartbeat_respond,cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:agents:agents_list,update_plangroup:media:image,image_generate,music_generate,video_generate,ttsgroup:openclaw: tous les outils intégrés d’OpenClaw (exclut les plugins fournisseur)
Élevé : « exécuter sur l’hôte » réservé à exec
Le mode élevé n’accorde pas d’outils supplémentaires ; il n’affecte queexec.
- Si vous êtes dans un bac à sable,
/elevated on(ouexecavecelevated: true) s’exécute hors du bac à sable (des approbations peuvent tout de même s’appliquer). - Utilisez
/elevated fullpour ignorer les approbations exec pour la session. - Si vous exécutez déjà directement, le mode élevé est effectivement sans effet (toujours soumis aux verrous).
- Le mode élevé n’est pas limité aux Skills et ne remplace pas les autorisations/refus d’outils.
- Le mode élevé n’accorde pas de remplacements arbitraires entre hôtes depuis
host=auto; il suit les règles normales de cible d’exécution et ne conservenodeque lorsque la cible configurée/de session est déjànode. /execest distinct du mode élevé. Il ajuste uniquement les valeurs par défaut exec par session pour les expéditeurs autorisés.
- Activation :
tools.elevated.enabled(et éventuellementagents.list[].tools.elevated.enabled) - Listes d’autorisation des expéditeurs :
tools.elevated.allowFrom.<provider>(et éventuellementagents.list[].tools.elevated.allowFrom.<provider>)
Corrections courantes de « prison de bac à sable »
« Outil X bloqué par la politique d’outils du bac à sable »
Clés de correction (choisissez-en une) :- Désactiver le bac à sable :
agents.defaults.sandbox.mode=off(ou par agentagents.list[].sandbox.mode=off) - Autoriser l’outil dans le bac à sable :
- le retirer de
tools.sandbox.tools.deny(ou par agentagents.list[].tools.sandbox.tools.deny) - ou l’ajouter à
tools.sandbox.tools.allow(ou à l’autorisation par agent)
- le retirer de
« Je pensais que c’était la session principale, pourquoi est-elle dans un bac à sable ? »
En mode"non-main", les clés de groupe/canal ne sont pas principales. Utilisez la clé de session principale (affichée par sandbox explain) ou passez le mode à "off".
Connexe
- Mise en bac à sable — référence complète du bac à sable (modes, portées, backends, images)
- Bac à sable et outils multi-agents — remplacements par agent et précédence
- Mode élevé