The cage is one half of the job.
Microsoft's new MXC repository packages several containment backends behind Rust, .NET, and Node SDKs. Its policy model covers read-only, writable, and denied paths. It also covers outbound network rules and user-interface access. The selected backend changes by platform.[1]
That is useful engineering. It is also a warning against treating the word sandbox as one fixed strength. A process sandbox, Bubblewrap profile, Windows Sandbox, and microVM do not create the same boundary. The policy and backend belong in every run record.
A blocked action proves one boundary fired. It does not prove the whole cage.
Read the defaults before the badge.
VS Code 1.141 adds cross-platform terminal sandboxing for Copilot Agent Host sessions. Its documentation says the sandbox is off by default. Outbound network access and requests to run outside the sandbox both default to allowed. The same page says the process still runs under the user's account and that approvals are separate from isolation.[2]
The useful control is the effective policy report. VS Code exposes it through /sandbox policy. That report names the execution host, implementation, file rules, and network rules. Capture it before the test. Then run a harmless denied-file probe and a denied-network probe. Save both failures.
Telemetry is another route.
OpenTelemetry describes logs, traces, metrics, and profiles as separate signals. Its current design guide recommends standard OTLP export with useful context and semantic conventions. It also separates software that users run from platforms that forward telemetry for them.[3]
A trace does not strengthen containment. It tells you what the instrumented path reported. Keep the trace destination, sampling policy, redaction policy, and dropped-signal behavior beside the sandbox policy. A clean dashboard cannot prove that an uninstrumented escape did not happen.
Close the run with a receipt.
Record the revision, backend, effective policy, command, fixture, blocked probes, exit status, output digest, telemetry destination, and cleanup result. Keep the test disposable. MXC's audit mode turns off sandbox security, so its own README says never to use that mode with untrusted code.[1]
The pattern is plain. Confine with one system. Observe with another. Attack both assumptions with a fixture you can throw away.