2026OpenClawworkspaceAccessmoindre privilègedoctorMac distant

2026 OpenClaw moindre privilège en production : workspaceAccess, outils shell et matrice doctor en couches

Dès que les agents OpenClaw obtiennent des outils shell et fichier, la passerelle cesse d'être un simple pont de chat et devient un opérateur programmable sur disque. Cet article traite workspaceAccess et les frontières de commande comme contrôles de production, pas commodités de démo. Il suit l'esprit de dépannage de exploitation passerelle, statut et doctor, contraste processus d'outils longue durée avec limites de cycle de vie MCP stdio, relie le bord public à durcissement TLS et WebSocket du reverse proxy, cite la pensée type SSRF pour la confiance sortante, ancre la discipline dans installation, mise à niveau et retour arrière, associe le toujours-disponible à santé des démons launchd et systemd, relie l'éventail de sessions à sessions, spawn et allowAgents. Il conclut sur la capacité Mac distant hébergé SFTPMAC pour des équipes Apple qui gardent un nœud passerelle stable sans transformer chaque ingénieur en administrateur système à mi-temps.

OpenClawworkspaceAccessmoindre privilègeshelldoctorMac distant
Passerelle OpenClaw en production avec espace de travail restreint et diagnostics sur Mac distant

Pourquoi disque et shell exigent des défauts adultes

Les démos interactives récompensent des droits larges car l'humain remarque les erreurs avant incident. Les agents de production bouclent sans surveillance, réessayent les outils et interprètent parfois créativement les consignes. Si l'utilisateur POSIX derrière la passerelle lit des secrets, mute des dépôts ou lance des shells sans répertoires étroits, vous avez délégué une agilité proche de root à un processus stochastique.

workspaceAccess raconte déclarativement quels arbres sont un contexte de travail légitime face au bruit filesystem. Il doit refléter la disposition du dépôt, les sorties de build et les chemins qui ne doivent jamais apparaître dans les réponses d'outils. Traitez-le comme des règles pare-feu : autorisations explicites et exceptions documentées, pas d'autorisation implicite sur $HOME.

Les outils shell amplifient le risque car ils héritent variables d'environnement, alias et parfois chemins de scripts de login. Même des outils fichier en lecture seule peuvent fuiter une structure utile pour enchaîner des prompts. Les outils en écriture peuvent réécrire la configuration chargée au prochain redémarrage, transformant une mauvaise automation en compromis persistant.

Le moindre privilège n'est pas que Unix : c'est aussi la politique modèle : quelles automations appellent des outils mutateurs, lesquelles restent lecture seule, lesquelles exigent validation humaine. L'article Lobster et human-in-the-loop convient quand il faut des approbations structurées plutôt qu'un shell silencieux.

Les équipes d'exploitation connaissent la valeur du diagnostic répétable. Quand les droits dérivent, on voit des canaux instables ou des fichiers introuvables mystérieux. L'échelle statut passerelle, doctor, journaux garde les incidents sécurité dans un playbook familier au lieu de wikis panique.

La configuration voyage : un portable avec workspaceAccess permissif devient modèle copié en CI puis passerelle client. Encodez la posture production dans une config versionnée, revue comme du code applicatif, testez les retours arrière avec les habitudes de guides d'installation et rollback.

Les hôtes de build partagés ou multi-locataires amplifient les erreurs : un workspace agent voyant les artefacts d'une autre équipe attend le mauvais prompt pour devenir fuite de confidentialité. Séparez utilisateurs, racines ou machines. Documentez la frontière à l'onboarding pour que les nouveaux ne l'aplatissent pas par commodité.

La surveillance quantitative compte autant que les déclarations. Comptez les chemins refusés, invocations shell par heure, fichiers distincts par session. Les pics précèdent souvent automations folles ou injections de prompt tentant l'exfiltration par lecture fichier.

Le reverse proxy et le bord TLS ne remplacent pas la politique disque mais façonnent la confiance dans les plans de contrôle distants. Alignez TLS et origines avec le guide reverse proxy pour ne pas exposer des interfaces d'administration en resserrant le disque local.

