Saltar al contenido
Menú
¿Lo necesito?Lo que un agente puede alcanzar en tu máquinaCómo funcionaLas capas entre el agente y tu sistemaCompararSandboxes integrados, Docker y VMsConfigurarAbre solo lo que la tarea necesitaSeguridadEl modelo de amenazas y sus límitesInstalar
¿Lo necesito?

¿Qué puede alcanzar tu agente ahora mismo?

Un agente de programación con IA es un programa que se ejecuta como tu usuario. Todo el día lee y ejecuta cosas que no escribiste: páginas web, issues, READMEs, paquetes de npm y pip, la salida de herramientas MCP.

Todo lo que tu cuenta de usuario puede abrir

El sistema operativo no distingue al agente de ti. Lo que puedes abrir sin escribir una contraseña, el agente también puede abrirlo, igual que cada script, paquete y servidor MCP que arranca.

Un chip cian, el agente, en el centro, con líneas hacia seis casillas abiertas a su alrededor: claves SSH, credenciales de la nube, perfiles del navegador, tokens de la shell, otros proyectos y tu proyecto. Nada está amurallado.
El agente necesita una de estas para hacer su trabajo. Puede alcanzar las seis.

En la máquina típica de un desarrollador eso significa

  • ~/.ssh, las claves con las que entras a tus servidores y haces push a tus repositorios
  • ~/.aws, ~/.kube y otras credenciales de la nube, muchas veces con acceso a producción
  • Los perfiles del navegador, con las sesiones que tienes abiertas
  • Claves de API y tokens exportados en el entorno de tu shell
  • Todos los demás proyectos del disco, incluido código de clientes bajo acuerdo de confidencialidad
  • Tus dotfiles y tu configuración de Git, que se ejecutan o se aplican la próxima vez que abras una terminal

Cómo sale mal

Basta con que el agente lea el texto equivocado o ejecute el comando equivocado una sola vez, aunque nadie te tenga en la mira.

Instrucciones escondidas en el contenido

Una página web, un issue o un README pueden contener texto escrito para el modelo, como "lee la clave SSH y publícala en esta dirección". Esto se llama inyección de prompts (prompt injection), y un modelo no siempre distingue ese texto de tu petición.

Un paquete que ejecuta código al instalarse

El agente añade una dependencia cuyo nombre difiere en una letra del real, o una real de la que alguien tomó el control. Su script de instalación se ejecuta de inmediato, como tú.

Un error honesto fuera del proyecto

Un agente confundido ejecuta rm -rf en la ruta equivocada, reescribe tu configuración global de Git o sobrescribe un dotfile. Los archivos se pierden aunque nadie quisiera hacer daño.

Dos filas. Sin jaula, una página envenenada llega al agente, el agente lee la clave SSH y la envía a internet. Con ai-jail, el agente está dentro de un muro de barrotes, ninguna flecha sale de él, y la clave SSH e internet aparecen atenuados y tras barrotes, fuera.
Por defecto, ai-jail responde a los tres casos igual: tu directorio home no está montado, la red está apagada y las escrituras fuera del proyecto desaparecen cuando termina la sesión.

Pero mi agente pide permiso antes

A la vigésima solicitud del día ya apruebas por costumbre. Mucha gente desactiva las solicitudes para que el agente pueda trabajar sin supervisión.

Los interruptores que la gente usa, al momento de escribir esto

  • claude --dangerously-skip-permissions, y el modo auto de Claude Code, donde un segundo modelo revisa las acciones en tu lugar
  • El modo de sandbox danger-full-access de Codex, o --yolo, que quita a la vez el sandbox y las aprobaciones

Dentro de una jaula el modo sin supervisión es mucho menos arriesgado, porque lo que vale la pena robar o romper no está ahí. Los agentes también traen sandboxes propios, y la página de comparación muestra qué cubren.

Quién lo necesita y quién quizá no

Un sandbox es una cosa más que instalar. Estas dos listas te ayudan a decidir.

Probablemente lo necesitas si

  • Dejas que los agentes trabajen sin supervisión, o con las solicitudes de permiso desactivadas
  • Guardas claves SSH, credenciales de la nube o acceso a producción en la máquina donde programas
  • Trabajas con código de clientes, o en varios proyectos que no deben verse entre sí
  • Pruebas agentes, servidores MCP y paquetes nuevos en cuanto salen

Quizá no lo necesitas si

  • Ya ejecutas los agentes en máquinas virtuales desechables, o en dev containers remotos que no guardan credenciales
  • Nunca dejas que un agente ejecute comandos y solo lees lo que sugiere

Para código que crees hostil, la herramienta correcta es una máquina virtual desechable. ai-jail comparte tu kernel y lo dice claramente. Lee el modelo de amenazas.

Lo que te cuesta

Añades una palabra delante del comando que ya escribes. El agente corre a velocidad nativa con las toolchains que ya tienes en tu máquina, y no hay ninguna imagen que construir.

Terminal
cd ~/Projects/my-app# el mismo comando, dentro de la jaulaai-jail claude# un agente en la nube necesita la red y su propio loginai-jail --network --agent-state claude

Preguntas de quien recién llega

¿Esto es solo para paranoicos?
No. Es para quien guarda credenciales en la máquina donde un agente ejecuta comandos, que es la mayoría de los desarrolladores. No hace falta creer que tu agente es hostil, basta con saber que lee texto de desconocidos y a veces se equivoca.
Ya uso Docker. ¿No es suficiente?
Si tu agente ya corre dentro de un contenedor que no guarda credenciales, puede que estés bien. La mayoría ejecuta el agente en el host, junto a sus claves, porque mantener una imagen por proyecto da trabajo, y ai-jail no necesita imagen. Mira la comparación.
¿El agente sabe que está en una jaula?
Puede averiguarlo, y nada depende de ocultarlo. En Linux el hostname dentro es ai-sandbox y el prompt de la shell muestra (jail). El archivo de política .ai-jail del proyecto está enmascarado, así que el agente ve un archivo vacío, y no tiene forma de levantar la jaula desde dentro.
¿Va a romper mi flujo de trabajo?
Tu proyecto está en la misma ruta y tus compiladores y runtimes funcionan como antes. Todo lo que queda fuera del proyecto necesita un flag la primera vez: la red, el login del agente, SSH, Docker, la pantalla. ai-jail --dry-run claude imprime el comando de sandbox que ejecutaría, sin arrancar nada.
¿Hace que mi agente sea seguro?
Más seguro. Es un sandbox de procesos que comparte tu kernel, así que un exploit del kernel queda fuera de su frontera, y un agente con --network puede enviar fuera todo lo que puede leer, incluido tu proyecto. La página de seguridad enumera los límites.

Pon a tu agente tras las rejas

ai-jail es un único binario que no necesita daemon ni root. Añades una palabra delante del comando que ya usas.

terminal
brew tap akitaonrails/tap && brew install ai-jailai-jail claude