Disponible immédiatement · activation en 5 min

Mac mini M4 cloud
avec sandbox OpenClaw

$20.9 / jour · machine physique dédiée
Commander
Sandbox OpenClaw Zero trust Journal d'audit Machine dédiée
Exploitation / CI·CD

Démarrage rapide OpenClaw : un Mac cloud isolé pour votre agent IA

Un agent IA capable de piloter le bureau, exécuter des commandes shell et lire le système de fichiers — seriez-vous prêt à le laisser tourner sans aucune frontière ? Ce guide retrace pas à pas l'activation d'OpenClaw sur un Mac mini M4 cloud ZilCloud, la configuration des permissions et la lecture du journal d'audit, y compris la première erreur que nous avons commise en conditions réelles.

Pourquoi un agent IA a besoin d'un environnement isolé dédié ?

Si vous avez déjà utilisé Cursor, Claude Code ou tout autre agent IA capable d'invoquer des outils locaux, vous avez probablement vécu ce moment où il « dépasse son mandat » : vous lui demandez de modifier un fichier de configuration, et il en profite pour lancer un rm -rf ou envoyer votre clé SSH vers un serveur temporaire. Ce n'est pas un bug de l'IA — c'est un problème de conception système : vous n'avez pas défini clairement les limites dans lesquelles il peut agir.

Isoler un agent sur une machine de développement locale est délicat. L'App Sandbox de macOS cible surtout les applications graphiques ; Docker, lui, ne fournit pas un environnement macOS complet — signature de code, simulateur Xcode, Apple Neural Engine : tout cela est indisponible ou fortement dégradé dans un conteneur. Or de nombreuses tâches confiées à un agent IA exigent précisément des privilèges élevés (installation de logiciels, réglages système, accès au trousseau). Difficile d'accorder assez de marge pour accomplir le travail tout en l'enfermant dans une cage trop étroite.

OpenClaw part d'un constat différent : plutôt que d'enfermer l'agent dans une boîte restrictive, il trace sur une machine macOS physique complète une frontière d'opération auditable, reproductible et interruptible à tout moment. Vous contrôlez précisément les répertoires accessibles, les appels système autorisés et les connexions réseau — tout en conservant l'ensemble des capacités macOS pour le reste.

Environnement de test

Toutes les opérations décrites ici ont été réalisées sur un Mac mini M4 au nœud Singapour de ZilCloud (16 Go de mémoire unifiée, SSD 256 Go, bande passante dédiée 1 Gbps), sous macOS Sequoia 15.3, OpenClaw version 1.4.2.

Architecture OpenClaw : le modèle d'isolation à trois couches

Avant de toucher au terminal, prenez deux minutes pour comprendre l'architecture — cela vous évitera bien des allers-retours lors du réglage des permissions.

OpenClaw applique un modèle « trois couches » pour encadrer les actions d'un agent IA :

Couche 1 — Espace de noms du système de fichiers (namespace). À chaque démarrage de session, OpenClaw crée un point de montage temporaire dans un répertoire désigné. Toutes les lectures et écritures de l'agent y sont redirigées : même s'il tente d'écrire dans /etc/hosts, seule une copie dans le namespace est affectée, pas le système hôte. À la fin de la session, le namespace peut être nettoyé automatiquement ou conservé.

Couche 2 — Filtrage des appels système (syscall filter). OpenClaw s'appuie sur le framework Endpoint Security de macOS pour intercepter et filtrer les syscalls. Vous pouvez autoriser ou interdire finement certains types (par exemple fork / exec autorisés, ptrace et setuid bloqués), ou utiliser des modèles prédéfinis (« mode compilation », « mode crawl réseau », « mode audit lecture seule »).

Couche 3 — Contrôle d'accès réseau (Network ACL). Chaque session OpenClaw peut être associée à une politique réseau indépendante : liste blanche de domaines ou plages IP, autorisation d'écoute sur un port, résolution DNS externe. Les requêtes hors politique sont abandonnées silencieusement et consignées dans le journal d'audit — sans erreur explicite qui révélerait la frontière à l'agent et l'inciterait à contourner.

