Skip to main content

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.

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.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for inspect-glovebox 0.5.2
File Size Uploaded Provenance
inspect_glovebox-0.5.2.tar.gz 226.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for inspect-glovebox 0.5.2
File Interpreter ABI Platform
inspect_glovebox-0.5.2-py3-none-any.whl Python 3 none any Details

Total release size: 482.4 kB

Release files / inspect_glovebox-0.5.2.tar.gz

Download URL inspect_glovebox-0.5.2.tar.gz
Size 226.0 kB
Tags Source
SHA-256 checksum
How to use checksums
15d4c951e8e4ee2c7993dfe76482d960788d7e3151957814b152ad117f5b1d14
BLAKE2b-256 checksum
How to use checksums
c9fbd31cd7e16de71c5bcb2a2b2ccdc1c79d180eae4bfffa080cc5700c6755a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","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.5.2-py3-none-any.whl

Download URL inspect_glovebox-0.5.2-py3-none-any.whl
Size 256.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8e2bc9b625d29a1a764027fd8068ad275c90680f0eb4746367f77e5b48388ee3
BLAKE2b-256 checksum
How to use checksums
5f5628399f06eaa404313f8f999415609a9fbfb836478247a9b1ab564b5a07d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","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}

Security for inspect-glovebox 0.5.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page