Sicherheit 6. Mai 2026

2026: OpenClaw MCP-Dateisystem-Allowlists, POSIX-Sandbox-Roots und Blast-Radius-Kontrolle auf einer ProxyMac-Mac-mini

ProxyMac Engineering-Team 6. Mai 2026 ca. 13 Min. Lesezeit

OpenClaw-Agenten, die Builds auf gemieteten Mac-mini-M4-Hosts in Hongkong, Japan, Korea, Singapur oder den USA orchestrieren, aktivieren häufig den upstream MCP-Dateisystem-Server, damit Modelle Repos diffen oder Logs lesen. Der Komfort wird katastrophal, wenn die argv-Roots Ihr gesamtes Home umfassen—MCP erbt die POSIX-Berechtigungen des Unix-Benutzers, der das Gateway ausführt, nicht die Ideale Ihrer Policy-Notiz. Dieses Playbook liefert (1) ein scharfes Threat Model, (2) einen dreistufigen Verzeichnisvertrag für Lesen, Schreiben und Scratch, (3) eine Berechtigungsmatrix für Automatisierungskonten, (4) ein 7-Schritte-Härtungs-Runbook und (5) Incident-Schritte, falls jemand um Mitternacht chmod -R 777 setzt. Überwachen Sie pro Minute open(2)-Fehler: anhaltende ENFILE-/EMFILE-Spikes bedeuten oft, dass ein Agent verbotene Bäume hämmert. Grundlagen mit MCP-Server-Setup, Secrets + Keychain und macOS-TCC kombinieren, damit die Verteidigung geschichtet bleibt.

Planen Sie vierteljährliche Tabletops: argv in Staging absichtlich erweitern, JSONL-Alarme beobachten, innerhalb von 30 Minuten wieder straffen—das schlägt Improvisation bei Prod-Eskalationen.

Regulierte Teams sollten lesbare Pfade mit Datenklassen koppeln; ein chmod-Fehler in PCI-HDFS kann Meldepflichten auslösen.

Warum Dateisystem-MCP das Risiko headless Chromium auf macOS-Gateways übertrifft

Anders als Browser-Limits kann Dateisystem-MCP jeden für den Daemon-UID lesbaren Pfad traversieren—inklusive privater SSH-Keys in ~/.ssh, wenn Homes falsch konfiguriert sind. Prompt Injection braucht kein RCE; ein höfliches cat ~/.aws/credentials genügt. Scope wie IAM-Rollen: default deny, jede Aufnahme mit Ticket-ID, wöchentliche Rogue-Prompt-Annahme.

JSONL nur mit gehashten Pfaden erlaubt SOC-Spikes ohne Klartext-Kundendateien.

  • Zahlen: Teams mit MCP-JSONL sehen oft 120–400 Dateioperationen pro langer Agentensession—Metadaten lecken auch über Pfadnamen.
  • Apple Silicon: APFS-Klone teilen versehentlich Snapshots—Finder-Kopien ≠ Isolation.
  • Audit: Hashes an JSONL-Diagnostik senden.

Drei-Stufen-Allowlist: Read-, Write- und Scratch-Roots

StufeZweckTypischer APFS-PfadErlaubte MCP-Verben
Read-only-KorpusVendor-SDKs, freigegebene Docs/srv/oc-mcp/read/sdk-cacheList + Bytes lesen
Write-KorporaArtefakte, Build-Outputs/srv/oc-mcp/write/build-outCreate/Append im Subtree
ScratchEphemere Diff-Stücke/srv/oc-mcp/scratch/$JOB_IDAlles außer Symlink-Escapes

Keine Symlinks von Scratch in Write—bei ACL-Drift erlaubt macOS Traversal. Nach Upgrades chmod -h-Audits.

Externe SSD-Binds: nach Hardwarewechsel Gateway neu starten und Scratch < 24 Stunden automatisch invalidieren.

POSIX-Matrix: LaunchDaemon-Benutzer auf Dateisystem-Scopes mappen

Unix-KontoPrimärgruppeumaskVerzeichnisse
automationstaff027nur /srv/oc-mcp/*
builder (interaktiv)developer022Homebrew, nicht MCP-Roots
rootwheeln/aMCP nie als root—Privilegien vor exec droppen
Besitzritual: einmal sudo chown -R automation:staff /srv/oc-mcp, dann kein sudo in LaunchAgents—Break-Glass-Skripte mit Checksums in Git.

Keine Login-Shell für Servicekonten; HOME unter /srv/oc-mcp fixieren reduziert Tilde-Expansion.

7-Schritte-Härtung vor Prod-Dateisystem-MCP

  1. Inventar einfrieren: jeden MCP-argv-Root im CM—keine Schattenkopien unter Downloads.
  2. APFS-Ordner mit Sticky wo sinnvoll; Scratch pro Job-ID mit Datumspräfix.
  3. Env trimmen: LaunchAgents setzen HOME=/srv/oc-mcp svc, wenn möglich.
  4. Secrets-Firewall: Tokens außerhalb lesbarer Roots oder Keychain laut Secrets-Guide.
  5. Prompt-Lint: Middleware blockiert absolute Pfade außerhalb der Allowlist.
  6. Kanarienvogel: in Staging ../../etc/passwd lesen—deterministische Denials erwarten.
  7. Vierteljährlich: find /srv/oc-mcp -perm +020 gegen Baseline—Abweichung = Rollback.
Hinweis: Screen-Recording-TCC begrenzt keine POSIX-Lesevorgänge—Tool-Gating plus Dateisystem-ACLs, nicht nur TCC aus dem TCC-Artikel.

Incident Response nach übermäßiger Exposition

Bei unerwarteten Pfadpräfixen oder FD-Spikes von Kompromittierung ausgehen: (1) launchctl bootout der MCP-Plist, (2) optional tmutil compare, (3) Cloud-PATs rotieren, die nah an lesbaren Verzeichnissen lagen, (4) Kunden informieren bei regulierten Daten, (5) Prompt-Guardrails per Regex bis Middleware live ist.

Zeitstempel mit ±5 Minuten—Finance korreliert mit Billing-Brücken.

Blameless Review: welche argv breiter waren, wer genehmigte, welcher Test fehlte, JSONL-Retention, ob Umgebungsisolierung geholfen hätte—mit PR-Links.

FAQ

Helfen macOS-Sandbox-Profile? Nur wenn MCP-Binaries gewrappt werden—meist Allowlists, weil Upstream unsigniert ist.

Remote-NFS? Für latenzempfindliche Agenten meiden; sonst read-only Root und TCP-Stalls monitoren.

Case-insensitive APFS? Pfade vor MCP-Normalisieren.

Symlink-Tests? ln -s ../../etc/hosts in Scratch, Fehler und JSONL-Eintrag erwarten—nach Node-Minor-Upgrades wiederholen.

Warum ProxyMac-Mac-mini zu striktem MCP passt

Single-Tenant M4-Hosts liefern deterministische Pfade ohne heimliche Nachbar-Mounts; Apple Silicon hält Durchsatz stabil beim Massenlesen über HK / JP / KR / SG / US. Fußabdruck über Preise, Betrieb über Hilfe, visuelle chmod-Drift-Checks über VNC.

MCP-Roots wie Prod-IAM scopen

OpenClaw · Apple Silicon M4 · HK / JP / KR / SG / US