Livraison en 1–5 minutes

Mac cloud dédié
avec sandbox OpenClaw

$21.8 / jour et + · machine physique dédiée
Configurer un Mac cloud
Isolation sandbox Audit des opérations Accès zero trust Apple M4

OpenClaw en 5 minutes : sandbox isolée pour agent IA sur Mac cloud

Exécuter un agent IA directement sur macOS nu lui donne les mêmes droits que votre terminal — tout ce qu'il lit, vous aussi. OpenClaw trace une frontière de stratégie par tâche sans sacrifier la puissance du Neural Engine M4 : dépassement bloqué, chaque action journalisée. De l'activation console au premier log d'audit, voici la boucle sandbox en lecture seule en cinq minutes.

Les besoins de permissions d'un Agent diffèrent fondamentalement de ceux d'un humain

Pour un humain en SSH, les ressources nécessaires sont claires ; pour un Agent IA, c'est différent. Les frameworks (LangGraph, AutoGen, Cursor Background Agent, etc.) héritent par défaut de tous les droits de l'utilisateur OS. Un Agent chargé de « lister les TODO du dépôt en tableau Markdown » n'a besoin que de lire /workspace et écrire un fichier de sortie, en réalité il peut aussi accéder à ~/Library/Keychains, lire le répertoire des clés SSH, ou exfiltrer des données via curl. L'Agent ne le fera pas volontairement, mais un shell générique ou un plugin externe peut — et vous n'êtes pas forcément devant l'écran.

L'architecture M4 rend le sujet plus urgent, pas moins. Neural Engine 38 TOPS abaisse le coût d'inférence locale ; la fréquence des Agents sur Mac a bondi — le risque aussi. OpenClaw part du principe : pas besoin de Docker (perte de la toolchain Xcode complète), ni de VM reconstruite à chaque tâche (trop cher) — interception au niveau syscall sur macOS réel ; la stratégie est un YAML versionné avec le code.

Environnement de test de cet article

Matériel : Mac mini M4 · CPU 10 cœurs · 16 Go unifiés · 256 Go NVMe · 1 Gbps dédié (nœud Singapour VPSRox).
Système : macOS 15 Sequoia. OpenClaw CLI 0.9.x, stratégie v2.
Tâche démo : cloner un dépôt GitHub public en sandbox → scanner les TODO avec rg → rapport Markdown, lecture/écriture /workspace uniquement, pas de sortie réseau.
Tout en SSH, sans VNC.

Avant de commencer : quatre prérequis indispensables

Aucune exigence sur votre machine locale — Windows, Linux ou macOS, un client SSH suffit. Mais ces quatre points doivent être prêts avant de commencer, sinon vous bloquerez en cours de route.

1 unité Instance M4 VPSRox
livrée
SSH Identifiants et ports
téléchargés depuis la console
Token OpenClaw
instance-token
YAML Au moins un fichier de stratégie
(modèle section 4)

Instance M4 : pas encore activée ? Page de commande — nœud et durée, instance prête en 1–5 min après paiement, identifiants SSH dans « Informations d'accès ». Cinq nœuds (Singapour, Tokyo, Séoul, Hong Kong, côte est US) : mêmes specs et tarifs ; choisissez selon la latence réseau cible.

instance-token : généré à la première activation OpenClaw dans « Sécurité et sandbox », affiché une seule fois. Stockez-le immédiatement (1Password, Bitwarden, etc.). Une fois la page quittée, il n'est plus consultable ; vous pouvez seulement le faire tourner sur la même page (l'ancien expire aussitôt).

Activer OpenClaw dans la console

OpenClaw n'est pas activé par défaut — chaque instance est contrôlée séparément pour éviter le surcoût d'audit inutile. Le chemin console est court : confirmez visuellement l'état « activé » avant l'étape suivante.

  1. 01
    Ouvrir la fiche instance

    Connectez-vous à la console VPSRox, ouvrez la fiche de l'instance. Sous l'onglet « Sécurité et sandbox », trouvez le commutateur OpenClaw.

  2. 02
    Activer et sauvegarder l'instance-token

    Activez le commutateur ; une fenêtre affiche l'instance-token (oct-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). Copiez-le dans votre coffre avant de fermer, confirmez l'enregistrement, puis « J'ai sauvegardé, continuer ».

  3. 03
    Confirmer l'état « Activé »

    Après fermeture, la zone OpenClaw doit afficher le badge vert « Activé ». Si « Activation en cours » persiste après 30 s, actualisez la page. C'est la seule étape à faire dans le navigateur.

Installation CLI et trois vérifications de santé

Après connexion SSH, une commande installe OpenClaw CLI. Le script détecte macOS et l'architecture ; sur M4, l'installation prend en général moins de 30 secondes.

Installation et authentification (session SSH)

curl -fsSL https://api.vpsrox.com/openclaw/install.sh | bash

openclaw auth login --token <instance-token>

openclaw status

openclaw status doit afficher trois composants, tous healthy avant de continuer :

Composant Rôle État attendu
Policy Engine Analyser la stratégie YAML et décider avant l'appel système healthy
Sandbox Runtime Gérer le cycle de vie du sandbox, l'isolation des processus et le mapping des fichiers healthy
Audit Bus Écrire tous les événements de décision de façon asynchrone dans un journal persistant, sans bloquer le chemin principal healthy

Trois verts : condition nécessaire, pas suffisante — Policy Engine healthy = processus OK, pas YAML valide. La validation stratégie est l'étape suivante. degraded ou unavailable : lancez openclaw doctor ; cause fréquente — extension noyau en attente d'approbation (Réglages système → Confidentialité et sécurité ; SSH seul ne suffit pas, VNC bref requis).

YAML à privilèges minimaux : analyse champ par champ

La stratégie définit ce que l'Agent peut ou non faire. Principe : strict d'abord — le premier YAML n'ouvre que le minimum, observez les deny, puis élargissez selon le besoin. Modèle lecture seule « cloner dépôt public → scan statique → rapport », enregistrez-le dans ~/policies/quickstart-readonly.yaml.

quickstart-readonly.yaml — version commentée ligne par ligne

apiVersion: openclaw.vpsrox.com/v2

kind: SandboxPolicy

metadata:

  name: quickstart-readonly

spec:

  filesystem:

    allow:

      - path: /workspace

        access: [read, write] # Agent writes scan report here

    deny:

      - path: "**/Keychains/**" # block signing certificates

      - path: "**/.ssh/**" # block private keys

      - path: "**/Library/Cookies/**" # block browser session data

  process:

    allow: [git, rg, python3, zsh, bash]

  network:

    egress: deny-all # no outbound in quickstart mode

Quelques choix de conception.filesystem.deny prime sur allow : même avec /workspace en lecture/écriture, les chemins deny restent bloqués — le moteur vérifie deny avant allow. process.allow = liste blanche de noms : seuls les exécutables listés démarrent ; ajoutez node ou npm si besoin, sinon E_POLICY_DENY: process. network.egress: deny-all bloque aussi le DNS — volontaire en démo pour voir un deny et confirmer que le moteur agit.

Validez le YAML avant de créer le sandbox pour détecter les erreurs de syntaxe :

Valider le fichier de stratégie

openclaw policy validate -f ~/policies/quickstart-readonly.yaml

Sortie attendue : policy valid (0 warnings). Conflits de chemins ou fautes de champ : validate indique la ligne.

Soumettre la première tâche Agent : créer le sandbox et exécuter

