-
Notifications
You must be signed in to change notification settings - Fork 33.6k
feat: Docker sandbox for non-main terminal sessions #8943
Copy link
Copy link
Open
Labels
P3Low — cosmetic, nice to haveLow — cosmetic, nice to havearea/dockerDocker image, Compose, packagingDocker image, Compose, packagingcomp/agentCore agent loop, run_agent.py, prompt builderCore agent loop, run_agent.py, prompt buildertool/terminalTerminal execution and process managementTerminal execution and process managementtype/featureNew feature or requestNew feature or request
Metadata
Metadata
Assignees
Labels
P3Low — cosmetic, nice to haveLow — cosmetic, nice to havearea/dockerDocker image, Compose, packagingDocker image, Compose, packagingcomp/agentCore agent loop, run_agent.py, prompt builderCore agent loop, run_agent.py, prompt buildertool/terminalTerminal execution and process managementTerminal execution and process managementtype/featureNew feature or requestNew feature or request
Type
Fields
Give feedbackNo fields configured for issues without a type.
Background
OpenClaw implements Docker-based session sandboxing: non-main sessions (groups, channels) can be isolated in per-session Docker containers where bash executes inside Docker rather than on the host. This provides strong filesystem and process isolation for untrusted sessions.
Hermes Agent's
terminal_tool.pycurrently executes bash directly on the host for all sessions. There is anexecute_codesandbox but it's Python-only and not integrated with the terminal tool for shell sessions.Proposal
Add optional Docker sandbox mode for terminal sessions, similar to OpenClaw's approach:
execution.sandbox.mode: "docker"|"host"toconfig.yamlbash,read,write; denylistbrowser,canvas,cron,gatewayfor sandboxed sessionsReferences
agents.defaults.sandbox.mode+ Docker exec for non-main sessionsdocs/gateway/security