bilrost
Hardened Lima VM for running AI agents — overlay isolation, network containment, secrets management, and gated sync.
Install
# Via pipx (recommended)
pipx install bilrost
# Via uv
uv tool install bilrost
# Via pip
pip install bilrost
Usage
# Interactive setup
bilrost init
# Provision the VM (~5 min first run)
bilrost up
# Check status
bilrost status
# SSH into the VM
bilrost ssh
# Sync overlay changes to host (with secret scanning)
bilrost sync
# Stop / destroy
bilrost down
bilrost destroy
MCP Server
Agents can manage the sandbox programmatically via FastMCP:
{
"mcpServers": {
"sandbox": {
"command": "bilrost-mcp"
}
}
}
9 tools: sandbox_status, sandbox_up, sandbox_down, sandbox_destroy, sandbox_exec, sandbox_validate, sandbox_ssh_info, sandbox_gateway_info, sandbox_agent_identity.
What It Does
- OverlayFS isolation — host code mounted read-only, all writes contained in VM overlay
- Network containment — UFW firewall with explicit allowlist (HTTPS, DNS, Tailscale, NTP only)
- Secrets management — three injection methods,
0600perms, never in process lists - Gated sync — gitleaks scanning + path allowlist before changes reach your host
- Docker sandboxing — per-session containers with configurable network isolation
- 12 Ansible roles — overlay, secrets, gateway, docker, firewall, sync-gate, gh-cli, buildlog, cadence, qortex, tailscale, and more
Requirements
- macOS (Apple Silicon or Intel)
- Homebrew
- ~10GB disk space
Dependencies (Lima, Ansible, etc.) are installed automatically on first run.
Documentation
Full docs: peleke.github.io/openclaw-sandbox
License
MIT
Metadata
Release files for bilrost 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bilrost-1.1.0.tar.gz | 21.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bilrost-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 50.8 kB
Release files / bilrost-1.1.0.tar.gz
| Download URL | bilrost-1.1.0.tar.gz |
|---|---|
| Size | 21.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a7e970a10c32375696b757ddc558ca67a9aca5314a33788c2b9104fbe78d3c84
|
|
BLAKE2b-256 checksum How to use checksums |
4510af098f1dcdf7dbb68c2486a82ec86dfda5e22389777165883f6d4d224a1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 17, 2026.
Transparency logRelease files / bilrost-1.1.0-py3-none-any.whl
| Download URL | bilrost-1.1.0-py3-none-any.whl |
|---|---|
| Size | 29.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
146dc6543f056d81d72924a03adfa8e4bfe5b3eef5ad49e7b67c6b19b74b56fa
|
|
BLAKE2b-256 checksum How to use checksums |
e350e05e76782c0400cfc81f95f36e3d3212fe56f645b4b4c83af7750e2a991f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 17, 2026.
Transparency log