Nube e infraestructura

Hyperlight aísla aplicaciones Linux sin modificar en micro-VMs con la velocidad de las instantáneas

El proyecto Hyperlight, ahora en el Sandbox de CNCF, ejecuta binarios estándar de Linux en micro-VMs aisladas por hipervisor, utilizando instantáneas para lograr tiempos de inicio de milisegundos para agentes de IA y plugins.

Un cubo de vidrio con una mini rack de servidores dentro, junto a un cronómetro.
Ilustración generada para este artículo

Traducido automáticamente del original en inglés.

Los recientes incidentes de seguridad relacionados con código generado por IA y entornos de ejecución vulnerables han puesto de manifiesto la urgente necesidad de fronteras de aislamiento más sólidas en los sistemas nativos de la nube. En respuesta, el proyecto Hyperlight del Sandbox de CNCF ha ampliado sus capacidades para ejecutar aplicaciones Linux sin modificaciones dentro de micro-VMs ligeras y aisladas por hipervisor. Este desarrollo permite a los desarrolladores ejecutar código potencialmente inseguro de agentes de IA o plugins de terceros con seguridad a nivel de hardware, manteniendo velocidades de inicio comparables a los procesos nativos mediante técnicas avanzadas de instantáneas.

Qué ocurrió

La infraestructura en la nube depende cada vez más de la ejecución de código que los equipos de desarrollo no escribieron, como scripts de Python generados por agentes de IA o plugins subidos por clientes. Dos eventos significativos de seguridad en 2026 subrayaron los riesgos de un aislamiento débil. En mayo, el gusano npm Mini Shai-Hulud se infiltró en los runners de CI y máquinas de desarrollo, accediendo a más de mil ubicaciones de credenciales y persistiendo dentro de los hooks de sesión de los agentes de codificación de IA. Más tarde, en octubre, la vulnerabilidad PHP2Shell expuso errores de manejo de memoria en el runtime de PHP, permitiendo a atacantes no autenticados ejecutar código en servidores antes de que estuvieran disponibles los parches. Estos incidentes demostraron que tanto el código malicioso como los entornos de ejecución comprometidos pueden violar los sandboxes tradicionales basados en software.

Hyperlight aborda estas amenazas funcionando como una biblioteca monitor de máquina virtual (VMM) en lugar de un proceso independiente como QEMU o Firecracker. Escrito en Rust con SDKs para Python y .NET, se incrusta directamente en las aplicaciones para crear micro-VMs aisladas por extensiones de virtualización de CPU. El proyecto introdujo recientemente hyperlight-unikraft, que habilita la ejecución de binarios estándar de Linux sin recompilación ni SDKs especiales. Esta integración permite que las herramientas y flujos de trabajo existentes aprovechen la seguridad a nivel de hipervisor sin las penalizaciones de rendimiento típicamente asociadas con las máquinas virtuales completas.

Cómo funciona

Hyperlight crea una micro-VM que contiene solo los componentes necesarios para una única aplicación, utilizando un unikernel del proyecto Unikraft. A diferencia de las máquinas virtuales tradicionales, estos invitados no emulan dispositivos innecesarios, reduciendo la sobrecarga y la superficie de ataque. El sistema operativo invitado no comparte kernel con el host, lo que significa que incluso si el entorno de ejecución o el código de la aplicación se ven comprometidos, el hipervisor impide el acceso a los recursos del host. Los permisos son basados en capacidades, requiriendo que la aplicación que incorpora Hyperlight permita explícitamente el acceso a la red o montajes de archivos, asegurando que nada se otorgue por defecto.

Una innovación clave en hyperlight-unikraft es su uso de instantáneas para mitigar la latencia de inicio. Los entornos de ejecución de lenguajes como Python, Node.js y .NET a menudo gastan tiempo significativo importando módulos o compilando código JIT antes de ejecutar la lógica del usuario. Hyperlight realiza esta inicialización una sola vez, luego toma una instantánea de la micro-VM cuando el entorno de ejecución está inactivo. Las ejecuciones posteriores restauran esta instantánea en milisegundos, evitando el pesado trabajo de inicio. Para cargas de trabajo con costos sustanciales de inicialización, como la carga de bibliotecas de ciencia de datos, este enfoque puede ser significativamente más rápido que la ejecución nativa, mientras sigue proporcionando los beneficios de seguridad del aislamiento por hardware.

