Cloud et infrastructure

Hyperlight isole les applications Linux non modifiées dans des micro-VM avec une vitesse de démarrage par instantané

Le projet Hyperlight, hébergé par la CNCF Sandbox, exécute désormais des binaires Linux standard dans des micro-VM isolées par hyperviseur, utilisant des instantanés pour atteindre des temps de démarrage en millisecondes destinés aux agents IA et aux plugins.

Un cube en verre contenant un mini rack de serveurs, à côté d'un chronomètre.
Illustration générée pour cet article

Traduit automatiquement depuis l'original anglais.

Les récents incidents de sécurité impliquant du code généré par IA et des environnements d'exécution vulnérables ont souligné l'urgence de renforcer les limites d'isolation dans les systèmes cloud-native. En réponse, le projet Hyperlight, membre de la CNCF Sandbox, a étendu ses capacités pour exécuter des applications Linux non modifiées à l'intérieur de micro-VM légères, isolées par hyperviseur. Cette évolution permet aux développeurs d'exécuter du code potentiellement dangereux provenant d'agents IA ou de plugins tiers avec une sécurité au niveau matériel, tout en maintenant des vitesses de démarrage comparables à celles des processus natifs grâce à des techniques avancées d'instantanés.

Ce qui s'est passé

L'infrastructure cloud repose de plus en plus sur l'exécution de code que les équipes de développement n'ont pas écrit elles-mêmes, comme des scripts Python générés par des agents IA ou des plugins téléversés par des clients. Deux événements de sécurité majeurs en 2026 ont mis en évidence les risques liés à une isolation faible. En mai, le ver npm Mini Shai-Hulud a infiltré les runners CI et les machines de développement, accédant à plus d'un millier d'emplacements de credentials et persistant dans les hooks de session des agents de codage IA. Plus tard, en octobre, la vulnérabilité PHP2Shell a exposé des bugs de gestion de mémoire dans le runtime PHP, permettant à des attaquants non authentifiés d'exécuter du code sur les serveurs avant la disponibilité des correctifs. Ces incidents ont démontré que tant le code malveillant que les runtimes compromis peuvent contourner les sandboxes logicielles traditionnelles.

Hyperlight répond à ces menaces en fonctionnant comme une bibliothèque VMM (Virtual Machine Monitor) plutôt que comme un processus autonome tel que QEMU ou Firecracker. Écrit en Rust avec des SDK pour Python et .NET, il s'intègre directement dans les applications pour créer des micro-VM isolées via les extensions de virtualisation CPU. Le projet a récemment introduit hyperlight-unikraft, qui permet l'exécution de binaires Linux standards sans recompilation ni SDK spécifiques. Cette intégration permet aux outils et workflows existants de bénéficier d'une sécurité au niveau hyperviseur sans les pénalités de performance généralement associées aux machines virtuelles complètes.

Comment cela fonctionne

Hyperlight crée une micro-VM contenant uniquement les composants nécessaires pour une seule application, en utilisant un unikernel issu du projet Unikraft. Contrairement aux machines virtuelles traditionnelles, ces invités n'émulent pas de périphériques inutiles, réduisant ainsi la surcharge et la surface d'attaque. Le système d'exploitation invité ne partage aucun noyau avec l'hôte, ce qui signifie que même si le runtime ou le code de l'application est compromis, l'hyperviseur empêche l'accès aux ressources de l'hôte. Les permissions sont basées sur les capacités, exigeant que l'application hôte autorise explicitement l'accès réseau ou les montages de fichiers, garantissant qu'aucun accès n'est accordé par défaut.

Une innovation clé dans hyperlight-unikraft est l'utilisation d'instantanés pour réduire la latence de démarrage. Les runtimes de langage comme Python, Node.js et .NET passent souvent beaucoup de temps à importer des modules ou à compiler du code JIT avant d'exécuter la logique utilisateur. Hyperlight effectue cette initialisation une seule fois, puis prend un instantané de la micro-VM lorsque le runtime est inactif. Les exécutions suivantes restaurent cet instantané en quelques millisecondes, contournant le travail lourd de démarrage. Pour les charges de travail ayant des coûts d'initialisation substantiels, tels que le chargement de bibliothèques de data science, cette approche peut être significativement plus rapide que l'exécution native, tout en offrant les avantages sécuritaires de l'isolation matérielle.

