El sandbox es el límite que permite al agente actuar de forma autónoma sin darle acceso sin restricciones a tu equipo. Cuando un chat local ejecuta comandos en la aplicación de escritorio de ChatGPT, en Codex CLI o en la extensión para IDE, esos comandos se ejecutan en un entorno restringido en lugar de ejecutarse con acceso completo de forma predeterminada.
Ese entorno determina qué puede hacer el agente por su cuenta, como qué archivos puede modificar y si los comandos pueden usar la red. Cuando una tarea permanece dentro de esos límites, el agente puede seguir avanzando sin detenerse para pedir confirmación. Cuando necesita superarlos, interviene el flujo de aprobación.
El entorno aislado y las aprobaciones son controles distintos que funcionan en conjunto. El sandbox define los límites técnicos. La política de aprobación determina cuándo el agente debe detenerse y solicitar aprobación antes de cruzarlos.
Qué hace el sandbox
El sandbox se aplica a los comandos que se inician, no solo a las operaciones
integradas sobre archivos. Si el agente ejecuta herramientas como git, administradores de paquetes o ejecutores de pruebas,
esos comandos heredan los mismos límites del sandbox.
Codex aplica controles nativos de la plataforma en cada sistema operativo. La implementación varía entre macOS, Linux, WSL2 y Windows nativo, pero la idea es la misma en todas las interfaces: proporcionar al agente un entorno de trabajo delimitado para que las tareas habituales puedan ejecutarse de forma autónoma dentro de límites claros.
Por qué es importante
El sandbox reduce el cansancio que generan las solicitudes de aprobación. En lugar de pedirte que confirmes cada comando de bajo riesgo, el agente puede leer archivos, hacer cambios y ejecutar comandos habituales del proyecto dentro del límite que ya aprobaste.
También te ofrece un modelo de confianza más claro para el trabajo con agentes. No solo confías en las intenciones del agente, sino también en que opera dentro de límites impuestos por el sistema. Esto facilita que dejes al agente trabajar de forma independiente sin dejar de saber cuándo se detendrá para pedir ayuda.
Primeros pasos
El modo de permisos predeterminado aplica automáticamente el entorno aislado.
Requisitos previos
En macOS, el entorno aislado funciona sin configuración adicional mediante el framework Seatbelt integrado.
En Windows, Codex usa la implementación nativa del sandbox de Windows cuando se ejecuta en PowerShell y la implementación del sandbox de Linux cuando se ejecuta en WSL2.
En Linux y WSL2, instala primero bubblewrap con tu administrador de paquetes:
sudo apt install bubblewrapsudo dnf install bubblewrapCodex usa el primer ejecutable de bwrap que encuentra en PATH. Si no hay ningún ejecutable de bwrap
disponible, Codex recurre a una herramienta auxiliar incluida, pero esta
requiere que el sistema permita crear espacios de nombres de usuario sin privilegios. Instalar el
paquete de la distribución que proporciona bwrap mantiene la confiabilidad de esta configuración.
Codex muestra una advertencia al iniciar cuando falta bwrap o cuando la herramienta auxiliar
no puede crear el espacio de nombres de usuario necesario. En las distribuciones que restringen esta
configuración de AppArmor, opta por cargar el perfil de AppArmor de bwrap para que bwrap
siga funcionando sin desactivar la restricción de forma global.
Nota sobre AppArmor en Ubuntu: en Ubuntu 25.04, instalar bubblewrap desde el
repositorio de paquetes de Ubuntu debería funcionar sin configuración adicional de AppArmor. El
perfil bwrap-userns-restrict se incluye en el paquete apparmor, en la ruta
/etc/apparmor.d/bwrap-userns-restrict.
En Ubuntu 24.04, es posible que Codex siga advirtiendo que no puede crear el espacio de nombres de usuario
necesario después de instalar bubblewrap. Copia y carga el perfil adicional:
sudo apt update
sudo apt install apparmor-profiles apparmor-utils
sudo install -m 0644 \
/usr/share/apparmor/extra-profiles/bwrap-userns-restrict \
/etc/apparmor.d/bwrap-userns-restrict
sudo apparmor_parser -r /etc/apparmor.d/bwrap-userns-restrictapparmor_parser -r carga el perfil en el kernel sin necesidad de reiniciar. También
puedes volver a cargar todos los perfiles de AppArmor:
sudo systemctl reload apparmor.serviceSi ese perfil no está disponible o no resuelve el problema, puedes desactivar la restricción de AppArmor sobre los espacios de nombres de usuario sin privilegios con:
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0Cómo funcionan los permisos
Usa el control de permisos de tu interfaz para cambiar cómo Codex gestiona las acciones locales.
Las aprobaciones determinan cuándo Codex se detiene antes de una acción, mientras que el sandbox determina a qué archivos y recursos de red pueden acceder los comandos. Cuando una aprobación ofrece distintos alcances, como aprobar una sola vez o durante la sesión, elige el alcance más limitado que permita continuar la tarea. Mantén el límite del proyecto como opción predeterminada; usa proyectos o worktrees independientes en vez de ampliar el acceso a repositorios no relacionados.
ChatGPT Work ejecuta código y comandos de shell en un entorno administrado y aislado. La política del espacio de trabajo y los controles específicos de cada herramienta determinan qué capacidades están disponibles. Cuando la opción esté disponible, ve a Configuración > Controles de datos > Acceso a la red de Work para administrar el acceso a la red del código y de los comandos de shell. Activa Permitir el acceso a Internet pública para que esos comandos puedan acceder a Internet pública. Cuando esta opción está desactivada, los comandos solo pueden acceder a los nombres de host necesarios incluidos en una lista de permitidos administrada.
La búsqueda web, los complementos y el navegador remoto tienen controles independientes. Los cambios entran en vigor cuando finaliza la ejecución actual de código o shell y Work actualiza su entorno de ejecución. La versión web de ChatGPT no ofrece el sandbox local de Codex ni el selector del modo de aprobación.
En la aplicación de escritorio de ChatGPT, usa el control de permisos debajo del editor. Según tu configuración, el menú puede incluir Solicitar aprobación, Aprobar por mí para las solicitudes de aprobación elegibles, Acceso completo y perfiles de permisos con nombre o personalizados.
Ask for approval
Codex can read and edit files in the current workspace and run routine local commands. It asks before using the internet or going beyond the workspace boundary.
- Sandbox
workspace-write- Approvals policy
on-request- Reviewer
user
En la CLI, ingresa
/permissions
para abrir el selector de permisos y cambiar el perfil de permisos activo.
En la extensión para IDE, usa el control de permisos debajo del editor. Según tu configuración, el menú puede incluir Solicitar aprobación, Aprobar por mí para las solicitudes de aprobación elegibles, Acceso completo y perfiles de permisos con nombre o personalizados.
Configurar los valores predeterminados
Para comenzar siempre con el mismo comportamiento, establece los valores predeterminados en config.toml.
Configuración básica explica cómo funciona y la
Referencia de configuración documenta las claves exactas
sandbox_mode, approval_policy, approvals_reviewer y
sandbox_workspace_write.writable_roots. Usa estos ajustes para decidir cuánta
autonomía tiene el agente de forma predeterminada, en qué directorios puede escribir, cuándo
debe detenerse para solicitar aprobación y quién revisa las solicitudes de aprobación elegibles.
En términos generales, los modos de sandbox más comunes son:
read-only: el agente puede inspeccionar archivos, pero no puede editarlos ni ejecutar comandos sin aprobación.workspace-write: el agente puede leer archivos, hacer cambios dentro del espacio de trabajo y ejecutar comandos locales habituales dentro de ese límite. Este es el modo predeterminado que facilita el trabajo local.danger-full-access: el agente se ejecuta sin restricciones del sandbox. Esto elimina los límites del sistema de archivos y de la red, y solo debe usarse cuando quieras que el agente actúe con acceso completo.
Las políticas de aprobación más comunes son:
on-request: el agente trabaja dentro del sandbox de forma predeterminada y solicita aprobación cuando necesita superar ese límite.never: el agente no se detiene para solicitar aprobación.
Codex y ChatGPT Work ya no admiten untrusted como política de aprobación
seleccionable. Si una configuración existente usa ese valor, consulta Migrar desde la
política de aprobación untrusted
retirada.
Cuando las aprobaciones son interactivas, también puedes elegir quién las revisa con
approvals_reviewer:
user: las solicitudes de aprobación se muestran al usuario. Esta es la opción predeterminada.auto_review: las solicitudes de aprobación elegibles se envían a un agente revisor (consulta revisión automática).
Acceso completo significa usar sandbox_mode = "danger-full-access" junto con
approval_policy = "never". En cambio, la configuración predefinida de menor riesgo para la automatización local
es sandbox_mode = "workspace-write" junto con
approval_policy = "on-request", o los flags equivalentes de la CLI
--sandbox workspace-write --ask-for-approval on-request. Luego puedes mantener
approvals_reviewer = "user" para las aprobaciones manuales o establecer
approvals_reviewer = "auto_review" para la revisión automática de aprobaciones.
Si necesitas que el agente trabaje en más de un directorio, los directorios raíz con permiso de escritura te permiten ampliar las ubicaciones que puede modificar sin eliminar por completo el sandbox. Si necesitas un límite de confianza más amplio o más estrecho, ajusta el modo de sandbox predeterminado y la política de aprobación en lugar de recurrir a excepciones puntuales.
Cuando un flujo de trabajo necesita una excepción específica, usa reglas. Las reglas te permiten autorizar, solicitar aprobación o prohibir prefijos de comandos fuera del sandbox, lo que suele ser más adecuado que ampliar el acceso de forma general. Para saber cómo acceder a la configuración específica del IDE, consulta Configuración de la extensión de Codex para IDE.
La revisión automática, cuando está disponible, no cambia el límite del sandbox. Es
una opción de approvals_reviewer para las solicitudes de aprobación en ese límite, como
las solicitudes para ampliar los permisos del sandbox, el acceso a la red bloqueado o las llamadas a herramientas con efectos secundarios
que aún necesitan aprobación. Las acciones ya permitidas dentro del sandbox se ejecutan
sin revisión adicional. Para conocer el ciclo de vida del revisor, los tipos de activadores, la semántica
de los rechazos y los detalles de configuración, consulta
revisión automática.
Los detalles de cada plataforma se encuentran en su documentación específica. Para conocer la configuración, el comportamiento y la solución de problemas de Windows nativo, consulta Windows. Para conocer los requisitos de administración y las restricciones de la organización sobre el entorno aislado y las aprobaciones, consulta Aprobaciones del agente y seguridad.