Skip to content

Add BoxLite as a sandbox option for secure AI agent execution #6040

@DorianZheng

Description

@DorianZheng

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!

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions