2026 : listes d’autorisation MCP fichiers OpenClaw, racines sandbox POSIX et contrôle du blast radius sur une Mac mini ProxyMac
Les agents OpenClaw qui orchestrent des builds sur des Mac mini M4 louées à Hong Kong, au Japon, en Corée, à Singapour ou aux États-Unis activent souvent le serveur MCP fichiers en amont pour que les modèles diffent des dépôts ou lisent des journaux. La commodité devient catastrophique lorsque les argv-roots incluent tout le répertoire personnel—car MCP hérite des permissions POSIX de l’utilisateur Unix qui exécute la passerelle, pas des idéaux de votre note de politique. Ce playbook apporte (1) un modèle de menace direct, (2) un contrat de répertoires à trois niveaux (lecture, écriture, scratch), (3) une matrice de permissions pour les comptes d’automatisation, (4) un runbook de durcissement en sept étapes et (5) des étapes d’incident si quelqu’un applique chmod -R 777 lors d’une démo de minuit. Surveillez les échecs open(2) par minute : des pics ENFILE/EMFILE prolongés indiquent souvent qu’un agent martèle des arbres interdits. Croisez avec configuration MCP, secrets + Trousseau et TCC macOS pour une défense en couches.
Exercices de table trimestriels : élargir argv en staging, observer les alertes JSONL, resserrer en 30 minutes—mieux que l’improvisation en production.
Les environnements réglementés doivent lier chemins lisibles et classes de données ; une erreur chmod dans une zone PCI peut déclencher des obligations de notification.
Pourquoi le MCP fichiers dépasse le risque de l’automatisation navigateur sur les passerelles macOS
Contrairement aux limites de Chromium sans tête, le MCP fichiers peut traverser tout chemin lisible par l’UID du démon—y compris les clés SSH dans ~/.ssh si les homes sont mal configurés. L’injection de prompt n’a pas besoin d’exécution de code distant ; un simple cat ~/.aws/credentials suffit. Scoper comme des rôles IAM : refus par défaut, ticket pour chaque inclusion, prompts supposés hostiles chaque semaine.
Envoyer des chemins hachés vers diagnostics JSONL permet au SOC de rejouer les pics sans stocker les noms clients en clair.
- Chiffres : les équipes qui journalisent en JSONL observent souvent 120–400 opérations fichiers par session agent longue.
- Apple Silicon : les clones APFS peuvent partager des snapshots entre environnements—ne confondez pas copie Finder et isolation.
- Audit : conserver les hachages de chemins pour rejouer les incidents.
Modèle à trois niveaux : racines lecture, écriture et scratch
| Niveau | Objectif | Chemin APFS typique | Verbes MCP autorisés |
|---|---|---|---|
| Corpus lecture seule | SDK fournisseurs, docs approuvées | /srv/oc-mcp/read/sdk-cache | Lister + lire octets |
| Corpus écriture | Artefacts générés, bundles compilés | /srv/oc-mcp/write/build-out | Création/append dans le sous-arbre |
| Scratch | Morceaux de diff éphémères | /srv/oc-mcp/scratch/$JOB_ID | Tout sauf échappements symlink |
Pas de liens symboliques du scratch vers l’écriture—si l’héritage ACL dérive, macOS autorise la traversée. Audits chmod -h après upgrades.
Les montures SSD externes : redémarrer la passerelle après swap matériel et invalider automatiquement le scratch de moins de 24 heures.
Matrice POSIX : comptes LaunchDaemon ↔ périmètres fichiers
| Compte Unix | Groupe principal | umask | Répertoires possédés |
|---|---|---|---|
automation | staff | 027 | /srv/oc-mcp/* uniquement |
builder (interactif) | developer | 022 | Arbres Homebrew, pas racines MCP |
root | wheel | n/a | Ne jamais exécuter MCP en root—baisser les privilèges avant exec |
sudo chown -R automation:staff /srv/oc-mcp, puis interdire sudo dans les LaunchAgents—scripts break-glass versionnés avec sommes de contrôle.
Runbook de durcissement en sept étapes avant la prod MCP fichiers
- Geler l’inventaire : documenter chaque argv-root MCP dans la CM—pas de copies fantômes sous Téléchargements.
- Créer volumes/dossiers APFS avec sticky si pertinent ; scratch par ID de job avec préfixes datés.
- Alléger l’environnement :
HOME=/srv/oc-mcp svcdans les LaunchAgents lorsque possible. - Pare-feu secrets : jetons hors racines lisibles ou entrées Trousseau selon le guide secrets.
- Lint des prompts : middleware bloquant les chemins absolus hors liste.
- Tâche canari : tenter
../../etc/passwden staging—refus déterministes attendus. - Revue trimestrielle : comparer
find /srv/oc-mcp -perm +020à la baseline—élargissement = rollback.
Réponse aux incidents après sur-exposition
Si le JSONL montre des préfixes inattendus ou des pics de descripteurs, supposez compromission : (1) launchctl bootout de la plist MCP, (2) tmutil compare si Time Machine couvre le volume, (3) rotation des PAT cloud proches des répertoires lisibles, (4) notification client si données réglementées, (5) garde-fous regex sur les prompts jusqu’au middleware.
Horodatage à ±5 minutes pour corréler avec les cycles de facturation.
Revue blameless avec PR liés—voir aussi isolation d’environnements.
FAQ
Les profils sandbox macOS aident-ils ? Seulement si vous encapsulez les binaires MCP—la plupart des équipes s’appuient sur des listes car les serveurs upstream ne sont pas signés.
NFS distant ? À éviter pour la latence ; sinon racine en lecture seule et surveillance des blocages TCP.
APFS insensible à la casse ? Normaliser les chemins avant exposition au MCP.
Tests symlink ? ln -s ../../etc/hosts dans scratch, vérifier erreurs de permission et journal JSONL—répéter après upgrades Node mineurs.
Pourquoi la Mac mini ProxyMac convient à une posture MCP stricte
Les hôtes M4 mono-locataire offrent des chemins déterministes sans conteneurs voisins qui montent /srv en silence ; le débit Apple Silicon reste prévisible pour les lectures massives sur HK / JP / KR / SG / US. Comparez sur la page tarifs, opérationnalisez via le centre d’aide et gardez le guide VNC pour vérifier visuellement un chmod « temporaire ».
Scoper les racines MCP comme de l’IAM prod
OpenClaw · Apple Silicon M4 · HK / JP / KR / SG / US