microsoft / mxc
git clone https://github.com/microsoft/mxc.git
v1.0.1 · 3d ago
🔥 on GitHub Trending today
Policy-driven, layered isolation and containment
—
stars, 24h
—
stars, 7 days
+1.6k
stars, 30 days · #198
2.9k
★ total
161
forks · 89 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageRust
LicenseMIT
Created2026-02-06 (8mo ago)
Last pushtoday
Watchers14
OwnerOrganization
Seen on GitHub Trending
- 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