Avant LangGraph ou un framework maison, testez une boucle complète avec un script shell déterministe. Comportement prévisible : vous séparez « décision de stratégie » et « logique Agent » ; en cas d'erreur, vous savez s'il faut ajuster la stratégie ou le code Agent.

  1. 01
    Créer le sandbox

    openclaw sandbox create --name quickstart --policy ~/policies/quickstart-readonly.yaml
    Succès : ID sandbox et statut ready. Création idempotente — même nom : existe déjà, pas d'erreur.

  2. 02
    Autre terminal : suivi temps réel des logs d'audit

    openclaw audit tail --sandbox quickstart --follow
    Gardez cette fenêtre ouverte — observez Agent et audit en parallèle. Chaque décision apparaît en général 50–200 ms après l'action Agent.

  3. 03
    Dans le premier terminal, exécuter le script d'entrée Agent

    Placez d'abord le script ci-dessous dans /workspace/agent-entry.sh (sur l'hôte, mappé automatiquement), puis :
    openclaw sandbox exec quickstart -- /bin/zsh /workspace/agent-entry.sh

  4. 04
    Arrêter le sandbox après la tâche

    openclaw sandbox stop quickstart
    Les données workspace restent sur l'hôte /workspace, remontées au prochain sandbox create. Nettoyage complet : ajoutez --rm.

Script d'entrée Agent minimal (enregistrer sous /workspace/agent-entry.sh)

#!/bin/zsh

set -euo pipefail

cd /workspace

# Attempt network — will be denied by policy (intentional demo)

git clone --depth 1 https://github.com/apple/swift-sample-code.git repo 2>/dev/null || echo "clone blocked (expected)"

rg -rn "TODO|FIXME" . --glob '*.swift' > scan-report.txt 2>/dev/null || true

echo "Scan complete: $(wc -l < scan-report.txt | tr -d ' ') matches" > summary.txt

cat summary.txt

Avec network.egress: deny-all, git clone est bloqué — sortie « clone blocked (expected) » ; but : un événement network decision: deny dans l'audit pour vérifier la structure. Si le script atteint rg, les droits /workspace sont corrects. Sur nœud M4 Singapour : script complet ~2,3 s, surcoût cumulé du moteur de stratégie < 80 ms.

Lecture des journaux d'audit : sens de chaque ligne

Les journaux d'audit différencient OpenClaw des autres sandbox : ce n'est pas un rapport a posteriori, mais un flux d'événements synchrone avec les décisions, consultable en direct ou exportable. Chaque entrée a un jeu de champs fixe — les comprendre permet de diagnostiquer depuis les logs.

Format typique d'un enregistrement allow (lecture fichier) :

Exemple d'événement autorisé (filesystem read)

ts=2026-07-24T08:03:12.481Z

sandbox=quickstart

pid=8231

syscall=open

resource=filesystem

path=/workspace/agent-entry.sh

access=read

decision=allow

policy_rule=filesystem.allow[0]

latency_us=34

latency_us : microsecondes de décision du moteur de stratégie ; policy_rule : index de la règle YAML déclenchée, pour repérer rapidement quelle règle allow ou deny s'applique.

Format d'un enregistrement deny (réseau bloqué) :

Exemple d'événement refusé (network egress)

ts=2026-07-24T08:03:12.512Z

sandbox=quickstart

pid=8233

syscall=connect

resource=network

dst=140.82.113.4:443

decision=deny

policy_rule=network.egress.deny-all

latency_us=19

Cet enregistrement correspond au git clone bloqué du script Agent. dst=140.82.113.4:443 est l'IP GitHub — liste blanche précise : passez network.egress en allow-list avec github.com:443, re-validez puis openclaw sandbox update --name quickstart --policy ..., sans recréer le sandbox.

Commandes courantes de requête de logs :

Tous les deny de la dernière heure : openclaw audit query --decision deny --since 1h.
Filtrer par chemin : openclaw audit query --resource filesystem --path "/workspace/**".
Export JSON (SIEM / scripts) : openclaw audit export --sandbox quickstart --since 24h --format json > audit.json.

Six erreurs courantes et méthode de diagnostic

Au premier essai, presque tout le monde rencontre au moins une de ces erreurs. Table triée par fréquence, avec cause racine et correctif le plus court — sans parcourir toute la doc.

