Nube e infraestructura

Cinco capas para el sandboxing de agentes de IA en Kubernetes

Ingenieros de Oracle describen una arquitectura de cinco capas para aislar agentes de IA autónomos en Kubernetes, equilibrando seguridad y rendimiento mediante entornos de ejecución como gVisor y Kata Containers.

Un cubo de vidrio con circuitos protegidos por escudos metálicos en un rack de servidores
Ilustración generada para este artículo

Traducido automáticamente del original en inglés.

Los agentes de IA autónomos que generan y ejecutan código introducen nuevos riesgos de seguridad en la infraestructura compartida de Kubernetes. Para abordar esto, ingenieros de Oracle Cloud Infrastructure han definido una estrategia de sandboxing de cinco capas que aísla las cargas de trabajo de los agentes sin sacrificar la eficiencia del clúster. Este enfoque aprovecha herramientas nativas de la nube existentes para crear límites seguros alrededor de la ejecución de código no confiable.

Qué ocurrió

A medida que los agentes de IA se vuelven más comunes en los flujos de trabajo de desarrollo, operan cada vez con mayor autonomía para instalar paquetes, ejecutar scripts e iterar sobre el código. Si bien este comportamiento es manejable en un portátil local, plantea riesgos significativos en entornos empresariales donde los agentes comparten clústeres de Kubernetes con otras cargas de trabajo críticas. El aislamiento estándar de contenedores depende del kernel del host, lo que significa que una vulnerabilidad del kernel explotada por un agente podría comprometer todo el nodo.

Mickey Boxell y Kay, líderes de producto en Oracle Cloud Infrastructure (OCI), detallaron un enfoque estructurado para mitigar estos riesgos en un análisis técnico profundo. Argumentan que el aislamiento de cargas de trabajo ha pasado de ser un requisito de endurecimiento especializado a una necesidad básica para las plataformas que ejecutan agentes de IA. La solución propuesta no requiere reinventar la rueda, sino ensamblar componentes de código abierto existentes en una pila coherente.

El marco consta de cinco capas distintas: el entorno de ejecución de aislamiento, la configuración del nodo, la política de acceso, el mecanismo de solicitud de Kubernetes y la capa de gestión de sesiones. Al abordar cada capa, los equipos de plataforma pueden limitar el radio de impacto de la ejecución de código autónomo mientras mantienen el rendimiento y la flexibilidad que los desarrolladores esperan.

Cómo funciona

El núcleo de esta estrategia radica en elegir el límite de aislamiento adecuado. Los contenedores runc estándar comparten el kernel del host, ofreciendo alto rendimiento pero menor seguridad. Para un aislamiento más fuerte, los equipos pueden usar gVisor, que implementa un kernel de aplicación en espacio de usuario para manejar llamadas al sistema, reduciendo la superficie de ataque expuesta al host. Para el nivel más alto de seguridad, Kata Containers ejecuta cada pod en una máquina virtual ligera con su propio kernel invitado, separado del host mediante virtualización de hardware. Esto evita que las exploits a nivel de kernel escapen del contenedor, aunque implica una mayor sobrecarga de recursos.

Una vez seleccionado el entorno de ejecución, el nodo debe configurarse para soportarlo. Esto implica instalar shims específicos y garantizar el soporte de virtualización de hardware para entornos de ejecución basados en VMs. La capa de acceso restringe luego lo que el agente puede hacer dentro del sandbox. Esto incluye aplicar políticas de red de denegación por defecto, emitir credenciales de corta duración y montar volúmenes de datos como solo lectura a menos que se requiera explícitamente acceso de escritura. Estas políticas aseguran que, incluso si un agente está comprometido, su capacidad para exfiltrar datos o dañar sistemas externos sea mínima.

Los objetos RuntimeClass de Kubernetes permiten que los pods opten dinámicamente por estos entornos de ejecución aislados. Esto significa que las cargas de trabajo que no son de agentes pueden continuar usando el entorno de ejecución predeterminado de alto rendimiento, mientras que las tareas de agentes seleccionan automáticamente el entorno más seguro, aunque más pesado. Finalmente, el proyecto Agent Sandbox estandariza la gestión de sesiones, permitiendo entornos con estado que pueden pausarse y reanudarse, equilibrando el uso de recursos con la capacidad de respuesta.

