sand-boxer/extensions/ext.bwrap.yaml
tegwick 76c38e758c
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Implement ext.bwrap: local bubblewrap namespace extension (SAND-WP-0013)
Adds the first local, same-host, kernel-namespace-only sandbox
extension: no SSH hop, no container runtime. Extends IsolationSpec.level
with "process", implements BwrapExtension (provision/wait_ready/
teardown) spawning bwrap with unshared user/mount/pid/ipc/uts/net
namespaces, registers ext.bwrap + profile.bwrap-local, and extends
manager._handle_from_status to carry pid/workspace_dir. Verified with a
live bwrap smoke run in addition to the mocked test suite.

T04 (reachability vs. the SSH-based glas-harness consumer contract)
deliberately left open pending glas-harness's harness contract.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-26 12:37:56 +02:00

17 lines
696 B
YAML

id: ext.bwrap
title: Bubblewrap local namespaces
description: >
Self-hosted extension using bubblewrap (bwrap) kernel namespaces on the
local host. No SSH hop, no container runtime, no remote placement — the
fastest path to an isolated workspace, and the first extension where
network.default: deny is real (a genuine namespace with no interface)
rather than declarative only.
handler: sandboxer.extensions.bwrap:BwrapExtension
capabilities:
isolation_levels: [process]
regions: []
persistence: false
pricing_model: self-hosted
config:
base_dir: /tmp/sandboxer-bwrap
# ro_binds omitted — defaults to [/usr, /bin, /lib, /lib64, /etc/resolv.conf], filtered to what exists