Microsoft Execution Containers: Beleidsgestuurde isolatie voor AI-agents
Agents ontsluiten enorme productiviteitswinsten voor klanten, maar hun vermogen om over bestanden, netwerken en applicaties heen te werken, kan nieuwe beveiligingsrisico's introduceren. Dit kan ertoe leiden dat klanten het gevoel hebben dat ze slechts twee keuzes hebben: agents onbeperkte toegang geven en hopen dat er niets misgaat, of ze blokkeren en de productiviteitsvoordelen verliezen. Geen van beide opties is acceptabel.
Daarom bouwen we functionaliteiten in het Windows-platform om agents veiliger te kunnen draaien en beheren, beginnend met:
- Isolatie (Containment): beperken waar een agent bij kan en wat deze kan doen.
- Identiteit (Identity): het onderscheiden van de activiteit van een agent van die van een persoon.
- Beheerbaarheid (Manageability): organisaties voorzien van de tools om toegang te beheren en agent-activiteiten te monitoren.
Microsoft Execution Containers (MXC), inmiddels algemeen beschikbaar, levert de isolatielaag. Ontwikkelaars en IT-beheerders definiëren de resources die een agent kan gebruiken, zoals bestanden en netwerkbestemmingen, en MXC gebruikt de juiste container om deze beleidsregels tijdens de uitvoering af te dwingen.
Windows zal binnenkort ook Microsoft Entra ondersteunen om agent-activiteiten te onderscheiden van gebruikersactiviteiten. Dit zorgt ervoor dat gebruikers productief kunnen blijven, zelfs wanneer de toegang van de agent beperkt moet worden. Daarnaast worden de Microsoft Agent 365-controles uitgebreid naar lokale agents op het apparaat, waardoor IT-teams MXC-containers kunnen beheren, beleid kunnen toepassen en agent-activiteiten kunnen monitoren.
Waarom agents een beheerde uitvoeringsgrens nodig hebben
Een agent kan niet zijn eigen beveiligingsautoriteit zijn. Deze moet draaien binnen een grens die is gedefinieerd door de ontwikkelaar of organisatie en die onafhankelijk van de agent zelf wordt afgedwongen.
Neem bijvoorbeeld een codeer-agent die is gevraagd om een website bij te werken. De agent heeft lees- en schrijftoegang nodig tot de repository van de website en toegang tot de ontwikkeltools die nodig zijn om de wijziging te bouwen en te testen. De agent moet mogelijk de configuratie van de productieserver lezen om te begrijpen hoe de applicatie is geïmplementeerd, maar mag die configuratie niet kunnen wijzigen.
Zonder een beheerde uitvoeringsgrens zou de agent kunnen besluiten dat het wijzigen van de serverconfiguratie de snelste manier is om de taak te voltooien, met het risico de productiesite onbruikbaar te maken. De actie kan vanuit het perspectief van de agent redelijk zijn, maar overschrijdt nog steeds de autoriteit die de ontwikkelaar bedoelde te verlenen.
Isolatie creëert die beheerde grens: de agent kan de repository lezen en beschrijven en de serverconfiguratie lezen, maar is niet gemachtigd om iets anders te benaderen tenzij daar toestemming voor is gegeven. Als de agent probeert de serverconfiguratie te wijzigen, is de isolatieomgeving ontworpen om deze bewerking te voorkomen, ongeacht wat het model, de gegenereerde code, de plugin of de tool besluit te doen.
Wat is Microsoft Execution Containers (MXC)?
Microsoft Execution Containers (MXC) is een beleidsgestuurde uitvoeringslaag voor onbetrouwbare code of dynamisch gegenereerde workloads. In scenario's met agents kunnen ontwikkelaars MXC gebruiken om model-gegenereerde output, plugins, tools, de agent-harness of de volledige agent te isoleren. Dit beperkt wat de agent-workload kan benaderen en beperkt de impact als er iets misgaat.
Ontwikkelaars geven aan welke resources een workload nodig heeft, zoals bestanden en netwerkbestemmingen, en MXC handhaaft de resulterende grens met de geschikte container. Het beleid blijft buiten de controle van de agent-workload, waardoor de agent of de gegenereerde code zichzelf geen extra toegang kan verlenen.
MXC scheidt bovendien de vereisten van de workload van de platformspecifieke isolatiedetails, wat de ervaring voor de ontwikkelaar aanzienlijk vereenvoudigt. Ontwikkelaars integreren via een uniform JSON-configuratieschema en een SDK voor meerdere talen, terwijl MXC de gevraagde controles koppelt aan de geselecteerde back-ends op Windows, macOS of Linux.
Ontwikkelaars kunnen hetzelfde isolatiemodel toepassen overal waar een agent moet draaien – van een lokaal apparaat tot de cloud. Met de nu algemeen beschikbare ondersteuning voor MXC in Windows 365 kunnen ontwikkelaars agents draaien naast hun bestaande werk op Cloud PC's, waarbij het juiste isolatiemodel wordt gebruikt om de uitvoering van de agent gescheiden en veilig te houden.
Kies het isolatieniveau dat bij de workload past
Verschillende workloads vereisen verschillende niveaus van isolatie. Een codeer-agent die in een repository werkt, kan prioriteit geven aan lage latentie en responsiviteit, terwijl een agent die gevoelige gegevens verwerkt of onbetrouwbare code uitvoert, sterkere isolatie kan vereisen. MXC biedt een spectrum aan isolatieopties.
Alleen Windows ondersteunt een session container, die een agent op het apparaat van de gebruiker draait in een aparte, OS-geïsoleerde sessie met een eigen lokale agent-identiteit en geïsoleerde desktop, klembord, UI en invoergrenzen.
| Backend | Beschikbaarheid | Meest geschikt voor | Belangrijke kenmerken |
|---|---|---|---|
| Process container | Windows 11, macOS en Linux | Lichtgewicht isolatie voor responsieve workloads, inclusief model-gegenereerde code en tool-uitvoering. | Gebruikt de platform-specifieke proces-sandbox, waaronder AppContainer op Windows, Seatbelt op macOS en Bubblewrap op Linux. |
| Session container | Alleen Windows 11 | Langlopende agents en automatisering die een desktop of sterkere scheiding van de interactieve gebruiker nodig hebben. | Draait onder een apart Windows-account en een aparte sessie, waardoor de desktop, het klembord, de UI, de invoer en de actieve sessie van de agent gescheiden zijn van die van de gebruiker. |
| WSL container (WSLc) | Alleen Windows 11 | Linux-first agent-toolchains en workloads die afhankelijk zijn van het Linux-pakket- en ontwikkelingsecosysteem. | Biedt een Linux-uitvoeringomgeving via WSL. |
| MicroVM | Windows 11 en Linux (experimenteel) | Workloads met een hoger risico die profiteren van een hardware-ondersteunde virtuele grens. | Biedt hardware-afgedwongen isolatie en volledige compatibiliteit met Linux-workloads. |
Elke isolatie-backend heeft specifieke beveiligingseigenschappen; workloads moeten worden geëvalueerd om te bepalen welke backend het meest geschikt is.
Hoe het MXC-beleid workload-grenzen definieert
MXC helpt gebruikers en organisaties om meer werk aan agents te delegeren, terwijl ze beperkt blijven tot de resources die nodig zijn voor elke taak. In plaats van een agent de volledige autoriteit van de aangemelde gebruiker te geven, kunnen ontwikkelaars en IT een door het OS afgedwongen grens rond de workload van de agent definiëren.
Voor het website-scenario zou een MXC-beleid een codeer-agent lees- en schrijftoegang kunnen geven tot zijn lokale broncode-repository en toegang tot vereiste ontwikkeltools zoals Git, terwijl toegang tot persoonlijke locaties zoals de Documentenmap van de gebruiker wordt geblokkeerd. Het beleid zou ook inkomende en uitgaande netwerkverbindingen en toegang tot het interactieve bureaublad kunnen blokkeren.
| Beleidsgebied | Wat het controleert |
|---|---|
| Isolatie (Containment) | De isolatieomgeving waarin de workload draait, zoals een proces- of sessiecontainer. |
| Proces | Het commando, argumenten, de werkmap, de omgeving en andere instellingen die worden gebruikt om de workload te starten. |
| Bestandssysteem | Locaties die de workload kan wijzigen, locaties die deze kan lezen zonder te wijzigen, en locaties die niet toegankelijk zijn. |
| Netwerk | Inkomende en uitgaande connectiviteit, inclusief of de workload verbinding kan maken met services via de loopback-interface van de host. |
| Gebruikersinterface | Of de workload toegang kan hebben tot of kan communiceren met het bureaublad en gerelateerde UI-resources. |
Voor agent-ontwikkelaars is het toevoegen van MXC-ondersteuning eenvoudig: je kunt een codeer-agent gebruiken om de MXC SDK te integreren en een eerste workload-beleid op te stellen, om dit vervolgens te beoordelen, testen en verfijnen.
Hoe workload- en organisatiebeleid samenwerken
Agent-ontwikkelaars geven aan welke resources hun agent-workloads mogelijk nodig hebben. Organisaties kunnen aanvullende beperkingen opleggen via beheerbeleid, zoals met Microsoft Intune. Hierdoor kan dezelfde agent binnen verschillende bedrijfsomgevingen werken zonder dat de ontwikkelaar de beveiligingshouding van de organisatie in de applicatie hoeft te coderen.
Isolatie wordt waardevoller wanneer organisaties dit consistent kunnen toepassen. Intune-beleid zal binnenkort beschikbaar zijn om MXC-procescontainers te beheren die worden gebruikt door MXC-geïntegreerde agents op Windows 11. Deze regels geven IT-beheerders controle over hoe Windows verzoeken voor containercreatie door agents evalueert en welke resourcegrenzen door die containers worden afgedwongen.
Agent-ontwikkelaars moeten hun workloads zo ontwerpen dat ze kunnen werken binnen grenzen die restrictiever kunnen zijn dan de standaardconfiguratie. Als het organisatiebeleid een resource blokkeert, moet de agent uitleggen dat de taak niet kon worden voltooid binnen de beschikbare machtigingen, een passende actie van de gebruiker of beheerder aanvragen (indien ondersteund), of een veilig alternatief kiezen. De agent mag niet stilzwijgend falen.
Beleid observeren en verfijnen vóór handhaving
Het schrijven van een least privilege-beleid kan moeilijk zijn als je nog niet alle resources kent die een agent-workload nodig heeft. Alleen op Windows kunnen MXC-procescontainers een activiteitsrapport van de agent genereren, waarin staat welke resources een workload heeft geprobeerd te gebruiken, om te helpen bij het opstellen van een beleid met minimale privileges.
MXC ondersteunt drie modusinstellingen:
| Modus | Onverleende toegang | Activiteitsrapport | Bedoeld gebruik |
|---|---|---|---|
| Enforcement | Geblokkeerd | Nee | De workload draaien met het productiebeleid. |
| Learning | Geblokkeerd en geregistreerd | Ja | Fouten diagnosticeren en verifiëren dat het beleid alleen de vereiste toegang verleent. |
| Permissive | Toegestaan en geregistreerd | Ja | Agent-activiteit observeren zonder het beleid af te dwingen. |
In de Enforcement-modus past MXC het beleid toe zonder activiteitsrapport. Toegestane bewerkingen gaan door, en bewerkingen buiten de grens worden beperkt.
In de Learning-modus blijft MXC de geconfigureerde grens handhaven. Een bewerking die niet is toegestaan, wordt geblokkeerd en geregistreerd in een JSON-activiteitsrapport. Hierdoor kunnen ontwikkelaars of IT isolatiefouten reproduceren en begrijpen welke resources de workload probeerde te benaderen.
In de Permissive-modus registreert MXC toegang die het beleid zou hebben geweigerd, maar laat het de bewerking toch doorgaan. Dit is nuttig tijdens het schrijven van het beleid, omdat de workload kan worden voltooid terwijl ontwikkelaars of IT bewijs verzamelen over de gebruikte resources. De permissive-modus omzeilt geen andere toepasselijke beperkingen van het besturingssysteem of de organisatie.
Wanneer je een agent voor het eerst in een MXC-container plaatst, kan het beleid functies blokkeren die de workload legitiem nodig heeft. Deze weigeringen laten zien waar de grens moet worden aangepast, zodat je de benodigde toegang kunt verlenen zonder het bereik van de agent onnodig uit te breiden.
Agent-identiteit & attributie
Isolatie beantwoordt de vraag wat een agent mag doen. Identiteit helpt bepalen welke agent een actie heeft uitgevoerd. Binnenkort zal Windows het mogelijk maken voor Microsoft Entra om agent-activiteit te onderscheiden van gebruikersactiviteit in Microsoft Agent 365.
Deze scheiding stelt beveiligingsteams in staat om het gedrag en risico van een agent onafhankelijk te evalueren van de persoon die het apparaat gebruikt. Als een agent gecompromitteerd raakt of het beleid overtreedt, zullen beveiligingscontroles zich richten op de toegang van de agent tot beschermde resources, zonder de toegang van de werknemer te blokkeren. Naarmate organisaties meer agents implementeren, hoeft één misbehorende agent de toegang of productiviteit van de werknemer niet te onderbreken.
Attributie op agent-niveau verbetert ook het onderzoek en beheer. Beheerders kunnen Agent 365 gebruiken om te begrijpen welke agents draaien, activiteiten aan een specifieke agent koppelen, riskant gedrag onderzoeken en beleid toepassen op individuele agents of groepen agents, in plaats van alleen te vertrouwen op context op gebruikers- of apparaatniveau.
Agents die vandaag MXC gebruiken
NVIDIA heeft OpenShell geïntegreerd in MXC, waarmee MXC wordt aangevuld met beleidscontroles voor agent-toegang tot bestanden en inferentiediensten, geavanceerde netwerkcontroles, beheer van inloggegevens en, voor ondernemingen, OCSF-auditing.
Toonaangevende agents en agent-frameworks ondersteunen MXC al, waaronder GitHub Copilot, OpenClaw, OpenAI Codex, Replit, LM Studio en Unsloth AI. Velen anderen zullen ondersteuning voor MXC uitbrengen: Anthropic Claude Code, Box, Egnyte, Heidi Health, Hermes Agent by Nous Research, Manus, Perplexity, Raycast en Simular, tussen anderen. Voor mensen die AI dagelijks gebruiken, maken deze waarborgen deel uit van de agent-ervaring zelf, wat gebruikers een veiligere manier biedt om met deze tools te werken.
Scenario's van GitHub Copilot, Codex en Replit tonen aan hoe MXC een veeleisende workflow voor ontwikkelaars ondersteunt. Een codeer-agent heeft toegang nodig tot de projectrepository, ontwikkeltools en commando's die nodig zijn om een taak te voltooien, maar mag niet automatisch toegang krijgen tot niet-gerelateerde bestanden of netwerkbestemmingen. MXC behoudt de mogelijkheden die de agent nodig heeft, terwijl het duidelijke grenzen handhaaft rond de rest van het systeem.
Aan de slag en feedback delen
Met isolatie, identiteit en beheerbaarheid ingebouwd in het platform, helpt Windows agents om veiliger te draaien, terwijl ontwikkelaars en IT controle houden over wat ze kunnen benaderen en doen.
MXC blijft verbeteren naarmate we de isolatie-backends, het opstellen van beleid, de beheerbaarheid, de observeerbaarheid en meer ondersteunde scenario's in de containers uitbreiden.
Je kunt vandaag beginnen met de MXC SDK, het configuratieschema, de documentatie en voorbeelden in de MXC-repository. Als je onverwacht gedrag tegenkomt of ideeën hebt om de ervaring te verbeteren, open dan een issue op GitHub en help mee vorm te geven wat er volgt.
Groetjes,