Detalles clave

  • Hyperlight ejecuta binarios Linux sin modificar para lenguajes incluyendo Python, Node.js, .NET, Java, PHP, Go, Rust, C, Bash y PowerShell en arquitecturas x86_64 y arm64.
  • El sistema utiliza tecnologías de hipervisor como KVM o MSHV en Linux, WHP en Windows y Hypervisor.framework en macOS para hacer cumplir el aislamiento.
  • La restauración de instantáneas permite que las micro-VMs inicien en milisegundos, con benchmarks mostrando que un script de Python que importa numpy y pandas inicia en 45 ms comparado con 1,119 ms nativamente.
  • Las integraciones incluyen urunc para soporte de runtime de contenedores Kubernetes, smolagents-hyperlight para ejecución de código de agentes de IA y clickhouse-hyperlight para funciones definidas por el usuario seguras.
  • El proyecto demostró que un exploit de Wasmtime (CVE-2023-26489) que podía leer la memoria del host al ejecutarse nativamente fue contenido dentro de la micro-VM al ejecutarse vía hyperlight-unikraft.
  • Los desarrolladores pueden construir imágenes de invitados usando Dockerfiles estándar para añadir paquetes vía pip, npm u otros gestores de paquetes, con la CLI hluk manejando la conversión a imágenes de invitados.

Por qué importa

Para ingenieros de software que construyen plataformas que ejecutan código generado por usuarios o por IA, Hyperlight ofrece una solución práctica al equilibrio entre seguridad y rendimiento. Los sandboxes de procesos tradicionales son rápidos pero vulnerables a exploits de kernel, mientras que las máquinas virtuales completas son seguras pero lentas para iniciar. Al combinar el aislamiento por hipervisor con el inicio basado en instantáneas, Hyperlight habilita entornos de ejecución seguros que no estrangulan el rendimiento de la aplicación. Esto es particularmente crítico para los frameworks de agentes de IA, que pueden necesitar generar miles de entornos de ejecución aislados para probar o ejecutar código generado por modelos.

La capacidad de ejecutar binarios sin modificar significa que los equipos no necesitan refactorizar aplicaciones existentes ni aprender nuevos modelos de programación para beneficiarse de esta capa de seguridad. Las integraciones con ecosistemas establecidos como Kubernetes y ClickHouse permiten a las organizaciones adoptar esta tecnología incrementalmente. Por ejemplo, los usuarios de bases de datos pueden definir funciones de Python que se ejecutan en micro-VMs aisladas, asegurando que el código de un usuario no pueda interferir con el de otro ni acceder a secretos del servidor. Esta capacidad soporta la multi-tenancy y el cumplimiento de seguridad sin requerir cambios complejos en la infraestructura.

Qué puedes hacer

  • Instala la CLI hluk en un host Linux con KVM o una Mac con Apple silicon usando el script de instalación provisto para comenzar a experimentar con micro-VMs.
  • Inicializa un nuevo proyecto usando el comando hluk init con plantillas para Python u otros lenguajes soportados para entender el proceso de construcción.
  • Evalúa los beneficios de rendimiento para tu carga de trabajo específica comparando los tiempos de inicio nativos contra los tiempos de restauración de instantáneas usando el harness de benchmark disponible en GitHub.
  • Explora la integración urunc si usas Kubernetes, permitiéndote ejecutar invitados hyperlight-unikraft como contenedores OCI estándar con reanudación opcional de instantáneas.
  • Revisa las demostraciones de seguridad en GitHub, como la contención del exploit de Wasmtime, para entender cómo la frontera del hipervisor limita el daño potencial de las vulnerabilidades del entorno de ejecución.
  • Considera integrar hyperlight-unikraft en frameworks de agentes de IA o sistemas de plugins donde la ejecución de código no confiable es un requisito regular, aprovechando el modelo de permisos basado en capacidades para restringir el acceso.
  • #hyperlight
  • #security
  • #virtualization
  • #ai-agents
  • #kubernetes
  • #unikraft

Herramientas de la Tienda de Bytechap

Seguir leyendo

Todos los artículos