GUÍA Técnica

Sandboxes de ejecución de código para agentes

Un entorno limitado de ejecución de código es un entorno aislado donde un agente de IA puede ejecutar el código que escribe sin poder dañar la máquina host, acceder a datos que no debería ver o utilizar recursos ilimitados.

Escuche esta guíaNarrado por IA · ~3 min

En esta pagina4 minutos de lectura
  1. Descripción general
  2. Buceo profundo
  3. Implementación en el mundo real
  4. El futuro de los entornos sandbox de ejecución de código para agentes
  5. Poniéndolo en práctica
  6. Sigue explorando
  7. Preguntas frecuentes

Descripción general

Es importante porque un agente que puede ejecutar código es mucho más capaz (puede calcular, analizar archivos y probar su propio trabajo), pero el código escrito en modelo no es confiable por defecto y puede tener errores, ser un desperdicio o manipularse mediante inyección rápida.

Buceo profundo

Cuando un agente genera código, algo tiene que ejecutarlo. Ejecutar ese código directamente en una computadora portátil de desarrollador o en un servidor de producción es riesgoso: el código podría eliminar archivos, leer credenciales de variables de entorno, instalar software, extraer criptomonedas o abrir conexiones de red. Un sandbox pone un límite entre el código y todo lo demás. Hay varios niveles de aislamiento, con diferentes compensaciones. Los contenedores estándar (por ejemplo, Docker) utilizan espacios de nombres y cgroups de Linux para darle al código su propia visión de los procesos, archivos y redes, y para limitar la CPU y la memoria. Comienzan rápidamente, pero cada contenedor comparte el kernel del host, por lo que una vulnerabilidad del kernel puede permitir que el código escape. gVisor, un proyecto de código abierto de Google, agrega un kernel de espacio de usuario que intercepta llamadas al sistema, reduciendo lo que el código no confiable puede tocar en el kernel real. MicroVM como Firecracker, creado originalmente por AWS para Lambda y Fargate, brindan a cada carga de trabajo su propia máquina virtual y kernel livianos y al mismo tiempo arrancan en una fracción de segundo. Los servicios de espacio aislado alojados para agentes, como E2B, se basan en este enfoque de microVM. En el extremo más ligero, los tiempos de ejecución de WebAssembly y herramientas como Pyodide pueden ejecutar Python en un navegador o en un entorno de pruebas Wasm sin acceso directo al sistema. La tecnología de aislamiento es sólo la mitad del diseño. Los buenos entornos sandbox también restringen la red (a menudo denegada de forma predeterminada con una lista de permitidos), montan el sistema de archivos en modo de solo lectura excepto en un directorio temporal, mantienen los secretos fuera del entorno por completo y aplican límites de tiempo, memoria, recuento de procesos y disco. Suelen ser efímeros: se crean por tarea y se destruyen posteriormente. Un error común es creer que un sandbox hace que un agente sea seguro. Limita el daño causado por el código en sí, pero no impide que un agente produzca respuestas incorrectas, y cualquier herramienta o credencial que pase a la zona de pruebas se vuelve accesible para cualquier código que se ejecute allí, incluido el código escrito en respuesta a instrucciones inyectadas.

Implementación en el mundo real

Un asistente de análisis de datos recibe un CSV cargado, escribe código pandas para limpiarlo y trazar tendencias, y ejecuta ese código en una zona de pruebas desechable que se elimina cuando finaliza la sesión.

Un agente de codificación ejecuta el conjunto de pruebas de un repositorio dentro de un contenedor sin acceso a la red saliente, por lo que un script de dependencia malicioso no puede enviar código fuente o secretos a un servidor externo.

Una plataforma educativa permite a los estudiantes pedirle a un tutor de IA que ejecute ejemplos Python, con cada ejecución limitada a unos pocos segundos de CPU y un límite de memoria fijo para que un bucle infinito accidental no pueda detener el servicio.

Un equipo de investigación le proporciona a un agente una microVM con una copia de solo lectura de un conjunto de datos y una única carpeta de salida grabable, para que el agente pueda producir resultados sin modificar ni eliminar los datos originales.

El futuro de los entornos sandbox de ejecución de código para agentes

