MXC es un sistema de ejecución de código aislado (sandbox) desarrollado por Microsoft para ejecutar código no confiable, como salidas de modelos de IA o plugins, en entornos Windows, Linux y macOS. Su objetivo principal es proporcionar un modelo de contención unificado que permite a las aplicaciones integrar la ejecución segura sin modificar el código base, utilizando SDKs tipadas en Rust, .NET y Node.js.
El sistema se caracteriza por su arquitectura de capas, que combina backends de contención nativos del sistema operativo (como Windows Sandbox, LXC, Bubblewrap, Seatbelt y MicroVM) con un modelo de seguridad centralizado. La configuración se realiza mediante archivos JSON versionados que definen políticas de seguridad detalladas, incluyendo listas de rutas de archivo de solo lectura o escritura, controles de red con proxy y soporte para filtros de host, y restricciones de interfaz de usuario para el acceso al portapapeles y la pantalla.
MXC gestiona el ciclo de vida de los contenedores de forma consciente del estado, permitiendo provisionar, iniciar, ejecutar, detener y desprovisionar contenedores persistentes. Esto facilita la ejecución de cargas de trabajo complejas que requieren persistencia de estado. El sistema incluye herramientas de diagnóstico para analizar fallos de acceso denegado y generar artefactos para ajustar las políticas de contención. Además, MXC ofrece una opción de telemetría opcional que puede enviar datos a Microsoft, aunque requiere consentimiento explícito del usuario y permisos administrativos, y los builds de código abierto no incluyen esta funcionalidad.
La instalación se realiza a través de los gestores de paquetes estándar (npm, NuGet, crates.io) o mediante binarios ejecutables nativos para casos de uso específicos. MXC está diseñado para ser una dependencia de SDK que se integra en el proceso de la aplicación, validando las solicitudes y lanzando la carga de trabajo en el contenedor aislado seleccionado.
