microsoft / mxc
git clone https://github.com/microsoft/mxc.git
v1.0.1 · 5d ago
🔥 on GitHub Trending today
Sandboxed execution system that runs untrusted code on Windows, Linux, and macOS using OS-native sandboxes or VMs behind one policy model.
Why you might care
Useful when you need to run model output, plugins, or tools with filesystem, network, and UI restrictions without writing platform-specific sandboxing yourself. It ships Rust, .NET, and Node SDKs and selects a backend per platform, with some backends marked experimental.
+6
stars, 24h · #2,147
+~42
stars, 7 days · #2,731
+1.6k
stars, 30 days · #336
3.0k
★ total · +1% this week
161
forks · 95 open issues
Star history (as recorded here)
LanguageRust
LicenseMIT
Created2026-02-06 (8mo ago)
Last pushtoday
Watchers14
OwnerOrganization
Seen on GitHub Trending
- 2026-10-22 — #11 monthly in rust · +1,610 ★
- 2026-10-21 — #10 monthly in rust · +1,599 ★
- 2026-10-20 — #10 monthly in rust · +1,591 ★
Links
- GitHub: github.com/microsoft/mxc
- Releases · Issues · Hacker News mentions
README excerpt
# Microsoft eXecution Container (MXC) MXC is a **sandboxed code execution system** for running untrusted code (model output, plugins, and tools) on Windows, Linux, and macOS. It provides multiple containment backends, from OS-native process sandboxes to full VMs, behind a unified containment model and typed SDKs. ## Features - **Cross-platform**: Windows, Linux, and macOS support with platform-appropriate containment backends - **JSON-based configuration**: Versioned container-creation requests and security policies - **Multiple containment backends**: ProcessContainer, Windows Sandbox, LXC, Bubblewrap, Seatbelt, MicroVM (Nanvix), Hyperlight, IsolationSession, and WSLC - **Policy-driven sandboxing**: - **Filesystem policy**: Read-only, read-write, and denied path lists - **Network policy**: Proxy support, outbound controls, and backend-dependent host filtering - **UI policy**: Clipboard, display, and GUI access controls - **Container lifecycle operations**: Provision, start, execute, stop, and deprovision persistent containers - **Rust, .NET, and Node SDKs**: Versioned APIs for create-and-run execution and container lifecycle operations - **Diagnostics**: Tools to understand access-denied failures in a container ## What is MXC? MXC is an SDK dependency that builds into your app. [code] Your application specifies: - The container type - The containment rules - The workload command MXC validates the request, selects the backend, and launches the workload in the resulting container. ### What container types are supported? MXC runs workloads through platform-appropriate container backends on Windows, Linux, and macOS. | Runtime platform | Default backend | Other backends | Minimum host OS | |---|---|---|---| | Windows 11 x64 / ARM64 | `processcontainer` | `windows_sandbox`\*, `wslc`, `microvm`\*, `hyperlight`\*, `isolation_session` | Windows OS-version support| | Linux x64 / ARM64 | `bubblewrap` | `lxc`, `microvm`, `hyperlight` | - | | macOS ARM64 / x64 | `seatbelt` | - | - | \* These backends are **experimental**. ## How do I use MXC? Install an SDK through your package manager. You do not need to clone this repository. | SDK | Package | |---|---| | Rust | https://crates.io/crates/mxc-sdk | | .NET | https://www.nuget.org/packages/Microsoft.Mxc.Sdk | | Node | https://www.npmjs.com/package/@microsoft/mxc-sdk | The Node and .NET packages include the native runtime assets. The Rust crate builds the MXC SDK, engine, and selected backends into the consuming application. **Non-SDK consumption:** Platform-specific executor binaries, such as `wxc-exec.exe`, accept JSON container-creation requests defined by the stable schema. Use for testing or when the SDK cannot be embedded in your app. ## Running a contained workload For complete SDK samples, see the Rust, .NET, and Node samples. ### Sample Node snippet [code] See the runnable streaming standard-I/O sample and the SDK API reference. ## My application won't run in the sandbox! Your application
Blurb generated by claude-haiku-5-5 1d ago. Star deltas marked ~ are extrapolated from partial history.