Microsoft eXecution Container (MXC) est un système d'exécution de code en bac à sable conçu pour exécuter du code non fiable, tel que des sorties de modèles, des plugins et des outils, sous Windows, Linux et macOS. Il propose un modèle de confinement unifié avec plusieurs options de backend, notamment des bacs à sable natifs du système d'exploitation et des machines virtuelles complètes, accessibles via les SDK Rust, . NET et Node.
MXC utilise une configuration au format JSON pour la création de conteneurs versionnés et la définition des politiques de sécurité, permettant un contrôle précis de l'accès au système de fichiers, au réseau et à l'interface utilisateur. Les backends pris en charge incluent Process Container, Windows Sandbox, LXC, Bubblewrap, Seatbelt, MicroVM (Nanvix), Hyperlight, Isolation Session et WSLC, certains étant signalés comme expérimentaux. Le système provisionne les conteneurs selon un cycle de vie comprenant le provisionnement, le démarrage, l'exécution, l'arrêt et le déprovisionnement, et prend en charge les charges de travail ponctuelles comme celles avec état.
Les développeurs précisent le type de conteneur, les règles de confinement et les commandes de charge de travail, que MXC valide avant de lancer l'environnement isolé. Des outils de diagnostic aident à résoudre les échecs d'accès refusé, tandis que le mode audit facilite l'élaboration des politiques en journalisant les accès observés, bien qu'il désactive la sécurité et ne doive pas être utilisé avec du code non fiable. Les SDK MXC sont disponibles via les gestionnaires de paquets (crates.io, NuGet, npm), et les exécuteurs natifs comme wxc-exec.exe permettent une utilisation sans SDK à des fins de test ou d'intégration, avec certaines limitations.
La plateforme privilégie le bac à sable piloté par des politiques pour concilier sécurité et facilité d'utilisation dans les flux de travail de développement.
Source: Hacker News · Résumé par HeadlinesBriefing