<2ms Latence de démarrage sandbox
~3% Surcharge CPU (mode audit)
100% Opérations traçables

Prérequis : provisionner un Mac mini M4 sur ZilCloud

OpenClaw est une fonctionnalité intégrée à ZilCloud : une fois l'instance activée depuis la console, aucune installation supplémentaire n'est requise. Si vous n'avez pas encore de compte, commencez par l'inscription et le premier démarrage — comptez environ 5 minutes :

  1. 01
    Choisir le nœud et la formule

    Rendez-vous sur la page de configuration et sélectionnez le nœud le plus proche de vos utilisateurs cibles (Singapour, Japon, Hong Kong, Corée du Sud, Est des États-Unis). Pour des tâches agent IA, le SSD de base 256 Go suffit en général ; location à la journée dès 20,9 $.

  2. 02
    Payer et attendre la livraison automatique

    Après paiement, le système attribue et livre l'instance en général en 1 à 5 minutes. Vous recevez un e-mail avec les identifiants SSH et le mot de passe VNC.

  3. 03
    Vérifier que macOS est prêt via VNC ou SSH

    Connectez-vous à la console et cliquez sur « Ouvrir VNC » pour afficher le bureau macOS dans le navigateur, sans client à installer. En SSH : ssh admin@<votre-IP-publique> -p <port>.

Activer la sandbox OpenClaw (via la console)

Une fois l'instance opérationnelle, ouvrez l'entrée « OpenClaw » associée à la commande dans la console ZilCloud. La première activation déclenche une procédure d'« initialisation zero trust » : génération d'une paire de clés liée à l'instance et installation du démon OpenClaw en service système.

Après initialisation, vérifiez dans le terminal macOS que le service tourne correctement :

# Check OpenClaw daemon status
launchctl list | grep openclaw
# Expected output:
# -  0  com.zilcloud.openclaw.daemon

Un code de sortie 0 indique que le démon est actif. Installez ensuite l'outil en ligne de commande si la console ne l'a pas fait automatiquement :

# Install OpenClaw CLI
curl -fsSL https://cdn.zilcloud.com/openclaw/install.sh | bash

# Verify version
claw --version
# openclaw 1.4.2 (darwin/arm64)
Signe que l'installation a réussi

Après claw status, vous devez voir « daemon: running » et un jeton de session valide. L'environnement est prêt pour la configuration des permissions.

Définir les frontières de permissions de l'agent IA

OpenClaw s'appuie sur des fichiers YAML pour décrire la politique de chaque session sandbox. Pour les scénarios agent IA, trois modèles prédéfinis sont disponibles via le CLI :

# List available templates
claw template list

# output:
# readonly    — read-only audit mode (no writes, no network)
# dev         — developer mode (full fs write, npm/pip allowed, no external network)
# agent       — AI agent mode (scoped fs, curated syscalls, filtered network)

Pour une première prise en main, partez du modèle agent, puis ajustez selon vos besoins :

# Generate a config file from the agent template
claw template export agent > ~/openclaw-agent.yaml

Le fichier openclaw-agent.yaml généré ressemble à ceci (commentaires simplifiés) :

version: "1"
session:
  name: "my-agent-session"
  auto_cleanup: true        # clean namespace on session exit

filesystem:
  workspace: "~/agent-workspace"   # agent's r/w root
  readonly_mounts:
    - /Applications          # read access to installed apps
    - /usr/local/bin         # allow calling homebrew tools
  deny:
    - ~/.ssh                 # block ssh key access
    - ~/Library/Keychains    # block keychain access

syscalls:
  preset: "agent"            # allows fork/exec, blocks ptrace/setuid

network:
  allow_domains:
    - "api.openai.com"
    - "api.anthropic.com"
    - "*.github.com"
  block_all_others: true     # silent-drop, not reject

Cette configuration fait trois choses essentielles : les écritures de l'agent sont confinées à ~/agent-workspace ; il peut lire les applications installées et les outils Homebrew, mais pas vos clés SSH ni le trousseau ; le réseau n'autorise que quelques domaines explicites, tout le reste est silencieusement bloqué.