Points de douleur

Douleur 1 : l'utilisateur passerelle a trop de pouvoir. Si le compte de service lit .ssh, caches CLI cloud ou profils navigateur, tout outil fichier devient canal d'exfiltration de secrets. Rétrécissez le compte avant de débattre d'alignement modèle.

Douleur 2 : workspace inscriptible égale risque supply chain. Les agents qui patchent package.json, profils shell ou config passerelle peuvent persister un comportement malveillant après redémarrages. Séparez agents de recherche lecture seule et agents de release avec promotions explicites.

Douleur 3 : les outils shell contournent l'intention élevée. Un shell enchaîne des utilitaires jamais revus par le produit. Journalisez morceaux d'argv, répertoires de travail, codes de sortie ; bloquez suppressions récursives et schémas curl-vers-fichier arbitraires sauf politique.

Douleur 4 : MCP et outils natifs ne s'accordent pas sur le périmètre. Un serveur MCP démarré avec environnement large atteint des chemins que les outils fichier OpenClaw masquent. Alignez cycle de vie et redémarrages sur limites MCP stdio et transport pour que les changements de droits prennent effet.

Douleur 5 : doctor passe pendant que la réalité pourrit. doctor valide fichiers et contrôles connus, pas chaque syscall runtime. Complétez par contrôles manuels, logs auditd ou endpoint, prompts périodiques tentant des lectures interdites.

Modèle de menace en langage clair

Supposez des prompts manipulés par du contenu non fiable lu sur le web ou dans des téléversements. Supposez des modèles suivant parfois des instructions nuisibles sous pression de retry. Supposez des opérateurs collant des secrets dans le chat. Vos contrôles doivent survivre à ces défauts.

Les menaces filesystem se partagent confidentialité, intégrité, disponibilité. La confidentialité casse si les agents lisent identifiants ou données client hors périmètre ticket. L'intégrité casse si le code ou la config est réécrit. La disponibilité casse si fork bombs, disque plein ou suppressions d'artefacts via shell.

Les passerelles exposées au réseau ajoutent une classe : un attaignant joignant le canal de contrôle peut forcer des appels d'outil à distance. D'où le durcissement entrant des articles production SSRF et webhooks dans le même programme que les limites disque. La chaîne d'attaque relie souvent entrée distante à action locale.

Menaces internes et portables compromis font partie du modèle. Le moindre privilège limite le blast radius quand une clé développeur fuit et raccourcit la forensics car moins de comptes mutent les arbres sensibles.

L'identité d'automatisation doit être ennuyeuse : utilisateur dédié sans login interactif, sans mot de passe, clés utilisables seulement depuis réseaux attendus. Sur passerelles macOS, couplez avec les motifs démon des matrices launchd et systemd pour des redémarrages propres sans élargir « temporairement » les droits.

Enfin supply chain des dépendances : les agents qui installent des paquets peuvent tirer des scripts malveillants. Si vous autorisez des installs, faites-le dans des environnements éphémères ou hôtes de build dédiés, pas sur le nœud qui détient les clés de signature.

Matrice de décision pour posture workspace et commande

PostureForceCoût opérationnelRisque si erreurIdéal pour
Racine workspaceAccess étroiteBlast radius clair pour outils fichierRefactor chemins quand dépôt bougeBuild cassé si exclusions cachent en-têtesAutomation mono-dépôt
Profil outil lecture seuleAgents recherche et triage sûrsSecond profil pour releasesFrottement si écriture attendueAssistants support client
Utilisateurs passerelle par environnementForte isolation des secretsPlus d'unités et rotation de clésDérive de config entre envsÉquipes régulées ou multi-locataires
Liste blanche shell ou wrapperBloque pipelines surprisesMaintenir la liste quand outils évoluentFaux négatifs via interpréteursClusters production à haut risque
Sandbox onboarding permissiveItération rapide pour nouveauxDoit être retirée délibérémentPromotion accidentelle vers prodHôtes d'apprentissage semaine un seulement

