¿Qué es el sandboxing?
En cuanto un agente puede ejecutar código, el riesgo entra por la puerta: ¿y si ejecuta código malicioso, o un bug tira abajo el sistema? El sandboxing es la respuesta: aísla el entorno de ejecución en una «jaula» controlada, limitando a qué recursos puede tocar el código.¿Por qué es necesario?
El código no es de fiarUn agente puede ejecutar código de un usuario o descargado de la red, y nadie garantiza que sea seguro.
Los fallos se contagian
Sin aislamiento, un bucle infinito o un simple comando de borrado puede tumbar un servidor entero.
La seguridad y los permisos necesitan una frontera
El sandbox traza una línea dura alrededor de «lo permitido», y todo lo que la cruce queda bloqueado.
Técnicas habituales
ContenedoresEnvuelven el runtime en un contenedor tipo Docker, aislado del host.
Máquinas virtuales
Levantan una VM aparte — más aislamiento, pero más pesado.
Runtimes restringidos
Limitan el acceso a red, sistema de archivos y llamadas al sistema, dejando pasar solo lo de la lista blanca.
Tiempos límite y límites de recursos
Topan CPU, memoria y tiempo de ejecución para evitar desmadres o agotar recursos.
¿Cuál es el coste?
El sandboxing añade algo de sobrecoste de rendimiento y complejidad operativa, pero comparado con correr «a pelo», es una ganga — sobre todo donde un agente ejecuta código arbitrario.En resumen: el sandboxing mete el código del agente en una jaula — que se agite dentro, pero no puede salir ni dañar el sistema.
Comentarios