Summary
I'd like to propose BoxLite as a sandbox solution for Goose. This relates to #5943 which discusses sandbox support options.
What is BoxLite?
BoxLite is an embeddable virtual machine runtime that provides hardware-level isolation without the complexity of traditional VMs or Docker:
- Hardware Isolation — Each sandbox runs in a separate micro-VM with its own kernel, not just namespaces
- No Daemon Required — Embeddable library, no root/Docker daemon needed
- Cross-Platform — macOS (Apple Silicon) and Linux (x86_64, ARM64)
- OCI Compatible — Use any Docker image (
python:slim, node:alpine, etc.)
- Fast Startup — Sub-second boot times with lightweight VMs
- Native Rust — Written in Rust, making integration with Goose straightforward
- Python SDK — Also available via
pip install boxlite
BoxLite is currently in private beta and will be open-sourced soon.
Why BoxLite?
Comparing sandbox approaches for AI agents:
| Approach |
Isolation Level |
Daemon Required |
Setup Complexity |
| bubblewrap/seatbelt |
Process (shares kernel) |
No |
Low |
| Docker |
Container (shares kernel) |
Yes |
Medium |
| BoxLite |
VM (separate kernel) |
No |
Low |
| Traditional VMs |
Full VM |
Yes |
High |
BoxLite provides stronger isolation than containers/namespaces (actual VM boundaries via hardware virtualization), but is much lighter than traditional VMs. It was specifically designed for AI agent sandboxing.
Since both Goose and BoxLite are written in Rust, integration would be straightforward — BoxLite can be added as a crate dependency without any FFI overhead or language bridging.
Example Usage
import asyncio
import boxlite
async def main():
async with boxlite.SimpleBox(image="python:slim") as box:
result = await box.exec("python", "-c", "print('Hello from sandbox!')")
print(result.stdout)
asyncio.run(main())
Features Relevant to Goose
- Volume Mounts — Mount host directories into the sandbox (read-only or read-write)
- Full Network Access — Outbound connections, DNS resolution, port forwarding
- Streaming I/O — Real-time stdout/stderr
- Resource Control — Configure CPUs, memory limits per sandbox
Links
Happy to help with integration or answer any questions!
Summary
I'd like to propose BoxLite as a sandbox solution for Goose. This relates to #5943 which discusses sandbox support options.
What is BoxLite?
BoxLite is an embeddable virtual machine runtime that provides hardware-level isolation without the complexity of traditional VMs or Docker:
python:slim,node:alpine, etc.)pip install boxliteBoxLite is currently in private beta and will be open-sourced soon.
Why BoxLite?
Comparing sandbox approaches for AI agents:
BoxLite provides stronger isolation than containers/namespaces (actual VM boundaries via hardware virtualization), but is much lighter than traditional VMs. It was specifically designed for AI agent sandboxing.
Since both Goose and BoxLite are written in Rust, integration would be straightforward — BoxLite can be added as a crate dependency without any FFI overhead or language bridging.
Example Usage
Features Relevant to Goose
Links
Happy to help with integration or answer any questions!