Detalles clave

  • Opciones de aislamiento: runc comparte el kernel del host; gVisor usa un kernel en espacio de usuario; Kata Containers usa VMs ligeras con kernels invitados separados.
  • Requisitos del nodo: Kata Containers requiere nodos con soporte de virtualización de hardware (KVM) y capacidades de virtualización anidada si se ejecutan sobre VMs.
  • Control de acceso: Las políticas de red deben denegar el tráfico saliente por defecto, permitiendo solo destinos específicos como espejos de paquetes o endpoints de modelos.
  • Gestión de credenciales: Usar tokens de corta duración con alcance específico para tareas en lugar de secretos de larga duración montados en el pod.
  • Sobrecarga de recursos: Los entornos de ejecución sandboxed añaden sobrecarga de CPU y memoria; las definiciones de RuntimeClass deben incluir valores medidos de sobrecarga para una programación precisa.
  • Gestión de sesiones: La API de Agent Sandbox admite pools cálidos y almacenamiento persistente para manejar la naturaleza intermitente de las interacciones de los agentes.

Por qué importa

Para ingenieros de software y líderes de plataforma, la proliferación de agentes de IA significa que los modelos tradicionales de seguridad de contenedores ya no son suficientes. Un agente que puede ejecutar código arbitrariamente representa un vector de amenaza dinámico que el escaneo estático no puede abordar completamente. Implementar estas cinco capas proporciona una estrategia de defensa en profundidad que protege la infraestructura subyacente del comportamiento impredecible de los agentes.

La compensación entre seguridad y rendimiento es central en esta discusión. Si bien Kata Containers ofrece el aislamiento más fuerte, el costo de arrancar un kernel invitado y gestionar recursos adicionales puede ser prohibitivo para tareas de alto rendimiento y baja latencia. gVisor ofrece un punto medio, pero su emulación de llamadas al sistema Linux puede no admitir todos los comportamientos de los agentes, como compilaciones anidadas complejas o operaciones específicas del compilador. Comprender estas compensaciones permite a los equipos tomar decisiones informadas basadas en su tolerancia al riesgo específica y los requisitos de sus cargas de trabajo.

Además, este enfoque aprovecha las APIs estándar de Kubernetes, garantizando la portabilidad entre diferentes proveedores de nube y configuraciones locales. Al depender de proyectos impulsados por la comunidad como gVisor, Kata Containers y Agent Sandbox, las organizaciones evitan el bloqueo del proveedor y se benefician de actualizaciones de seguridad continuas y revisiones de diseño de un amplio ecosistema de contribuyentes.

Qué puedes hacer

  • Evalúa tus cargas de trabajo actuales de agentes para determinar el nivel de aislamiento apropiado, eligiendo entre gVisor para una seguridad equilibrada y Kata Containers para el máximo aislamiento.
  • Configura tus nodos de Kubernetes con los entornos de ejecución necesarios y asegúrate de que la virtualización de hardware esté habilitada si usas sandboxes basados en VMs.
  • Define objetos RuntimeClass para cada entorno de ejecución sandboxed, incluyendo mediciones precisas de sobrecarga de recursos para evitar fallos de programación.
  • Implementa políticas de red estrictas que nieguen por defecto todo el tráfico saliente, permitiendo explícitamente solo los endpoints requeridos para las tareas de los agentes.
  • Refactoriza la gestión de credenciales para emitir tokens de corta duración y con alcance específico para las sesiones de los agentes en lugar de usar secretos estáticos.
  • Explora el proyecto Agent Sandbox para gestionar sesiones de agentes con estado y optimizar el uso de recursos mediante pools cálidos.
  • #kubernetes
  • #ai-agents
  • #security
  • #sandboxing
  • #cloud-native

Herramientas de la Tienda de Bytechap

Seguir leyendo

Todos los artículos