sandbox
Enterprise AI Agent Sandbox
Ein Sicherheitsframework zum Einbinden von Sandbox-Ausführung in agentische KI-Workflows. Legen Sie den Connector in einen beliebigen Ordner, in dem Claude Code, Codex, Cursor oder andere KI-Agenten ausgeführt werden – alle privilegierten Befehle werden an einen menschlichen Genehmiger eskaliert, außerhalb des Agentenkontexts ausgeführt, und die Ausgabe wird an das Modell zurückgegeben, damit es fortfahren kann.
Architektur
Der Ordner-Connector verbindet die Sandbox mit Ihrem Projekt:
Claude Code-Hooks fangen Tool-Aufrufe ab, eskalieren privilegierte Operationen an einen menschlichen Genehmiger und geben die erfasste Ausgabe in einer
deny-Entscheidung zurück, sodass das Tool nie mit Agentenrechten ausgeführt wird.MCP-Server (
run_privileged,check_request,sandbox_status) bietet dieselbe Schleife über das Model Context Protocol – funktioniert mit Claude Code, Codex, Cursor, WindsurfOrdner-Warteschlange (
.sandbox/escalations/) ist der Bus: atomare Dateioperationen (os.replace,os.rename) koordinieren die Genehmigung über vier unabhängige Prozesse (Hook-Subprozess, MCP-Server, Genehmiger-Terminal, Dashboard)Policy-Engine klassifiziert Shell-Befehle, Dateischreibvorgänge, Netzwerkanfragen und Lesevorgänge – vier Eskalationsauslöser mit Human-in-the-Loop als oberster Stufe
Related MCP server: Approval Gate
Schnellstart
# Install the connector
python -m pip install -e ".[dev]"
# Initialize a folder
sandbox init . --claude --mcp
# In one terminal: watch for escalations
sandbox watch .
# In another: use Claude Code or the MCP tools as normal
# Privileged commands will appear in the `watch` terminal for approvalSo funktioniert es
Agent versucht, einen Befehl auszuführen – Claude Codes PreToolUse-Hook fängt ihn ab
Hook klassifiziert und eskaliert – Shell-Befehle, die nicht in der Zulassungsliste stehen, gehen in die Ordner-Warteschlange
Mensch genehmigt in
sandbox watch– der Genehmiger führt den Befehl außerhalb des Agenten ausAusgabe kehrt zum Modell zurück – verpackt in
permissionDecision:"deny"mit stdout in der BegründungszeichenfolgeAgent fährt fort – er hat das Ergebnis erhalten, hatte selbst nie Privilegien
Der MCP-Kanal funktioniert identisch: run_privileged gibt ein Tool-Ergebnis mit erfasster Ausgabe zurück.
Meilensteine
✅ Meilenstein 0 – Grundlagen (Fehlerbehebungen, Pfadbegrenzung, Audit-Rehydrierung)
✅ Meilenstein 1 – Die Schleife (PreToolUse-Hook, Ordner-Warteschlange, CLI-Genehmigung)
✅ Meilenstein 2 – MCP-Kanal (run_privileged, check_request, sandbox_status)
✅ Meilenstein 3 – Ordnerdatensatz (wiederherstellbare Originale, verkettetes Audit, PostToolUse)
✅ Meilenstein 4 – Weitere Auslöser (vollständiger Klassifikator, gespeicherte Entscheidungen, SessionStart-Kontext)
✅ Meilenstein 5 – Oberflächen (REST-Routen, Deinstallation, Dokumentation)
Alle Meilensteine abgeschlossen. Siehe docs/CONNECTOR.md für die vollständige technische Referenz.
Testen
# Run all tests (117 passing)
python -m pytest -q
# Test the loop with a real hook subprocess and background approver
python -m pytest tests/integration/test_connector_loop.py -v
# Test the MCP channel
python -m pytest tests/integration/test_mcp_tools.py -vProjektstruktur
src/sandbox/
├── connector/ # Folder connector (queue, hooks, policy, MCP)
├── launcher/ # M1 jailed launcher (job objects, jail, shims)
├── audit/ # Chained audit log with tamper detection
├── broker/ # Non-AI privilege executor
├── fs/ # Path containment and validation
├── agents/ # Multi-agent sandbox orchestrator
├── api/ # FastAPI routes and WebSocket
└── ...Wichtige Designentscheidungen
Der Ordner ist der Bus: Atomare Dateioperationen auf NTFS koordinieren vier unabhängige Prozesse (kein In-Memory-Zustand, keine offenen Ports, übersteht Neustarts)
denyträgt die Ausgabe: Das Tool wird nie im Agenten ausgeführt; die Ausgabe wird in die Begründungszeichenfolge eingefügtCLI-first-Genehmigung: Headless, funktioniert über SSH, keine Browser-Abhängigkeit
Fail-closed: Interne Fehler blockieren, anstatt stillschweigend zuzulassen
Nicht entfernbarer Selbstschutz:
.sandbox/**in Schreibverweigerungen und\.sandboxin Shell-Verweigerungen werden bei jedem Laden der Policy erneut injiziert – der Agent kann seine eigenen Einschränkungen nicht entfernen
Lizenz
[Noch zu bestimmen]
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceHuman-in-the-Loop authorization gateway for AI Agents. Securely pause MCP workflows and route high-risk actions to human approvers via Slack or Email.1171MIT
- AlicenseNot gradedqualityCmaintenanceProvides a human approval gate for AI agents, enabling interactive inline cards for approving, editing, or rejecting actions before they are executed.MIT
- AlicenseNot gradedqualityCmaintenancePauses AI agent execution and routes approval requests to humans via Slack or email, with cryptographically signed proof of the human's decision.197MIT
- AlicenseAqualityCmaintenanceEnables AI agents to securely use real secrets (API keys, database passwords) by requiring human approval for each release, ensuring secrets never enter the model's context.2Apache 2.0
Related MCP Connectors
Runtime permission, approval, and audit layer for AI agent tool execution.
Human-in-the-loop for AI coding agents — ask questions, get approvals via Slack.
Human-in-the-loop for AI agents. Submit choices, get a human decision.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Boredem125/architecture-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server