L'erreur que nous avons faite la première fois

Lors de notre premier essai, nous avions oublié d'ajouter /usr/local/bin aux montages en lecture seule. Résultat : les appels à git ou python3 échouaient tous, car ces binaires Homebrew sont des symlinks dont la cible résolue ne figurait pas dans la liste autorisée. Le journal d'audit nous a permis d'identifier la règle en cause.

Lancer votre première tâche agent IA

Configuration prête, démarrez une session isolée avec claw run, puis lancez votre agent à l'intérieur :

# Start a sandboxed session with the config
claw run --config ~/openclaw-agent.yaml --attach

# Inside the session, you are now in the sandboxed environment
# Prompt changes to indicate active sandbox:
# (claw:my-agent-session) admin@mac-ZC-xxxxx:~$

# Now run your AI agent tool, e.g. Claude Code
claude --dangerously-skip-permissions

L'option --attach ouvre directement un shell sandboxé : tous les processus lancés dedans sont surveillés par OpenClaw. claude --dangerously-skip-permissions est un paramètre de Claude Code qui lui permet d'agir sur le système de fichiers de façon autonome — mais dans la sandbox OpenClaw, cette « autonomie » reste cantonnée aux limites de votre YAML : le danger est contenu à l'intérieur de la frontière.

Pendant l'exécution, un second terminal permet de suivre le flux d'audit en direct :

# Tail the audit stream for the active session
claw audit tail my-agent-session --follow

# Sample output:
# [10:23:41] ALLOW  exec     /usr/local/bin/git clone https://github.com/...
# [10:23:42] ALLOW  write    ~/agent-workspace/repo/README.md
# [10:23:45] BLOCK  network  outbound → 142.250.x.x (google.com) — policy: block_all_others
# [10:23:48] ALLOW  exec     /usr/bin/python3 analyze.py

Chaque ligne comporte : horodatage, décision (ALLOW / BLOCK), type d'opération (exec / write / network / read), cible précise, et en cas de BLOCK la règle de politique déclenchée. Le journal est persisté et consultable même après la fin de session.

Zero trust et journal d'audit : la valeur concrète

La requête google.com bloquée ci-dessus s'est réellement produite : en analysant du code, l'agent a chargé une bibliothèque interne qui, au démarrage, tentait d'envoyer un ping d'initialisation vers Google Analytics. Dans un environnement classique, ce comportement passe inaperçu ; dans OpenClaw, il est consigné.

C'est là l'esprit du zero trust : ne pas « méfier » l'agent par principe, mais ne pas supposer que chaque action correspond à votre intention. Rendre toutes les opérations visibles et auditables reste le seul moyen fiable de comprendre ce qu'il fait réellement.

Le journal d'audit sert aussi à la conformité. Si votre agent traite des données clients ou effectue des revues de code, l'équipe sécurité exigera souvent une preuve que « l'IA n'a rien exfiltré vers l'extérieur ». Les exports OpenClaw constituent un dossier vérifiable, exportable en JSON pour une revue de conformité.

# Export full audit log as JSON for compliance review
claw audit export my-agent-session \
    --format json \
    --output audit-report-$(date +%Y%m%d).json

Configurations rapides par scénario

Selon le cas d'usage, voici des réglages courants à partir du modèle agent :

Scénario Preset syscall recommandé Politique réseau Point d'attention
Génération / refactorisation de code agent Registres npm / pip autorisés Ouvrir les domaines des gestionnaires de paquets
Compilation projet iOS (Xcode) dev CDN Apple autorisé Monter /Applications/Xcode.app
Analyse de données (entrée lecture seule) readonly Tout bloqué Niveau de sécurité maximal, données sensibles
Scraping web / recherche d'information agent Liste blanche de domaines cibles Limiter strictement les domaines pour éviter les fuites
Tâches CI/CD automatisées dev GitHub / services CI autorisés Créer une nouvelle session à chaque exécution CI

