Modo YOLO
Modo YOLO desactiva todas las protecciones de seguridad que incluye ZeroClaw. Sin solicitudes de aprobación, sin límites del espacio de trabajo, sin política de shell, sin lista de comandos permitidos/denegados, sin OTP, sin sandbox. El agente puede ejecutar cualquier comando de shell, modificar cualquier archivo, acceder a cualquier URL: inmediatamente, sin preguntar.
Esto es para cajas de desarrollo, laboratorios domésticos y máquinas virtuales desechables. No ejecutes el modo YOLO en infraestructura compartida. No ejecutes el modo YOLO en una máquina con credenciales de producción en su entorno. No ejecutes el modo YOLO si no entiendes lo que puede hacer un agente autónomo con acceso a
rm -rf.
Cuando YOLO es la opción adecuada
- Un entorno de desarrollo donde iteras rápidamente y las solicitudes de aprobación te ralentizan
- Un contenedor/VM desechable utilizado para experimentos con agentes
- Un SBC de laboratorio en casa donde posees cada byte en la máquina
- Ciclos de CI/CD donde las acciones del agente se revisan antes de la fusión
Cuando YOLO no es la opción correcta
- Tu portátil con tu correo electrónico, tu perfil del navegador y las claves SSH para producción
- Un servidor compartido
- Un VPS con clientes activos en él
- En cualquier lugar donde un usuario no confiable pueda acceder al agente a través de un canal: un agente YOLO con un bot público de Telegram es un shell root accesible desde Telegram
Habilitándolo
Nombra la postura YOLO explícitamente en un perfil de riesgo dedicado (yolo es una buena elección de nombre con intención) y apunta tu agente hacia él. Si varios agentes comparten el host, dale al agente vinculado a YOLO su propio perfil y mantén tus otros agentes en un perfil más estricto (p. ej., hardened); los perfiles de riesgo son por perfil, así que un agente YOLO y un agente reforzado pueden coexistir en la misma configuración.
Lo que pierdes
| Guardia | Comportamiento normal | Comportamiento de YOLO |
|---|---|---|
| Autonomía | Las operaciones de riesgo medio requieren la aprobación del operador | El agente ejecuta todo sin supervisión |
| Límite del espacio de trabajo | El agente solo puede tocar ~/.zeroclaw/workspace/ | El agente puede tocar cualquier ruta que su usuario pueda |
| Política de shell | Comandos desconocidos bloqueados | Cualquier comando se ejecuta |
| Rutas prohibidas | /etc, /sys, /boot, ~/.ssh, etc. bloqueados | No hay ninguna ruta que esté fuera de límites |
| Sandbox | Docker / Firejail / Landlock / Seatbelt aíslan la ejecución de herramientas | Las herramientas se ejecutan como el usuario del proceso ZeroClaw |
| Control de acceso mediante OTP | Las acciones de puerta requieren un código | Sin puerta |
| Parada de emergencia | zeroclaw estop detiene las operaciones en ejecución | Sin semántica de interrupción más allá de SIGTERM |
| Emparejamiento de puerta de enlace | Los clientes deben emparejarse primero | Cualquiera que llegue al puerto posee el agente |
Lo que conservas
El modo YOLO no lobotomiza al agente:
- Recibos de herramientas siguen protegiendo las reclamaciones exitosas de resultados de herramientas cuando están habilitados. Son recibos visibles en la conversación, no un registro duradero de recibos.
- El registro de auditoría sigue funcionando si está habilitado (
[security.audit] enabled = true). Se recomienda encarecidamente en YOLO. - La memoria de conversación aún persiste: todavía hay un registro de lo que ocurrió.
No estás desactivando los registros, estás desactivando los controles de aprobación y la aplicación de rutas.
Revertir
Elimina la configuración de YOLO del perfil de riesgo, o vuelve a cambiar [risk_profiles.<alias>] level = "supervised" y reinicia el servicio. Nada persiste entre cambios de configuración: cada arranque carga la configuración actual desde cero.
Ver también
- Seguridad → Niveles de autonomía: el gradiente completo entre YOLO y paranoico
- Seguridad → Recibos de herramientas: recibos exitosos de resultados de herramientas que debes mantener activados incluso en YOLO
- Filosofía: por qué esto existe como una vía de escape en lugar de como una opción predeterminada