
Agentes de codificación de IA que no pueden exfiltrar secretos ni fusionar sus propios PRs.
Eres un ingeniero responsable. Nunca dejarías que una IA arrasara con tus sistemas y bases de código más sensibles.
Por eso nunca desactivarías las salvaguardas de una herramienta como Claude Code. ¡Pide permiso para cada acción peligrosa! ¡Seguro!
Así que esperas. Y respondes. Aparece la fatiga de decisión. Y entonces ocurre.
Los avisos de permiso descuidan la parte más débil del modelo de amenaza: un usuario cansado. ¿Y si pudiéramos empoderar al agente mientras limitamos su radio de explosión, difiriendo tus decisiones hasta la revisión del PR?
¡Eso sería genial! Y eso sería yolo-cage.
curl -fsSL https://github.com/borenstein/yolo-cage/releases/latest/download/yolo-cage -o yolo-cage
chmod +x yolo-cage && sudo mv yolo-cage /usr/local/bin/
yolo-cage build --interactive --up
Luego crea un sandbox y comienza a codificar:
yolo-cage create feature-branch
yolo-cage attach feature-branch # Adjuntar al agente en tmux
Requisitos previos: Vagrant con libvirt (Linux) o QEMU (macOS, experimental), 8GB RAM, 4 CPUs, GitHub PAT (ámbito repo), cuenta de Claude. Consulta la documentación de instalación para más detalles.
Secretos en HTTP/HTTPS - proxy de salida escanea cuerpos de solicitudes, cabeceras, URLs:
sk-ant-*, AKIA*, ghp_*, claves privadas SSH, patrones genéricos de credencialesOperaciones de Git - enrutador fuerza el aislamiento de ramas:
git remote, git clone, git config, git credentialGitHub CLI - el enrutador bloquea comandos peligrosos:
gh pr merge, gh repo delete, gh apiGitHub API - el proxy bloquea a nivel HTTP:
PUT /repos/*/pulls/*/merge, DELETE /repos/*, modificaciones de webhookSitios de exfiltración: pastebin.com, file.io, transfer.sh, etc.
Consulta la Arquitectura para el modelo de amenaza completo.
┌──────────────────────────────────────────────────────────────────────────┐
│ Runtime (Vagrant VM + MicroK8s) │
│ │
│ ┌────────────────────────────────────────────────────────────────────┐ │
│ │ Sandbox │ │
│ │ │ │
│ │ Agent (Claude Code in YOLO mode) │ │
│ │ │ │ │
│ │ ├── git/gh ──▶ Dispatcher ──▶ GitHub │ │
│ │ │ • Branch isolation enforcement │ │
│ │ │ • TruffleHog pre-push scanning │ │
│ │ │ │ │
│ │ └── HTTP/S ──▶ Egress Proxy ──▶ Internet │ │
│ │ • Secret scanning (LLM-Guard) │ │
│ │ • Domain blocklist │ │
│ └────────────────────────────────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────────┘
Un sandbox por rama. Los agentes solo pueden empujar a su rama asignada. Todo el tráfico saliente es filtrado.
Accede a aplicaciones web ejecutándose dentro de un sandbox:
yolo-cage port-forward feature-x 8080 # localhost:8080 → sandbox:8080
yolo-cage port-forward feature-x 9000:3000 # localhost:9000 → sandbox:3000
yolo-cage port-forward feature-x 8080 --bind 0.0.0.0 # Accesible en LAN
Consulta Configuración para bypass de proxy, hooks y límites de recursos.
Esto reduce el riesgo. No lo elimina.
Usa credenciales con ámbito. No uses secretos de producción donde la exfiltración sería catastrófica. Consulta la Auditoría de seguridad para probarlo tú mismo.
MIT. Consulta LICENSE.
| Comando | Descripción |
|---|
create <branch> | Crear sandbox |
attach <branch> | Adjuntar (Claude en tmux) |
shell <branch> | Adjuntar (bash) |
list | Listar sandboxes |
delete <branch> | Eliminar sandbox |
port-forward <branch> <port> | Reenviar puerto desde sandbox |
up / down | Iniciar/detener VM |
upgrade [--rebuild] | Actualizar a la última versión |
version | Mostrar versión |