Quel problème OpenClaw résout-il ?
Les outils d'agents IA — Cursor, Claude Code, AutoGPT et leurs équivalents — gagnent en puissance, mais aussi en risque : lecture/écriture de fichiers, exécution shell, requêtes réseau. Sans garde-fous, une simple tâche peut corrompre une config, exposer des clés ou effacer des données. Sur macOS, le dilemme est encore plus aigu : vous avez besoin de la chaîne Xcode complète, de l'Apple Neural Engine et des services de signature de code — ce qu'un conteneur Docker ou une VM Linux ne fournit pas.
OpenClaw trace, sur une machine physique macOS réelle, une frontière d'opération auditable, réversible et interruptible pour chaque tâche d'agent IA. Ce n'est pas une cage où l'agent ne peut rien faire : vous contrôlez précisément les répertoires accessibles, les commandes système autorisées et les destinations réseau — tout en conservant les capacités natives de macOS.
Pour lancer votre première session sandbox en quelques minutes, consultez notre guide de démarrage rapide. Ce document s'adresse aux équipes qui ont déjà décidé d'utiliser OpenClaw en production et couvre l'ensemble du cycle de vie, de l'activation à l'exploitation.
Rédigé avec OpenClaw 1.4.2, macOS Sequoia 15.3 et un Mac mini M4 ZilCloud (Apple M4 · 10 cœurs · 16 Go de mémoire unifiée · SSD 256 Go) sur le nœud Japon (Tokyo). L'interface console et les sorties CLI peuvent légèrement varier selon les versions ; les concepts et la structure de configuration restent stables.
Procédure complète dans la console
OpenClaw est intégré à chaque Mac mini M4 ZilCloud, sans option payante supplémentaire. L'activation se déroule en quatre étapes :
-
01Commander et activer une instance Mac mini M4
Sur la page de configuration, choisissez un nœud (Singapour, Japon, Corée, Hong Kong ou États-Unis Est). L'offre de base démarre à 20,9 $/jour. Après paiement, livraison automatique en 1 à 5 minutes : vous recevez les identifiants SSH et le mot de passe VNC.
-
02Console → instance → onglet OpenClaw
À la première visite, l'« initialisation zero trust » génère une paire de clés Ed25519 liée à l'instance, installe le service
com.zilcloud.openclaw.daemonet crée le répertoire de journaux d'audit par défaut/var/log/openclaw/. -
03Configurer les politiques d'accès et les membres de l'équipe
Dans le panneau « Contrôle d'accès », ajoutez les e-mails des collaborateurs et attribuez un rôle (Owner / Operator / Auditor). L'Operator peut démarrer des sessions sandbox ; l'Auditor consulte les journaux sans accéder au shell sandbox.
-
04Télécharger les identifiants CLI et valider l'environnement
La console fournit un script d'installation en un clic et le téléchargement du session token. Exécutez
claw status: sidaemon: runningetauth: valids'affichent, vous pouvez configurer les politiques sandbox.
La console inclut aussi un tableau de bord temps réel : sessions sandbox actives, consommation CPU/mémoire par session, statistiques des événements BLOCK sur les 24 dernières heures. Pour les rapports de conformité, exportez un résumé PDF directement depuis l'interface.
Panorama des commandes CLI
L'outil en ligne de commande s'appelle claw ; toutes les opérations sandbox passent par lui. Voici les commandes les plus utilisées au quotidien :
# ── Status & health ──
claw status # daemon status, auth, active sessions
claw doctor # run environment diagnostics
# ── Session lifecycle ──
claw run --config policy.yaml # start sandboxed session
claw run --template xcode-build # start from saved template
claw attach <session-id> # attach to running session
claw stop <session-id> # gracefully terminate session
claw list # list all sessions (active + recent)
# ── Templates ──
claw template list # show built-in presets
claw template export agent > policy.yaml
claw template save my-ci-policy # save current config as named template
# ── Audit ──
claw audit tail <session> --follow # live audit stream
claw audit query --since 24h --action BLOCK
claw audit export <session> --format json
# ── Network policy testing ──
claw net test --domain api.openai.com # dry-run domain against active policy
claw doctor mérite d'être exécuté régulièrement. Il vérifie : daemon actif, autorisation Endpoint Security valide, répertoire de journaux accessible en écriture, token CLI non expiré. En cas d'échec de démarrage sandbox avec un message peu clair, commencez par cette commande — elle pointe souvent la cause exacte.
Configuration YAML des permissions en détail
Les politiques OpenClaw s'écrivent en YAML. Comprendre chaque champ est indispensable pour une configuration correcte. Voici un exemple de production commenté section par section :
version: "1"
session:
name: "prod-agent"
auto_cleanup: false # keep workspace after session ends
max_duration: "4h" # auto-terminate after 4 hours
idle_timeout: "30m" # terminate if no activity for 30 min
filesystem:
workspace: "~/agent-workspace"
readonly_mounts:
- /Applications
- /usr/local/bin
- /Library/Developer # Xcode toolchain
deny:
- ~/.ssh
- ~/Library/Keychains
- ~/Library/Application Support/Cursor/User/globalStorage
syscalls:
preset: "agent"
deny:
- ptrace
- setuid
- mount
network:
allow_domains:
- "api.openai.com"
- "api.anthropic.com"
- "*.github.com"
- "registry.npmjs.org"
- "pypi.org"
block_all_others: true
log_blocked: true # record blocked attempts in audit log
Section session — contrôle le cycle de vie. auto_cleanup: false convient aux tâches dont vous devez conserver les artefacts (génération de code) ; max_duration et idle_timeout sont des garde-fous contre les sessions sans surveillance.
Section filesystem — source fréquente d'erreurs. workspace est le seul répertoire en lecture/écriture ; readonly_mounts autorise la lecture seule ; deny bloque définitivement et prime sur readonly_mounts. OpenClaw résout les chemins réels des liens symboliques : si /usr/local/bin/git pointe vers Homebrew Cellar, ajoutez aussi ce répertoire en lecture seule, sinon les appels à git seront bloqués.
Section network — block_all_others: true avec log_blocked: true fait tomber silencieusement les requêtes non autorisées tout en les consignant au journal d'audit. L'agent ne reçoit pas d'erreur de connexion explicite, ce qui limite les tentatives de contournement.
Pour une compilation Xcode en sandbox, montez non seulement /Applications/Xcode.app, mais aussi /Library/Developer (toolchain) et ~/Library/Developer/Xcode/DerivedData (cache de build, en écriture). Sans DerivedData, chaque build est intégral : le temps de compilation peut être multiplié par 3 à 5.
Accès zero trust multi-utilisateur et collaboration
En équipe, tout le monde ne doit pas avoir un shell sandbox complet. Le modèle zero trust d'OpenClaw repose sur trois principes : authentification à chaque accès, privilèges minimaux, traçabilité totale.
La console propose trois rôles :
| Rôle | Démarrer sandbox | Consulter journaux | Modifier politiques | Profil type |
|---|---|---|---|---|
| Owner | Oui | Oui | Oui | Responsable équipe / DevOps |
| Operator | Oui | Oui | Non | Développeur au quotidien |
| Auditor | Non | Oui | Non | Équipe sécurité / conformité |
Chaque rôle s'authentifie via un token CLI dédié, valide 24 h par défaut, révocable depuis la console. Lors d'un départ ou d'un changement de périmètre, l'Owner peut révoquer tous les tokens actifs d'un membre et terminer ses sessions sandbox — sans redémarrer l'instance ni modifier les clés SSH.
Pour une autorisation temporaire (consultant externe, revue de code ponctuelle), créez un token Guest limité dans le temps avec droits d'audit en lecture seule : expiration automatique, sans nettoyage manuel.
Intégration CI/CD en pratique
Intégrer la sandbox OpenClaw dans un pipeline CI/CD est la clé pour fiabiliser les tâches automatisées par agent IA. Exemple de workflow GitHub Actions sur un Mac mini M4 ZilCloud en self-hosted runner, avec revue de code par agent en isolation :
# .github/workflows/ai-review.yml
name: AI Code Review (Sandboxed)
on: [pull_request]
jobs:
review:
runs-on: self-hosted # ZilCloud Mac mini M4 as self-hosted runner
steps:
- uses: actions/checkout@v4
- name: Start OpenClaw sandbox
run: |
claw run --template ci-review --detach
SESSION=$(claw list --json | jq -r '.[0].id')
echo "SESSION_ID=$SESSION" >> $GITHUB_ENV
- name: Run AI review agent
run: |
claw attach $SESSION_ID --exec \
"claude -p 'Review the diff in this PR for security issues'"
- name: Export audit log
if: always()
run: |
claw audit export $SESSION_ID \
--format json \
--output audit-${{ github.run_id }}.json
- name: Stop sandbox
if: always()
run: claw stop $SESSION_ID
Ce workflow crée une session sandbox isolée par PR (journaux séparés par pull request) ; l'agent s'exécute avec une politique réseau limitée aux API IA et à GitHub ; grâce à if: always(), le journal d'audit est exporté et archivé même en cas d'échec de la revue.
Nous recommandons de versionner le template ci-review (fichier YAML) dans .openclaw/ du dépôt, synchronisé avec le workflow CI. Chaque modification de politique laisse une trace Git ; l'équipe sécurité voit directement les frontières en vigueur.
Journaux d'audit : usages avancés
Le journal d'audit est la capacité différenciante d'OpenClaw. Au-delà du suivi en temps réel (claw audit tail), plusieurs usages avancés valent la peine d'être maîtrisés :
Requêtes filtrées — lorsqu'un agent se comporte de façon anormale, filtrez par période et type d'opération :
# Find all blocked network attempts in the last 7 days
claw audit query \
--since 7d \
--action BLOCK \
--type network \
--format table
# Find all file writes outside workspace
claw audit query \
--since 24h \
--action BLOCK \
--type write \
--format json | jq '.[] | select(.target | contains("/etc"))'
Export conformité — les audits exigent souvent un format standardisé. OpenClaw exporte en JSON, CSV et PDF. Le rapport PDF inclut résumé de session, statistiques ALLOW/BLOCK, instantané de la politique et chronologie — prêt pour une revue de conformité.
Règles d'alerte — configurez des seuils dans la console, par exemple « plus de 50 événements BLOCK/heure par session » ou « tentative de lecture de ~/.ssh ». Notification par e-mail ou Webhook vers l'Owner, sans surveillance manuelle continue du flux d'audit.
Dépannage et optimisation des performances
Voici les cinq incidents les plus fréquents dans nos tickets support et leurs résolutions :
| Symptôme | Cause probable | Solution |
|---|---|---|
| Échec des appels git / python | Chemins d'outils absents de readonly_mounts | Vérifier les cibles des symlinks, ajouter Cellar |
| Compilation Xcode très lente | DerivedData non monté en écriture | Ajouter le chemin DerivedData au workspace |
| Timeout au démarrage de claw run | Autorisation Endpoint Security expirée | Exécuter claw doctor et réautoriser |
| Toutes les requêtes réseau BLOCK | Domaines absents de la liste blanche | Tester avec claw net test domaine par domaine |
| Disque saturé par les journaux | Agent à haute fréquence, volume d'événements | Rotation des logs ou seuil log_level plus élevé |
Côté performance, la surcharge sandbox en mode audit est d'environ 3 % CPU — négligeable sur les 10 cœurs du M4. Pour des tâches ultra sensibles à la latence (inférence temps réel), vous pouvez désactiver l'audit fin des syscalls et ne garder que les couches fichiers et réseau (surcharge < 1 %). En production, nous recommandons l'audit complet : 3 % de CPU pour une traçabilité à 100 % est un bon compromis.
Checklist des bonnes pratiques de sécurité
Avant de basculer OpenClaw en production, validez chaque point :
- Une session sandbox par tâche distincte — pas de partage de session
- Politiques YAML versionnées dans Git, modifications soumises à code review
~/.ssh, Keychain et stockage global Cursor/VS Code toujours dans deny- Politique réseau par défaut
block_all_others: true, liste blanche au cas par cas max_durationetidle_timeoutpour éviter les sessions sans surveillance- Rôles au minimum nécessaire, revue périodique des tokens actifs
- Export du journal d'audit avec
if: always()dans les pipelines CI/CD - Alertes sur les événements BLOCK, notification en cas de comportement anormal
- Export et archivage des journaux avant résiliation de l'instance
Agent local nu, cloud public : quelles différences ?
Après ce guide, une question revient souvent : puis-je lancer l'agent sur mon MacBook personnel, ou sur une instance macOS AWS / Alibaba Cloud ? La comparaison mérite d'être posée clairement.
MacBook local sans sandbox — l'agent dispose des mêmes droits que vous. Une dérive peut endommager votre machine de développement principale. Aucun journal d'audit indépendant ne prouve les frontières respectées ; une équipe sécurité n'acceptera pas « je lui fais confiance ». En pratique, un poste local ne tourne pas 24 h/24 pour le CI, et le bruit/la chaleur limitent les tâches longues.
Instances macOS AWS EC2 — environnement macOS disponible, mais à partir d'environ 26 $/jour (mac2.metal), en virtualisation et non en machine physique dédiée. L'Apple Neural Engine n'est pas accessible directement depuis l'invité : les 38 TOPS du M4 sont largement inutilisés. Pas de sandbox opérationnelle ni de journal d'audit intégré : il faut déployer des outils tiers, avec coût et complexité accrus. Location minimale 24 h, peu adaptée à un essai à la journée.
GitHub Actions macOS Runner — facturation à la minute, tarif macOS environ 10× celui de Linux. Vous ne contrôlez pas les politiques de sécurité du runner : environnement partagé, pas d'isolation fine. Les files d'attente en heure de pointe peuvent dépasser 30 minutes.
La voie ZilCloud est différente : Mac mini M4 physique dédié dès 20,9 $/jour, sandbox OpenClaw intégrée sans installation supplémentaire, zero trust et journaux d'audit prêts à l'emploi, livraison en 1 à 5 minutes, 5 nœuds mondiaux, support humain 7j/7 24h/24. Vous n'obtenez pas seulement un Mac capable d'exécuter un agent, mais un environnement de production auditable, isolé et collaboratif — exactement ce sur quoi repose le workflow décrit dans ce guide.
Suivez ce guide et déployez OpenClaw dès maintenant
OpenClaw est intégré à chaque Mac mini M4 ZilCloud : machine physique dédiée, Apple Neural Engine en accès direct, zero trust et journal d'audit complet. À partir de 20,9 $/jour, sans engagement, activation et arrêt à la demande.