Symptôme Cause racine Correctif le plus court
auth login indique un token invalide Espaces avant/après lors de la copie, ou token déjà roté Recopiez depuis la console « Sécurité et sandbox » ; vérifiez le presse-papiers avec pbpaste
openclaw status affiche unavailable pour un composant Extension noyau en attente d'approbation utilisateur (première installation) Connexion VNC → Réglages système → Confidentialité et sécurité → approuver l'extension OpenClaw → redémarrer le service CLI
policy validate signale unknown field Nom de champ YAML mal orthographié, ou anciens champs au format v1 Vérifiez que apiVersion vaut openclaw.vpsrox.com/v2 ; référez-vous au modèle section 5
E_POLICY_DENY: filesystem L'Agent a accédé à un chemin hors liste allow du YAML openclaw audit query --decision deny --since 1h pour le chemin cible, puis compléter filesystem.allow
E_POLICY_DENY: process L'Agent a invoqué un exécutable hors liste blanche process.allow Dans l'audit, cherchez deny resource=process et ajoutez le processus à la liste blanche
git clone en sandbox expire sans journal deny Résolution DNS bloquée, mais connect expire avant le deny Ajoutez --verbose pour la sortie git ; dans le YAML réseau, ajoutez 8.8.8.8:53 ou un mode liste de domaines
Avertissement sécurité

L'instance-token équivaut à des identifiants à haut privilège : ne le mettez ni en commentaire, ni dans .env, ni dans Git. En production multi-utilisateurs, préférez des certificats zero trust par membre et des rôles minimaux (viewer / operator / admin) plutôt qu'un token partagé.

De l'essai rapide au workflow Agent stable

Cinq minutes en lecture seule valident l'environnement ; la production est plus riche : xcodebuild (plus de processus et répertoires temporaires), npm ou PyPI (listes blanches réseau fines), sandbox par PR en CI (API REST ou GitHub Actions). Chemin commun : itérer la stratégie via les deny des logs, pas partir large au hasard.

Puissance : sur Mac mini M4 · 16 Go, mesure réelle — 2 sandbox xcodebuild avec cache DerivedData en parallèle stable, ~4 Go restants pour audit OpenClaw et services système. Charge croissante : le service parallèle Thunderbolt 5 VPSRox forme un cluster 80 Gbps multi-Mac mini ; stratégies et logs d'audit restent isolés par instance.

Sans Mac cloud dédié, les alternatives ont des limites claires. Agent 24 h/24 sur la machine de dev perturbe le quotidien et la thermique sous charge ; VM macOS cloud (Runner GitHub) : pool partagé, pas d'OpenClaw natif, files d'attente aux heures de pointe ; Mac mini au bureau : amortissement, maintenance, IP publique fixe.

VPSRox propose Mac mini M4 physique dédié (CPU 10 cœurs · 16 Go unifiés · 256 Go NVMe · Neural Engine 38 TOPS), OpenClaw inclus sur l'instance standard, cinq nœuds (Singapour, Tokyo, Séoul, Hong Kong, côte est US) avec IPv4 dédiée et 1 Gbps, livraison 1–5 minutes, à partir de 21,8 $/jour. Phase expérimentale à la journée, puis mensuel 109,1 $ sans contrat.

Machine physique dédiée · livraison en 1–5 minutes

Offrez à votre Agent IA un Mac cloud dédié avec OpenClaw intégré

Mac mini M4 dédié VPSRox, OpenClaw intégré : moteur de stratégie + runtime sandbox + bus d'audit, prêt à l'emploi. 16 Go unifiés et Neural Engine 38 TOPS pour inférence Agent et toolchain macOS en parallèle ; cinq nœuds IPv4 dédiés, location journalière sans contrat.

Configuration standard
PuceApple M4 · 38 TOPS
CPU10 cœurs dédiés
Mémoire16 Go unifiés
Bande passante1 Gbps dédié
SLA99.9%
Livraison1–5 minutes