weft-macos-sandbox
macOS sandbox runner plugin for Weft.
This extension adds the macos-sandbox runner via the weft.runners
entry-point group. It currently supports one-shot command TaskSpecs only and
uses sandbox-exec with a caller-provided profile.
Environment variables
The sandboxed child process does not inherit the full host environment. By default only a fixed baseline of session-plumbing variables is forwarded:
HOMELANGLC_ALLLC_CTYPELOGNAMEPATHSHELLTERMTMPDIRUSER
To forward additional host-derived values, opt in explicitly via
spec.runner.options.env_passthrough:
{
"runner": {
"name": "macos-sandbox",
"options": {
"profile": "/path/to/sandbox.sb",
"env_passthrough": ["MY_HOST_TOKEN"]
}
}
}
For fixed values (not derived from the host), set spec.env instead.
spec.env always wins over both the baseline and env_passthrough, so
TaskSpec-declared values cannot be shadowed by host state.
Migration note: weft-macos-sandbox releases before 0.6.0 inherited the
full host environment; set env_passthrough explicitly if you depended on
that.
Security model
This plugin's preflight validation only checks that
spec.runner.options.profile exists on disk (not that it is a regular,
non-empty file) and that the configured sandbox_binary (default
sandbox-exec) is on PATH; at construction time the option only needs to
be a non-empty string. It does not parse or validate the profile's
contents. Isolation is exactly what the supplied Seatbelt profile grants —
nothing more, nothing less. A profile that reads (allow default) grants no
isolation at all; the plugin runs it without complaint. Writing a correctly
restrictive profile is the caller's responsibility.
sandbox-exec is an Apple-deprecated, undocumented mechanism: Apple has
marked the command deprecated for years and publishes no supported API or
stability guarantee for the Seatbelt profile language it consumes. Treat
this runner as a best-effort, host-specific containment tool, not a
supported or guaranteed sandbox boundary — consistent with Weft's broader
trust model (docs/specifications/00-Overview_and_Architecture.md,
"Observability and Security"): user-level trust, not hostile
multi-tenancy, with the OS/filesystem as the actual security boundary.
Release tag:
weft_macos_sandbox/vX.Y.Z
Metadata
Release files for weft-macos-sandbox 0.6.23
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| weft_macos_sandbox-0.6.23.tar.gz | 5.8 kB | Without provenance | Details for weft_macos_sandbox-0.6.23.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| weft_macos_sandbox-0.6.23-py3-none-any.whl | Python 3 | none | any | Details for weft_macos_sandbox-0.6.23-py3-none-any.whl |
Total release size: 13.6 kB
Release files / weft_macos_sandbox-0.6.23.tar.gz
| Download URL | weft_macos_sandbox-0.6.23.tar.gz |
|---|---|
| Size | 5.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0025dcb3d0635083ca107fe76dd21742396b045987c9e82edce815db8dc99905
|
|
BLAKE2b-256 checksum How to use checksums |
2c86092eb436f30fc58a36a2e81c82fda7c687f83b8e7f31308508dfcef9f2d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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 / weft_macos_sandbox-0.6.23-py3-none-any.whl
| Download URL | weft_macos_sandbox-0.6.23-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
50b0ac1d4f95cf261521ce107d135ff95d484e0acfca9ed616fe8f27136cbc3f
|
|
BLAKE2b-256 checksum How to use checksums |
97c7c209e99e5cace7c9ad18649a6cf43b143c3d98c263fafc95e67af48df6a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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 weft-macos-sandbox 0.6.23
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.