Seguridad para Desarrolladores27/09/2026Redação de Tecnologia e Desenvolvimento8 min de lecturaActualizado el 28/09/2026

Copilot App incorpora sandbox local: cómo habilitarlo y revisar permisos por proyecto

El sandbox local de GitHub Copilot limita archivos, red y credenciales por proyecto. Aprende a habilitarlo, probarlo y revisar una política de menor privilegio.

Notebook em uma mesa de desenvolvimento com editor de código, caixas luminosas representando projetos isolados e painel lateral de permissões de sandbox.

El 23 de septiembre de 2026, GitHub añadió el sandbox local a la aplicación GitHub Copilot. La función ejecuta las herramientas invocadas por el agente dentro de un aislamiento del sistema operativo y permite limitar, por proyecto, el acceso a archivos, redes y credenciales. Está en versión preliminar pública, viene desactivada de forma predeterminada y se aplica a sesiones locales en el repositorio o en un working tree. No se aplica a sesiones de cloud sandbox ni a sesiones ejecutadas en un host remoto.

Para quien quiera habilitar y probar la función de forma segura, el punto principal es no tratar el interruptor del sandbox como un permiso único. Cada proyecto tiene su propia política. La política predeterminada sigue permitiendo varias tareas habituales de desarrollo, por lo que revisar carpetas, acceso a red y credenciales es una parte esencial de la configuración.

Cómo habilitar el sandbox local por proyecto

  1. Abre la configuración de la aplicación GitHub Copilot.
  2. Selecciona el proyecto que quieres configurar.
  3. En la sección Sandbox, activa Sandbox new sessions.
  4. Inicia una nueva sesión local en el repositorio o en un working tree para que se aplique la configuración predeterminada del proyecto.

Activarlo en la configuración del proyecto no cambia una sesión que ya está en ejecución. En una sesión local activa, puedes usar /sandbox on para activar el aislamiento de inmediato. Este comando crea una anulación para la sesión actual y no cambia el valor predeterminado de las demás sesiones del proyecto. Del mismo modo, /sandbox off desactiva el aislamiento para esa sesión cuando la política efectiva lo permite.

Si cambias las reglas de sistema de archivos, red o credenciales en la configuración del proyecto, la nueva política se usa en sesiones nuevas o después de reiniciar una sesión existente. GitHub documenta /restart-session como forma de reiniciar conservando el historial de la sesión.

Qué revisar antes de considerar aislado el proyecto

El sandbox local se configura en tres grupos principales de control. La tabla resume el comportamiento documentado y la decisión práctica que conviene revisar.

ÁreaComportamiento y controlesQué revisar en el proyecto
Sistema de archivosLa sesión tiene acceso de lectura y escritura al workspace y al directorio de trabajo actual. Puedes añadir rutas extra de lectura/escritura, rutas de solo lectura y rutas denegadas.Concede acceso adicional solo cuando sea necesario. Prefiere solo lectura para bibliotecas, datos o carpetas de referencia que no deban modificarse. Usa rutas denegadas para directorios sensibles situados cerca del proyecto.
Internet salienteEl acceso a internet está permitido de forma predeterminada y puede bloquearse.Si la tarea no necesita instalar dependencias, llamar a APIs o acceder a servicios externos, considera desactivarlo para reducir los recursos disponibles para el agente.
Red localEl acceso a loopback y a la red local está permitido de forma predeterminada y puede bloquearse.Mantenlo solo cuando la sesión deba conectarse a un servidor de desarrollo, una base de datos local u otro servicio de red privada.
Credenciales de GitLas operaciones Git HTTPS autenticadas pueden usar credenciales dentro del sandbox, y ese acceso puede desactivarse.Desactívalo si la sesión no necesita hacer push ni realizar otra operación autenticada.
Credenciales de GitHub CLILa autenticación de GitHub CLI puede estar disponible dentro del sandbox, y ese acceso puede desactivarse.Desactívalo cuando la sesión no necesite crear pull requests ni realizar otras acciones autenticadas mediante gh.

Una regla de denegación más específica sigue denegada aunque una carpeta padre más amplia tenga acceso concedido. Esto permite proteger una subcarpeta sensible sin bloquear todo un directorio de desarrollo.

Checklist de menor privilegio para cada proyecto

  • Carpetas: ¿el agente realmente necesita leer o escribir fuera del workspace?
  • Solo lectura: ¿una ruta compartida puede consultarse sin permitir cambios?
  • Rutas denegadas: ¿hay claves, copias de seguridad, datos personales, archivos de producción u otros directorios locales que deban quedar fuera de alcance?
  • Internet: ¿la sesión necesita un registro de paquetes, una API o GitHub durante esta tarea?
  • Red local: ¿necesita localhost u otro servicio de la LAN?
  • Git: ¿hay un motivo para exponer credenciales Git autenticadas a los comandos ejecutados por el agente?
  • GitHub CLI: ¿la tarea requiere autenticación de gh o puede terminar antes de ese paso?
  • Política empresarial: ¿algún valor está administrado o es más restrictivo por una política de la empresa?