Détails clés

  • Hyperlight exécute des binaires Linux non modifiés pour des langages incluant Python, Node.js, .NET, Java, PHP, Go, Rust, C, Bash et PowerShell sur les architectures x86_64 et arm64.
  • Le système utilise des technologies d'hyperviseur telles que KVM ou MSHV sous Linux, WHP sous Windows et Hypervisor.framework sous macOS pour imposer l'isolation.
  • La restauration d'instantanés permet aux micro-VM de démarrer en quelques millisecondes, les benchmarks montrant qu'un script Python important numpy et pandas démarre en 45 ms contre 1 119 ms en natif.
  • Les intégrations incluent urunc pour le support des conteneurs Kubernetes, smolagents-hyperlight pour l'exécution de code d'agents IA, et clickhouse-hyperlight pour des fonctions définies par l'utilisateur sécurisées.
  • Le projet a démontré qu'une exploitation de Wasmtime (CVE-2023-26489), capable de lire la mémoire de l'hôte lors d'une exécution native, était contenue dans la micro-VM lorsqu'elle était exécutée via hyperlight-unikraft.
  • Les développeurs peuvent construire des images invitées en utilisant des Dockerfiles standards pour ajouter des paquets via pip, npm ou d'autres gestionnaires de paquets, l'outil CLI hluk se chargeant de la conversion en images invitées.

Pourquoi c'est important

Pour les ingénieurs logiciels construisant des plateformes qui exécutent du code généré par les utilisateurs ou par l'IA, Hyperlight offre une solution pratique au compromis entre sécurité et performance. Les sandboxes de processus traditionnelles sont rapides mais vulnérables aux exploits du noyau, tandis que les machines virtuelles complètes sont sécurisées mais lentes à démarrer. En combinant l'isolation par hyperviseur avec un démarrage basé sur des instantanés, Hyperlight permet des environnements d'exécution sécurisés qui ne limitent pas le débit des applications. Cela est particulièrement critique pour les frameworks d'agents IA, qui peuvent avoir besoin de lancer des milliers d'environnements d'exécution isolés pour tester ou exécuter du code généré par des modèles.

La capacité d'exécuter des binaires non modifiés signifie que les équipes n'ont pas besoin de refactoriser les applications existantes ni d'apprendre de nouveaux modèles de programmation pour bénéficier de cette couche de sécurité. Les intégrations avec des écosystèmes établis comme Kubernetes et ClickHouse permettent aux organisations d'adopter cette technologie de manière incrémentale. Par exemple, les utilisateurs de bases de données peuvent définir des fonctions Python qui s'exécutent dans des micro-VM isolées, garantissant que le code d'un utilisateur ne peut pas interférer avec celui d'un autre ni accéder aux secrets du serveur. Cette capacité soutient la multi-tenancy et la conformité de sécurité sans nécessiter de changements complexes d'infrastructure.

Ce que vous pouvez faire

  • Installez l'outil CLI hluk sur un hôte Linux avec KVM ou un Mac Apple Silicon en utilisant le script d'installation fourni pour commencer à expérimenter avec les micro-VM.
  • Initialisez un nouveau projet en utilisant la commande hluk init avec des modèles pour Python ou d'autres langages pris en charge afin de comprendre le processus de construction.
  • Évaluez les bénéfices de performance pour votre charge de travail spécifique en comparant les temps de démarrage natifs aux temps de restauration d'instantanés à l'aide de la suite de benchmarks disponible sur GitHub.
  • Explorez l'intégration urunc si vous utilisez Kubernetes, ce qui vous permet d'exécuter des invités hyperlight-unikraft comme des conteneurs OCI standards avec reprise d'instantané optionnelle.
  • Consultez les démonstrations de sécurité sur GitHub, telles que la containment de l'exploit Wasmtime, pour comprendre comment la frontière de l'hyperviseur limite les dommages potentiels dus aux vulnérabilités du runtime.
  • Envisagez d'intégrer hyperlight-unikraft dans des frameworks d'agents IA ou des systèmes de plugins où l'exécution de code non fiable est une exigence régulière, en tirant parti du modèle de permission basé sur les capacités pour restreindre l'accès.
  • #hyperlight
  • #security
  • #virtualization
  • #ai-agents
  • #kubernetes
  • #unikraft

Outils de la Boutique Bytechap

Continuer la lecture

Tous les articles