Choisissez une ligne par défaut pour la production, une ligne plus souple seulement sur hôtes jetables, planifiez des revues trimestrielles car les dépôts accumulent de nouveaux dossiers sensibles.

Procédure : déclarer les frontières et les valider

{
  "workspaceAccess": {
    "root": "/var/openclaw/work/crm-sync",
    "allowReadGlobs": [
      "/var/openclaw/work/crm-sync/**",
      "/var/openclaw/shared/readme/**"
    ],
    "denyGlobs": [
      "**/.ssh/**",
      "**/.aws/**",
      "**/.config/gcloud/**",
      "/var/openclaw/secrets/**"
    ]
  },
  "agents": {
    "profiles": {
      "readonly-triage": { "tools": { "shell": false, "fileWrite": false } },
      "release-bot": { "tools": { "shell": "restricted", "fileWrite": true } }
    }
  }
}

Les noms de champs varient selon la distribution ; traitez le JSON comme guide structurel. Les secrets vont dans variables d'environnement ou coffre, pas inline dans des fichiers lisibles par les agents.

Étape 1 cartographier chaque chemin touché par les playbooks, caches, fixtures de test, répertoires générés. Étape 2 fixer workspaceAccess à la plus petite racine qui construit encore. Étape 3 séparer les profils pour que seule l'automation release écrive ou invoque le shell. Étape 4 redémarrage à froid, puis openclaw doctor et comparaison aux vérifications canal de l'exploitation passerelle. Étape 5 trio de tests scriptés : lecture autorisée, lecture refusée, écriture approuvée, journaux avec arguments masqués. Étape 6 documenter propriétaires et rollback par snapshots des guides d'installation. Étape 7 aligner limites de spawn de session avec sessions et allowAgents pour que la concurrence ne multiplie pas les shells.

Garde-fous quantitatifs

Suivez invocations shell par automation et heure avec seuils d'alerte alignés sur les heures ouvrées. Un doublement brutal signale souvent boucle folle ou attaque par prompt.

Mesurez tentatives de chemins refusés séparément des erreurs outil génériques. Une baseline de refus stable est saine ; un pic mérite enquête même sans plainte utilisateur.

Descripteurs de fichiers et processus enfants sur le même tableau de bord que CPU et RAM. Fuites MCP ou shell y apparaissent avant lenteur des canaux.

Surveillez l'espace libre sur volumes d'artefacts. Les agents téléchargeant de gros jeux remplissent des partitions ; combinez quotas et volumes séparés pour les sorties de build.

La rétention des logs couvre au moins deux cycles de release pour corréler mauvais déploiement et nouveaux droits d'outils. Alignez rotation sur vos articles de journalisation unifiée SFTP et passerelle.

Définissez des SLO sur la durée de redémarrage après changement de droits. Redémarrages lents évités entraînent dérive. Les matrices santé des démons stabilisent les temps.

Revoyez trimestriellement les permissions effectives avec un script listant fichiers lisibles par tous sous la racine workspace contenant BEGIN PRIVATE KEY. L'automation trouve ce que l'humain manque.

Capturez la latence p95 des appels d'outil ; une montée raide peut indiquer trop de parcours répertoire après glob trop large. Resserrez quand les métriques justifient l'effort.

Onboarding vs production et échelle doctor

L'onboarding peut être rapide, la production doit être ennuyeuse. Hôtes ou conteneurs différents, racines workspaceAccess différentes, clés API différentes. Ne copiez jamais un JSON portable permissif vers une passerelle client « pour débloquer une démo ».

Enseignez aux nouveaux la même échelle diagnostic que l'exploitation : statut passerelle, santé processus, openclaw doctor, journaux structurés. Cela reflète le dépannage officiel sans mystifier chaque durcissement.

Resserrez les droits dans une fenêtre de redémarrage propre. Les applications partielles partagent le mode d'échec MCP ; redémarrage à froid pour éviter serveurs d'outils zombies.

Documentez quelles automations peuvent appeler shell versus outils fichier seuls. Rangez la matrice à côté des runbooks incident pour que l'astreinte ne devine pas.