La política efectiva puede ser más restrictiva que la seleccionada en el proyecto cuando existen configuraciones administradas por la empresa. Por eso, la pantalla del proyecto representa la configuración local solicitada, mientras que el comportamiento real también puede depender de controles aplicados al entorno.

Cómo probar el aislamiento sin depender solo de la pantalla de configuración

Después de activar el sandbox, realiza las comprobaciones en una sesión nueva y en un proyecto no crítico. El objetivo es confirmar que lo permitido sigue funcionando y que lo bloqueado falla de forma predecible.

  1. Prueba el workspace permitido. Pide a la sesión que lea un archivo del proyecto y cree o modifique un archivo descartable dentro del workspace. Debería funcionar cuando el proyecto conserva el acceso predeterminado de lectura y escritura.
  2. Prueba una ruta denegada. Añade una carpeta de prueba a la lista Denied e intenta acceder a ella desde la sesión. El acceso debería ser rechazado. No uses una carpeta realmente sensible solo para demostrar que el bloqueo funciona.
  3. Prueba internet. Desactiva Outbound internet y ejecuta una tarea que dependa claramente de una conexión externa, como consultar un registro de paquetes o un endpoint de prueba. La operación debería fallar por falta de conectividad.
  4. Prueba la red local. Si el proyecto usa un servidor local, desactiva Local network y verifica que la sesión ya no pueda alcanzarlo. Restaura el permiso solo si el flujo normal lo necesita.
  5. Prueba las credenciales. Desactiva Git credentials y GitHub CLI credentials y usa una operación que requiera autenticación en un repositorio o entorno de prueba. Las acciones que dependan de esas credenciales deberían dejar de funcionar dentro del sandbox.
  6. Restaura solo lo necesario. Después de las pruebas, vuelve a la política mínima que cubre el trabajo real del proyecto.

Hay una limitación importante en Linux: la documentación de la aplicación indica que el sandbox no puede controlar de forma independiente el acceso a la red local para algunos procesos iniciados, como comandos de shell y servidores MCP o LSP locales. La configuración sigue aplicándose a operaciones ejecutadas en el propio proceso, incluidas ciertas solicitudes web y conexiones MCP remotas. Por eso, las pruebas de red local deben tener en cuenta la plataforma.

Qué ocurre cuando la política solicitada no puede aplicarse

La aplicación acepta la configuración del sandbox antes de comprobar si el sistema operativo puede imponer todas las reglas. La verificación se realiza cuando se inicia el primer shell aislado. Si el host no puede aplicar la política solicitada, el shell falla con un mensaje de plataforma o política no compatible. Según GitHub, no continúa ejecutando el comando sin sandbox como alternativa silenciosa.

Este comportamiento es importante para la revisión de seguridad: un error del sandbox debe tratarse como un fallo de ejecución que hay que investigar, no como señal de que el agente completó la tarea con aislamiento parcial.

Cuando la aplicación pide ejecutar fuera del sandbox

Una herramienta puede necesitar un recurso bloqueado por la política. En ese caso, la aplicación GitHub Copilot puede mostrar una solicitud para ejecutar fuera del sandbox. Según la política efectiva, el usuario puede cancelar, ejecutar esa operación una vez fuera del aislamiento o desactivar el sandbox durante el resto de la sesión actual.

Ejecutar fuera del sandbox amplía el acceso de esa operación y debe ser una decisión consciente. En entornos empresariales, un administrador puede impedir este tipo de bypass. Desactivar temporalmente el sandbox desde esta solicitud no cambia el valor predeterminado del proyecto y termina cuando la sesión se reinicia o se vuelve a adjuntar.

El sandbox local no es lo mismo que un working tree ni que un cloud sandbox

Un working tree separa ramas y archivos de sesiones simultáneas, pero por sí solo no restringe lo que un comando puede alcanzar en otras partes del equipo. El sandbox local añade esa capa de contención para las herramientas ejecutadas por el agente.

Un cloud sandbox, en cambio, ejecuta la sesión en un entorno aislado alojado por GitHub. El sandbox local sigue ejecutándose en tu equipo, con controles del sistema operativo sobre archivos, redes y credenciales. Elegir entre una sesión local y una sesión en la nube es, por tanto, una decisión diferente de ajustar los permisos de un proyecto local.

La configuración del sandbox en la aplicación GitHub Copilot y en Copilot CLI también se gestiona por separado. Activar o restringir el aislamiento en una superficie no copia automáticamente la configuración a la otra.

Una configuración práctica para empezar

Para un proyecto común, una secuencia prudente es habilitar el sandbox para sesiones nuevas, mantener el acceso de lectura y escritura limitado al workspace cuando sea posible, denegar directorios locales sensibles, desactivar credenciales que no se vayan a usar y revisar si realmente se necesitan internet y la red local. Después, prueba esas restricciones en una sesión nueva y documenta las excepciones que el proyecto necesite.

El sandbox reduce el alcance de comandos no deseados. No elimina la necesidad de revisar las acciones del agente, especialmente cuando la aplicación solicita ejecutar fuera del aislamiento o cuando el proyecto necesita acceso amplio a redes, credenciales y rutas adicionales.

Fuentes y referencias

Temas de este artículoCopilot AppGitHub Copilotisolamento de agentespermissões por projetosandbox localsegurança para devs