- Herramienta para ejecutar agentes de código con IA con permisos completos del sistema, pero bloqueando el riesgo de dañar el directorio home del usuario
- Los principales CLI de IA como Claude Code, Codex, Gemini CLI y OpenCode vienen preconfigurados y pueden ejecutarse en “modo YOLO”
- Monta solo el directorio del proyecto dentro de un contenedor Docker o Podman, mientras que el directorio home queda excluido por defecto
- Dentro del contenedor ofrece permisos sudo y volúmenes persistentes para mantener herramientas y configuraciones entre sesiones
- Proporciona un entorno sandbox aislado para que los desarrolladores experimenten con seguridad funciones de automatización con IA
Resumen general
- Yolobox es una herramienta que ejecuta agentes de código con IA dentro de un contenedor para proteger el sistema y, al mismo tiempo, darles permisos completos de ejecución
- Incluso si la IA ejecuta por error un comando destructivo como
rm -rf ~, el directorio home no se ve afectado
- El directorio del proyecto se monta en
/workspace, y el directorio home no se monta por defecto
- Las herramientas y configuraciones se conservan entre sesiones mediante volúmenes persistentes
Componentes y funciones principales
- Dentro del contenedor, el agente de IA tiene permisos sudo y puede ejecutar comandos libremente
- La imagen base incluye lo siguiente
- CLI de IA: Claude Code, Gemini CLI, OpenAI Codex y OpenCode (todos configurados en modo de ejecución automática)
- Entorno de desarrollo: Node.js 22, Python 3, make, cmake, gcc, Git, GitHub CLI
- Utilidades: ripgrep, fd, fzf, jq, vim
- Si hace falta, el usuario puede instalar paquetes adicionales directamente con sudo
Ejecución y comandos
- Entrar al shell del sandbox con el comando
yolobox
- También se puede ejecutar un solo comando con
yolobox run
- Incluye comandos de administración como
yolobox upgrade, yolobox config, yolobox reset --force y yolobox version
- Flags principales
--runtime: elegir entre docker o podman
--no-network: desactivar la red
--readonly-project: montar el proyecto en modo solo lectura
--claude-config: copiar la configuración de Claude del host al contenedor
Modelo de seguridad
- Usa el aislamiento del contenedor como frontera de seguridad
- El contenedor separa sistema de archivos, procesos y red mediante namespaces de Linux
- La IA tiene permisos root dentro del contenedor, pero no puede acceder al sistema externo
- Elementos protegidos
- Directorio home, claves SSH, credenciales, dotfiles, otros proyectos y archivos del sistema host
- Elementos no protegidos
- El directorio del proyecto (con permisos de lectura y escritura por defecto)
- El acceso a la red (puede bloquearse como opción)
- Vulnerabilidades del kernel o ataques de escape del contenedor
Etapas de refuerzo de seguridad
- Modo básico: aislamiento estándar de contenedor
- Nivel 2: reducir la superficie de ataque con las opciones
--no-network --readonly-project
- Nivel 3: usar Rootless Podman para eliminar privilegios de root en el host
- El root del contenedor se mapea a un usuario normal del host, minimizando el daño en caso de escape
- Nivel 4: ejecución dentro de una VM para eliminar el uso compartido del kernel
- En macOS se puede usar UTM, Parallels o Lima; en Linux, Podman machine o una VM dedicada
Aislamiento de red
- Rootless Podman usa por defecto la red slirp4netns, separada de la red del host
- Con la configuración
allow_host_loopback=false se puede bloquear el acceso a la red local
Licencia y otros datos
- Publicado bajo licencia MIT
- Composición de lenguajes del repositorio: Go 75.9%, Dockerfile 13.6%, Shell 8.7%, Makefile 1.8%
- El nombre “Yolobox” proviene del espíritu “YOLO (You Only Live Once)” y significa un entorno donde la IA puede ejecutarse libremente, pero de forma segura y aislada
1 comentarios
Opiniones de Hacker News
Hace poco hice un proyecto parecido llamado Litterbox (sitio de demo)
Solo funciona en Linux porque depende de Podman. Aun así, tiene ventajas que me sirven para mi caso de uso
Yo también estaba experimentando con algo parecido.
Estaría bueno que en el README se explique claramente cómo funciona y cuáles son los límites de confianza basados en contenedores Docker. El riesgo de escape del contenedor sigue existiendo, ya que se pueden explotar vulnerabilidades del kernel
Estoy usando Rootless Podman con
slirp4netnspara minimizar el acceso a la red.El siguiente paso es usar Podman machine para aislar por completo el kernel, pero los montajes de volúmenes no están funcionando bien
Propone que en
agents.mdoclaude.mdse incluyan las Tres Leyes de Asimovclaude.md, el modelo recibe ese concepto como si se lo “inyectaras en la mente”. En modelos anteriores, si les decías “no uses la palabra elefante”, terminaban produciendo resultados raros por intentar evitarlaRecomienda revisar Shai, que corre localmente y permite controlar el acceso a directorios y el tráfico de red
Con
shai -rw .permites lectura/escritura en el directorio actual, y conshai -u rootpuedes ejecutarlo como otro usuarioShai sigue una filosofía de bloqueo por defecto y permiso explícito (opt-in). Recomiendo compartir
.shai/config.yamlen el repo para que todo el equipo use la misma configuración--no-networkEstoy desarrollando yolo-cage. Mientras Yolobox se enfoca en proteger la máquina local, yolo-cage se enfoca en evitar filtraciones de secretos y la colaboración entre múltiples agentes
Corre sobre Kubernetes y escanea todo el tráfico de salida para evitar que se filtren API keys o tokens.
Obliga al aislamiento por ramas Git para que los agentes no puedan fusionar sus propios PR — “los agentes proponen, los humanos aprueban”
También incorpora un framework de pruebas de escape que induce a Claude a intentar escaparse por sí mismo. Ese prompt está dentro del repo, para verificar si el agente es real
Me preguntaba por qué hace falta marcar los commits con “claude”. No etiquetamos el SO ni la versión de vim, por ejemplo. Al final, un LLM no deja de ser una herramienta que compila inglés a código
Yo también probé algo parecido. Hice Toadbox con algunas funciones de conveniencia adicionales
Se habla mucho de sandboxes para IA, pero en realidad Claude Code, Codex y Gemini CLI ya tienen sandboxes integrados
Yo estoy implementando algo parecido con Apple Container Framework. Me da curiosidad si ya lo viste
Pero le faltan compatibilidad con la API de Docker y capacidad de composición. Resumí una discusión relacionada aquí
Al principio quería montar Shai sobre Apple Container, pero lo dejé por problemas de empaquetado
Yo también estoy haciendo algo parecido → sandbox-codex
Todavía está en progreso y la legibilidad de los logs de tmux no es muy buena. Como Docker no es un sandbox completo, lo estoy ejecutando en VirtualBox