inspect-glovebox
A sandbox provider for UK AISI Inspect that runs each sample in a hardware-isolated microVM with a default-deny outgoing-traffic allowlist, and hands your scorer the record of every host the agent reached.
pip install inspect-glovebox
That pulls the glovebox-driver dependency from PyPI too. To run the unreleased code on main instead, install both distributions from the repository:
pip install \
"glovebox-driver @ git+https://github.com/AlexanderMattTurner/agent-glovebox.git#subdirectory=glovebox-driver" \
"inspect-glovebox @ git+https://github.com/AlexanderMattTurner/agent-glovebox.git#subdirectory=inspect-glovebox"
Adoption is one line on your Task
from inspect_glovebox import GloveboxSandboxConfig, glovebox_egress_scorer
Task(
dataset=dataset,
solver=solver,
sandbox=SandboxEnvironmentSpec("glovebox", GloveboxSandboxConfig(memory="4g")),
scorer=glovebox_egress_scorer("pastebin.com"),
)
Inspect finds the provider through this distribution's inspect_ai entry point, so nothing in your own code imports it. sandbox="glovebox" alone takes every default below.
What the host needs
The provider drives the glovebox command, which boots a Kata Containers microVM. A glovebox you installed (glovebox) is used first; with none on PATH, the provider downloads the release this package pins, refuses it unless its SHA-256 matches the pinned digest, and runs it from ~/.cache/inspect-glovebox. Ask whether this host qualifies:
inspect-glovebox sandbox preflight
That console script comes with this package and runs whichever glovebox a task would drive, so it works before you have installed one. Run glovebox sandbox preflight instead when you installed the CLI yourself.
It exits 0 when the host can boot a sandbox, and otherwise names what is missing and the command that installs it. GLOVEBOX_BIN points the provider at a bin/glovebox that is not on PATH. Every task refuses at startup on a host that fails preflight, so one bad host costs one error and not one error per sample.
Configuration
docs/inspect-provider.md § Configuration lists every field, its default, and what it does.
Read next
docs/inspect-provider.md covers the lifecycle, custom scorers over the traffic record, cleanup and troubleshooting. It also states which tools run at the model provider rather than in the sandbox, which the allowlist cannot bound. examples/claude_code_task.py is a runnable Claude Code task. It needs pip install inspect-swe first. examples/containment_smoke.py needs no model API key: inspect eval containment_smoke.py --model mockllm/model boots one sandbox, reaches for an allowed host and a refused one, and grades what left. The sandbox itself lives in the agent-glovebox repository, whose SECURITY.md states the threat model and what each layer does not stop.
Metadata
Release files for inspect-glovebox 0.4.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| inspect_glovebox-0.4.3.tar.gz | 220.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| inspect_glovebox-0.4.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 472.6 kB
Release files / inspect_glovebox-0.4.3.tar.gz
| Download URL | inspect_glovebox-0.4.3.tar.gz |
|---|---|
| Size | 220.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d22d7f9de76354e7e3f16ff94cfa6bea71e2f9648c8486a14ce90b519c9806e6
|
|
BLAKE2b-256 checksum How to use checksums |
302dcc98a2fa7afa2bdbd81e9c799334c8ced7cfcabdebc9df89ec069cc293dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / inspect_glovebox-0.4.3-py3-none-any.whl
| Download URL | inspect_glovebox-0.4.3-py3-none-any.whl |
|---|---|
| Size | 252.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
92160f1ded6d7c2084861ce0661b2e32cba3fd38d8871a9dbb30fe35bd74eea9
|
|
BLAKE2b-256 checksum How to use checksums |
711be9d4402616d8ed13a237fea31b6c2d99e9a6972a99e030a510d3f0296f26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|