OpenClaw permet de sauvegarder une configuration réglée sous forme de modèle nommé : au lieu de réécrire le YAML, lancez claw run --template xcode-build. En CI/CD, versionnez ce fichier dans le dépôt pour que chaque build s'exécute dans un environnement sandbox identique et auditable.

Recommandation production

Créez une session OpenClaw distincte pour chaque tâche agent, plutôt qu'une session partagée. Les journaux restent isolés par tâche, ce qui simplifie les investigations ; les espaces de noms fichiers sont également séparés, évitant qu'un agent lise l'état intermédiaire d'un autre.

Pourquoi ne pas isoler un agent IA avec Docker ou une VM ?

Cette question revient à chaque démonstration OpenClaw — méritons-y une réponse structurée.

Docker repose sur l'isolation Linux. Sur macOS, exécuter Docker signifie en pratique tourner dans une VM Linux — HyperKit avec Docker Desktop, Lima avec OrbStack : le noyau reste Linux. Votre agent ne bénéficie donc pas d'un vrai environnement macOS. Pour les tâches qui appellent la chaîne Xcode, l'Apple Neural Engine, codesign ou simctl, Docker est une impasse : ces outils dépendent de frameworks propriétaires macOS absents des conteneurs Linux.

La virtualisation native macOS (Virtualization.framework avec UTM ou VMware Fusion) peut héberger une VM macOS complète, mais trois contraintes pèsent lourd : imbriquer une VM macOS sur un Mac cloud consomme une part notable des ressources, et le Neural Engine M4 n'est pas accessible directement à l'invité ; la gestion d'images, snapshots et pont réseau coûte bien plus cher qu'un modèle de session OpenClaw ; enfin, une VM n'intègre pas de journal d'audit opérationnel — il faudrait déployer des collecteurs tiers pour approcher la couverture d'OpenClaw.

OpenClaw emprunte une autre voie : il s'exécute sur du macOS physique réel, intercepte les opérations via Endpoint Security, avec une surcharge mesurée d'environ 3 % CPU. L'agent ignore en général qu'il est sandboxé : Neural Engine, toolchain Xcode complète et services de signature restent authentiques — seules les frontières sont prédéfinies.

Si vous utilisez aujourd'hui un runner macOS hébergé par GitHub Actions, l'analogie est parlante : vous obtenez une VM macOS partagée, sans garantie de ressources physiques dédiées, sans audit fin dans l'environnement runner, et une facturation macOS environ dix fois supérieure au runner Linux. Le Mac mini M4 ZilCloud se loue dès 20,9 $/jour en machine physique dédiée ; avec OpenClaw intégré, vous disposez d'un environnement macOS complet, isolé et auditable pour agents IA — pas d'un substitut approximatif.

Vous pourriez aussi vous demander si une instance macOS chez AWS ou Alibaba Cloud ne suffirait pas. En pratique, EC2 Mac démarre autour de 26 $/jour (mac2.metal), en virtualisation sans hardware Apple dédié : les 38 TOPS du Neural Engine M4 restent largement inaccessibles. Pas de sandbox opérationnelle ni de journal d'audit intégré — il faut empiler des outils tiers. Location minimale 24 h, peu adaptée à un test ponctuel. ZilCloud combine Mac mini M4 physique, OpenClaw natif, zero trust et audit dès l'activation, livraison en 1 à 5 minutes, cinq nœuds mondiaux et support humain 7j/7 24h/24 — le socle sur lequel repose le workflow décrit dans cet article.

Disponible immédiatement · activation en 1 à 5 minutes

Faites tourner votre sandbox agent IA sur un vrai Mac physique

OpenClaw est intégré à chaque Mac mini M4 ZilCloud, sans installation supplémentaire. Machine dédiée, Apple Neural Engine en accès direct, zero trust et journal d'audit complet. Facturation à la journée, activation et arrêt à la demande.

$20.9 / jour · machine physique dédiée
Puce Apple M4
CPU 10 cœurs dédiés
Mémoire 16 Go unifiée
Puissance IA 38 TOPS
Surcharge sandbox <3 % CPU
SLA 99,9 %
Livraison 1–5 min