Skip to content
This page was generated and translated with the assistance of AI. If you spot any inaccuracies, feel free to help improve it. Edit on GitHub

Sandbox

The PRX sandbox provides process and filesystem isolation for tool execution. When an agent calls a tool that runs external commands, the sandbox ensures the command runs in a restricted environment.

Sandbox Backends

PRX supports multiple sandbox backends:

BackendPlatformIsolation LevelOverhead
DockerLinux, macOSFull containerHigh
BubblewrapLinuxNamespace + seccompLow
FirejailLinuxNamespace + seccompLow
LandlockLinux (5.13+)Kernel LSMMinimal
NoneAllNo isolationNone

Configuration

toml
[security.sandbox]
backend = "bubblewrap"

[security.sandbox.docker]
image = "prx-sandbox:latest"
network = "none"
memory_limit = "256m"
cpu_limit = "1.0"

[security.sandbox.bubblewrap]
allow_network = false
writable_paths = ["/tmp"]
readonly_paths = ["/usr", "/lib"]

How It Works

  1. Agent requests a tool call (e.g., shell command execution)
  2. Policy engine checks if the call is allowed
  3. Sandbox wraps the execution in the configured backend
  4. The tool runs with restricted filesystem and network access
  5. Results are captured and returned to the agent

Released under the Apache-2.0 License.