--sandbox ejecuta la CLI con aislamiento a nivel del sistema operativo, aplicando los ámbitos activos de permisos de lectura y escritura a nivel del sistema operativo y, opcionalmente, restringiendo el tráfico de red.
Cómo funciona el sandbox
- Las rutas con permiso de escritura se derivan de los ámbitos de permiso
Write(...)concedidos más el directorio del workspace - Las rutas legibles se derivan de los ámbitos
Read(...)concedidos (los valores predeterminados de la plataforma, como/usr/bin, siempre son legibles) - Los ámbitos concedidos a mitad de la sesión amplían dinámicamente el sandbox para los comandos posteriores
Filtrado de red
sandbox de tu archivo de configuración (solo en la configuración de usuario). Cuando --sandbox está activo y el filtrado de dominios está configurado, se inicia un proxy de red gestionado en la interfaz de loopback y el sandbox restringe todo el tráfico de los procesos hijo para que pase por él.
Sintaxis de los patrones de dominio:
Ejemplo:
El filtrado de dominios se aplica cuando el sandbox está activo (
--sandbox). Sin --sandbox, la sección de sandbox se ignora.Comandos excluidos
git que deben acceder a credenciales o hooks que el sandbox bloquea. La sección de configuración sandbox.excluded te permite excluir del aislamiento del sandbox los comandos que coincidan, usando la misma sintaxis de reglas Exec(...) que permisos:
Ejemplo:
Exec(git push *) prevalece sobre Exec(git *)), y cuando coinciden tanto la configuración del usuario como Team Settings, prevalece el veredicto más restrictivo (deny > ask > allow). Los comandos que no coinciden con ninguna regla —incluidos los casos en que sandbox.excluded no está configurado en absoluto— siempre se ejecutan dentro del sandbox.
- Solo se admiten reglas
Exec(...)ensandbox.excluded; cualquier otro tipo de regla (p. ej.,Read(...),Write(...)) se ignora y genera una advertencia. - La exclusión es fail-closed: si un comando no puede resolverse de forma segura (p. ej., si no puede analizarse), permanece dentro del sandbox.
- Las exclusiones se aplican a la ruta de ejecución predeterminada por comando. Los comandos ejecutados mediante un shell PTY persistente (sesiones interactivas o cuando
pty_for_noninteractive_execestá habilitado) siempre permanecen dentro del sandbox.
Aplicación en Enterprise
Modo de aplicación del sandbox
--sandbox en toda tu organización:
- Opcional (predeterminado) — Los usuarios eligen si pasar
--sandbox. No se aplica ninguna restricción. - Obligatorio — El flag
--sandboxse activa de forma forzada para todos los usuarios, aunque no lo pasen en la línea de comandos. Todas las sesiones de la CLI se ejecutan con un sandbox del sistema de archivos a nivel del sistema operativo que aplica ámbitos de permisos de lectura y escritura.
Filtrado de dominios de Enterprise
- Lista de permitidos — Cuando se configura, solo se puede acceder a los dominios de esta lista a través del proxy de red del sandbox. Esta lista es determinante: reemplaza por completo cualquier
allowed_domainsconfigurado por el usuario. Los usuarios no pueden agregar dominios adicionales para eludir las restricciones del Admin. - Lista de dominios de denegación — Dominios que siempre se bloquean. Los dominios denegados de Enterprise son aditivos: se combinan con los
denied_domainslocales del usuario, lo que hace que la lista resultante sea más restrictiva.
Como los
denied_domains locales del usuario se conservan y se combinan de forma aditiva, un usuario podría denegar un dominio que aparezca en la lista de permitidos de Enterprise. Esto es intencional: el efecto combinado siempre es más restrictivo, nunca menos. Si esto causa problemas de acceso, el usuario debe eliminar la entrada en conflicto de su configuración local.Comandos excluidos de Enterprise
- Allow / ask excluidos — Reglas
Exec(...)para comandos que pueden ejecutarse fuera del sandbox en toda la organización, automáticamente o tras una confirmación. - Deny excluido — Reglas
Exec(...)para comandos que nunca deben ejecutarse fuera del sandbox. Undenydel equipo anula cualquierallowoaska nivel de usuario para los comandos que coincidan, por lo que los usuarios no pueden excluir comandos que sus Admin hayan bloqueado.
deny > ask > allow).
Ejemplo: bloquear todas las exclusiones excepto gh. Un deny con comodín y una excepción allow mantiene todos los comandos dentro del sandbox salvo gh, independientemente de lo que los usuarios configuren localmente. Estos valores van en la configuración de excluded-commands de Team Settings (no en el archivo de configuración del usuario, por lo que no hay una clave sandbox contenedora):
Exec(gh *) prevalece sobre el comodín Exec(**), los comandos gh se ejecutan fuera del sandbox, mientras que todo lo demás permanece dentro, y el comodín deny a nivel de equipo prevalece sobre cualquier regla allow o ask a nivel de usuario para otros comandos.
Más información
- Team Settings — aplicación obligatoria del sandbox de Enterprise y filtrado de dominios
- Referencia del archivo de configuración — la sección de configuración
sandboxa nivel de usuario - Permisos — ámbitos de permisos que rigen la resolución de rutas del sandbox