Ordre de lecture recommandé : exploitation et doctor, puis sessions et allowAgents, puis cycle de vie MCP, puis cet article moindre privilège, puis durcissement production type SSRF et TLS reverse proxy. La cohérence bat la nouveauté en incident.

Couplez contrôles techniques et humains : revue de code JSON, second relecteur obligatoire pour profils shell, exercices de table avec prompt malveillant.

Ordre de lecture suggéré : statut passerelle et doctor, limites spawn session, transports MCP, durcissement workspace, pensée SSRF sortante, bord TLS, rollback installation, santé démons. Mêmes favoris entre régions pour un langage partagé.

Glossaire

workspaceAccess déclare les régions filesystem considérées en scope pour une instance passerelle.

Moindre privilège accorde le minimum de droits pour la tâche d'automation définie.

Outil shell expose l'exécution de commandes OS au modèle via interface contrôlée.

Outil fichier lit ou écrit du contenu structuré sans forcément invoquer shell.

Profil lecture seule permet l'inspection sans mutation, idéal bots de triage.

Profil release peut écrire sorties de build ou fusionner commits sous politique explicite.

Redémarrage à froid arrête entièrement la passerelle pour vider caches et enfants.

openclaw doctor exécute contrôles statiques sur config et environnement.

Statut passerelle résume santé processus, canaux, parfois dérive de version.

allowAgents limite types ou profils d'agents quand sessions nombreuses.

Serveur MCP étend outils via processus séparé ou HTTP avec droits propres.

Injection de prompt est texte non fiable cherchant à outrepasser l'intention opérateur.

Blast radius mesure l'étendue d'un compromis sur fichiers et identités.

Utilisateur POSIX est le compte OS dont héritent les appels d'outil.

Glob de refus bloque chemins même sous arbre autorisé.

Journal d'audit enregistre décisions d'outil avec arguments masqués.

Posture onboarding assouplit temporairement sur hôtes jetables.

Posture production maximise friction sur opérations dangereuses tout en gardant débit pour tâches approuvées.

Humain dans la boucle exige approbation humaine avant invocations sensibles.

Chaîne d'approvisionnement couvre dépendances tirées au build ou à l'installation runtime.

Environnement éphémère est court et détruit après le job.

Tempête de spawn de session survient quand bugs ou automation créent trop d'agents concurrents.

argv d'outil liste arguments shell et doit être journalisé avec soin.

Répertoire de travail ancre chemins relatifs shell et fichier.

Dérive de configuration est divergence silencieuse entre policy documentée et JSON courant.

Snapshot de rollback capture config saine avant edits risqués.

Mac distant hébergé est matériel Apple géré pour passerelles et livraison d'artefacts type SFTP.

FAQ et pont Mac hébergé

Le doctor prouve-t-il que le modèle ne peut pas quitter l'espace de travail ?

Non. doctor aide aux erreurs de configuration ; permissions OS, comptes séparés et monitoring restent nécessaires. Utilisez prompts synthétiques interdits et vérifiez refus dans les logs.

Faut-il partager le même utilisateur passerelle entre onboarding et production ?

Évitez. Si impossible, isolez profils, clés, racines et ne réutilisez pas secrets production sur hôtes d'apprentissage.

Où placer les serveurs MCP dans le moindre privilège ?

Chaque serveur est sa frontière. Redémarrez après transport ou droits et lisez le guide MCP stdio pour éviter processus résiduels.

Résumé : Traitez workspaceAccess et périmètre shell comme contrôles sécurité production. Superposez statut passerelle, openclaw doctor et journaux structurés comme pour les canaux.

Limites : Passerelles auto-hébergées combinent risque modèle et OS. Mac distant hébergé SFTPMAC offre un motif de nœud géré qui s'accorde à des passerelles OpenClaw disciplinées et une livraison d'artefacts stable.

En resserrant les périmètres, communiquez l'ordre de lecture à toutes les régions pour éviter playbooks incompatibles.

Explorez SFTPMAC pour une plateforme Mac distant qui respecte les frontières production tout en gardant passerelles et transferts prévisibles.