La ejecución de código se está convirtiendo en una capacidad estándar para los asistentes y agentes de IA, por lo que es probable que el sandboxing se convierta más en un servicio básico con valores predeterminados sensatos en lugar de algo que cada equipo construya desde cero. Espere un trabajo continuo para un inicio, una instantánea y una reanudación más rápidos, y políticas más detalladas para el acceso a la red y a los archivos que se pueden ajustar por tarea. El problema abierto más difícil es la política más que el aislamiento: decidir a qué se le debe permitir llegar a un agente y mantener informados a los usuarios, cuando los agentes toman acciones autónomas más largas. El aislamiento seguirá siendo una capa entre varias, junto con los permisos, el registro y la revisión humana.

Poniéndolo en práctica

Por qué es importante

  • Costo y presupuesto. Las decisiones de arquitectura impulsan el rendimiento y los costos operativos durante años.
  • Decisiones más claras. La educación técnica ayuda a los equipos a elegir la pila adecuada, no sólo la más nueva.
  • control de calidad. Mejores opciones de ingeniería reducen los incidentes de confiabilidad en la producción.

cuidado con

  • La optimización de un punto de referencia puede ocultar debilidades más amplias del sistema.
  • Los costos de infraestructura y mantenimiento a menudo se subestiman.
  • Las brechas de seguridad y observabilidad pueden crecer a medida que los sistemas se vuelven más complejos.

Próximos pasos

  1. Defina objetivos de latencia, calidad y costos antes de la implementación.
  2. Comparación en condiciones realistas de carga y datos.
  3. Monitoreo de instrumentos para detectar errores, deriva e impacto para el usuario.
  4. Prepare rutas de reversión y respuesta a incidentes antes de escalar.

Sigue explorando

Boletín gratuito

Recibe el resumen diario de IA

Tres noticias verificadas sobre IA cada mañana de lunes a viernes, explicadas con claridad. Gratis para siempre y sin anuncios.

Un correo cada día laborable. Date de baja con un clic. Nunca vendemos ni compartimos tu dirección.

Ponte a prueba

Take the Code Execution Sandboxes for Agents quiz

Corrección inmediata en cada respuesta y un certificado para compartir, con un ID verificable, cuando apruebas un curso.

Empezar el cuestionario

Apoya la educación gratuita sobre IA. AI Understanding es una organización sin fines de lucro 501(c)(3): sin anuncios ni muros de pago, nunca. Hacer una donación

Preguntas frecuentes

¿Qué son los entornos limitados de ejecución de código para agentes?

Un entorno limitado de ejecución de código es un entorno aislado donde un agente de IA puede ejecutar el código que escribe sin poder dañar la máquina host, acceder a datos que no debería ver o utilizar recursos ilimitados. Es importante porque un agente que puede ejecutar código es mucho más capaz (puede calcular, analizar archivos y probar su propio trabajo), pero el código escrito en modelo no es confiable por defecto y puede tener errores, ser un desperdicio o manipularse mediante inyección rápida.

¿Por qué el código escrito por un agente de IA se considera no confiable de forma predeterminada?

La guía explica que el código escrito en modelo puede contener errores, consumir recursos excesivos o seguir instrucciones inyectadas, por lo que debe ejecutarse dentro de un límite en lugar de directamente en un host.

¿Cuál es la principal debilidad de seguridad de los contenedores estándar en comparación con las microVM?

Los contenedores utilizan espacios de nombres y grupos c, pero todos comparten el kernel host, por lo que una vulnerabilidad del kernel puede permitir un escape. Las MicroVM le dan a cada carga de trabajo su propio núcleo.

¿Qué agrega gVisor para reducir el riesgo de código que no es de confianza?

gVisor, de Google, ejecuta un kernel de espacio de usuario que maneja las llamadas al sistema, reduciendo la cantidad de código no confiable del kernel del host real que puede alcanzar.

¿Las microVM Firecracker fueron construidas originalmente por AWS para potenciar qué tipo de servicios?

Firecracker se creó para cargas de trabajo sin servidor AWS como Lambda y Fargate, donde muchas cargas de trabajo aisladas deben iniciarse rápidamente.

¿Por qué restringir el acceso a la red saliente a menudo se considera el control de espacio aislado más importante cuando es posible la inyección rápida?

Si las instrucciones inyectadas hacen que el agente escriba código malicioso, una red de denegación predeterminada impide que ese código extraiga datos.