Sécuriser les agents IA avec gVisor et les microVM dans Kubernetes
Kagent v1.0 et Agent Substrate introduisent une isolation matérielle et logicielle pour les agents IA, utilisant gVisor et les microVM pour prévenir les évasions et appliquer des politiques dans les clusters Kubernetes.
Traduit automatiquement depuis l'original anglais.
Le 26 octobre 2026, la Cloud Native Computing Foundation a publié une analyse technique approfondie sur la sécurisation des agents IA autonomes au sein des environnements Kubernetes. L'article détaille comment kagent v1.0, combiné à la plateforme Agent Substrate, comble les lacunes critiques en matière d'isolation, de sécurité et d'évolutivité pour les charges de travail agentiques. Cette approche va au-delà de la conteneurisation standard pour offrir une application robuste des politiques et une gestion des ressources destinées aux systèmes IA de niveau production.
Ce qui s'est passé
Les runtimes de conteneurs standards offrent souvent une isolation insuffisante pour le code non fiable. Bien que Docker et les moteurs similaires créent des espaces de noms séparés, ils partagent le noyau hôte, laissant des failles potentielles pour l'évasion ou le mouvement latéral. Dans le contexte des agents IA, qui peuvent exécuter des appels d'outils arbitraires, gérer des identifiants sensibles ou traiter des sorties de modèles non fiables, ce modèle d'« assainissement » plat présente un risque significatif. Le trafic entrant et sortant est fréquemment ouvert sans restriction, et sans politiques réseau strictes, un agent peut communiquer avec n'importe quel point de terminaison qu'il choisit.
Pour remédier à ces vulnérabilités, l'article de la CNCF introduit une architecture en couches centrée sur kagent et Agent Substrate. Kagent sert d'environnement d'exécution pour les agents déclaratifs et « apportez votre propre » (BYO), prenant en charge des frameworks comme LangGraph et ADK. Agent Substrate agit comme la couche d'infrastructure sous-jacente, fournissant les capacités d'assainissement nécessaires. Ensemble, ils garantissent que les agents fonctionnent dans des limites strictement définies, minimisant la surface d'attaque en cas de compromission potentielle et assurant une haute disponibilité grâce à un multiplexage efficace des ressources.
La solution proposée nécessite une isolation à la fois matérielle et logicielle. Elle impose également l'application de politiques au niveau de la passerelle IA (AI Gateway) pour contrôler le trafic à destination. En mettant en œuvre ces contrôles, les équipes d'ingénierie peuvent empêcher le code d'agents non fiables de s'échapper vers l'environnement hôte ou de compromettre l'infrastructure sous-jacente. Cette configuration permet également la capture instantanée de l'état (snapshotting), permettant aux agents de reprendre leurs opérations de manière transparente après une interruption.
Comment cela fonctionne
Agent Substrate atteint l'isolation en exécutant les agents dans des Workers, qui sont des Pods Kubernetes gérés par un plan de contrôle appelé ateapi. L'innovation principale réside dans la façon dont ces Workers isolent les processus des agents. Pour l'isolation logicielle, le système utilise gVisor. gVisor exécute la charge de travail dans l'espace utilisateur via un noyau applicatif dédié appelé Sentry. Sentry intercepte et traite les appels système, empêchant l'agent d'interagir directement avec le noyau hôte. Cela ajoute une frontière de sécurité robuste sans la surcharge de la virtualisation complète.
Pour l'isolation matérielle, Agent Substrate emploie des microVM. Ces machines virtuelles légères s'exécutent directement sur les cœurs CPU physiques en utilisant des extensions de virtualisation matérielle. Cette approche garantit que même si la couche d'isolation logicielle est franchie, l'agent reste confiné dans un environnement matériel virtualisé. La combinaison de gVisor et des microVM offre une défense en profondeur, protégeant à la fois le noyau et le matériel physique contre les comportements malveillants ou erratiques des agents.
Kagent simplifie l'interaction avec cette infrastructure complexe. Sans kagent, les développeurs devraient interagir avec Agent Substrate via des appels programmatiques bas niveau, tels que des requêtes curl vers des Actors spécifiques. Kagent fournit une interface utilisateur et des options de configuration déclaratives, permettant aux équipes de gérer les agents à l'aide de modèles Kubernetes familiers. Il abstrait la complexité du Substrate sous-jacent, le rendant accessible pour les flux de développement standards tout en maintenant des garanties de sécurité strictes.
Détails clés
- Couches d'isolation : Agent Substrate utilise gVisor pour l'isolation logicielle via le noyau en espace utilisateur Sentry et les microVM pour l'isolation matérielle sur les cœurs CPU physiques.
- Gestion du runtime : Kagent v1.0 agit comme le runtime, prenant en charge le déploiement déclaratif et les agents BYO provenant de frameworks comme LangGraph et ADK.
- Efficacité des ressources : Les agents s'exécutent sous forme d'Actors qui ne se lancent que pendant les sessions actives et s'arrêtent ensuite, optimisant l'utilisation des ressources matérielles dans les environnements multi-locataires.
- Gestion de l'état : Le système prend en charge la capture instantanée (snapshotting), permettant aux agents de sauvegarder leur état et de reprendre les opérations là où ils s'étaient arrêtés.
- Modèle de déploiement : L'installation implique la configuration de
kubectl-ate, l'installation d'Agent Substrate et le déploiement de kagent via Helm, ce qui crée un WorkerPool par défaut avec deux Workers. - Configuration : Les agents sont définis en utilisant les définitions de ressources personnalisées (CRD)
HarnessetAgentTemplate, spécifiant les chemins d'image, les emplacements de snapshot et les templates autorisés.
Pourquoi c'est important
Pour les ingénieurs logiciels et les responsables techniques, le passage aux flux de travail agentiques introduit de nouveaux défis opérationnels. Les microservices traditionnels ont des entrées et sorties prévisibles, mais les agents IA peuvent générer du code dynamique, effectuer des appels API externes et accéder à des données sensibles en fonction d'invites en langage naturel. Sans une isolation forte, un seul agent compromis pourrait potentiellement accéder à d'autres services dans le cluster ou exfiltrer des données. L'architecture décrite par la CNCF fournit un modèle pour atténuer ces risques sans sacrifier les performances ni la vélocité des développeurs.
De plus, la capacité de déclarer les configurations des agents et de les gérer via une interface utilisateur s'aligne sur les pratiques DevOps modernes. Les équipes peuvent versionner leurs définitions d'agents, appliquer des politiques cohérentes entre les environnements et surveiller efficacement l'utilisation des ressources. Le modèle d'Actor basé sur les sessions garantit que les coûts restent maîtrisés, car les ressources ne sont consommées que lorsqu'un agent traite activement une demande. Cette efficacité est cruciale pour faire évoluer les applications agentiques vers des milliers d'utilisateurs concurrents.
L'adoption de ce niveau de sécurité facilite également la conformité réglementaire. En garantissant que le code des agents ne peut pas s'échapper de son assainissement et que tout le trafic est soumis à l'application de politiques, les organisations peuvent mieux démontrer leur maîtrise de leurs systèmes IA. Cela devient de plus en plus important alors que les gouvernements et les organismes industriels introduisent des directives plus strictes pour le déploiement de l'IA dans les secteurs critiques.
Ce que vous pouvez faire
- Configurez un cluster Kubernetes local en utilisant Kind ou Minikube pour tester les étapes d'installation décrites dans le guide de la CNCF.
- Installez
kubectl-atepour permettre l'interaction en ligne de commande avec le plan de contrôle d'Agent Substrate. - Déployez kagent v1.0 via Helm, en veillant à ce que le paramètre
substrateWorkerPool.createsoit activé pour provisionner les Workers par défaut. - Définissez un
AgentTemplateet unHarnessen utilisant les exemples YAML fournis, en remplaçant les chemins d'image et les emplacements de snapshot fictifs par vos propres valeurs. - Utilisez l'interface utilisateur de kagent pour créer de nouveaux templates d'agents et harnesses, en vérifiant que les Actors ne se lancent que pendant les sessions actives.
- Revoyez vos politiques réseau actuelles et considérez comment l'isolation gVisor et microVM pourrait compléter les mesures de sécurité existantes pour les charges de travail IA.



