Nota:
Los entornos de pruebas locales y en la nube para GitHub Copilot están en versión preliminar pública y están sujetos a cambios.
Introducción
Copilot los espacios aislados locales y en la nube son la plataforma de ejecución que potencia las experiencias seguras de espacio aislado para GitHub Copilot CLI y GitHub Copilot app. A medida que Copilot realiza más acciones en su nombre —usar herramientas, ejecutar comandos y modificar archivos—, el sandboxing proporciona el aislamiento, la portabilidad y los controles de políticas necesarios para adoptar de forma segura flujos de trabajo con agentes.
El aislamiento está disponible tanto en GitHub Copilot CLI como en GitHub Copilot app, pero ambos entornos lo exponen de forma diferente:
- En Copilot CLI, controla el aislamiento local y en la nube con los comandos y la configuración descritos en este artículo.
- En el GitHub Copilot app, puede ejecutar una sesión en un entorno aislado en la nube o usar el entorno aislado local para sesiones de repositorio local y árbol de trabajo. La configuración del proyecto define la configuración predeterminada para las nuevas sesiones locales, y puedes cambiar el aislamiento para una sesión local activa. Para obtener más información, vea Trabajar con sesiones de agente en la aplicación GitHub Copilot.
Las opciones de espacio aislado local se configuran por separado en Copilot CLI y GitHub Copilot app. Habilitar o configurar el espacio aislado local en un entorno no lo cambia en el otro.
Con el aislamiento en zona protegida, puedes elegir dónde se ejecuta Copilot:
- Aislamiento local: Ejecute Copilot de forma segura en su propia máquina. Los comandos que ejecuta Copilot tienen un acceso restringido al sistema de archivos, la red y las capacidades del sistema. Puede usar el espacio aislado local sin cargo adicional.
- Aislamiento en la nube: Ejecuta una sesión completa Copilot de forma remota, dentro de un entorno Linux completamente aislado y efímero, alojado por GitHub. El sandboxing en la nube se factura según el uso.
Aislamiento local
Nota:
- En Copilot CLI, el aislamiento local es actualmente una función experimental. Para usarlo, inicie la CLI con la
‑‑experimentalopción de línea de comandos o escriba/experimental ondurante una sesión. - En GitHub Copilot app, el aislamiento local se encuentra en versión preliminar pública y puede cambiar.
El aislamiento local permite que Copilot se ejecute en un entorno aislado directamente en tu equipo, con acceso restringido a tu sistema de archivos, a la conectividad de red y a las capacidades del sistema. Puede configurar el aislamiento local en Copilot CLI o en el GitHub Copilot app.
El espacio aislado local está desactivado de forma predeterminada. Hasta que lo habilites, los comandos de shell que ejecuta Copilot se ejecutan directamente en tu equipo con el mismo nivel de acceso que tu cuenta de usuario: pueden leer, escribir y eliminar en cualquier lugar al que tú puedas acceder, alcanzar cualquier red a la que tu equipo pueda acceder y usar tus credenciales sin restricciones. Habilitar el espacio aislado local restringe este acceso a una política que usted controla.
Cómo funciona el aislamiento local
El aislamiento local se basa en Microsoft eXecution Container (MXC), una tecnología multiplataforma que proporciona una interfaz común para los mecanismos de aislamiento disponibles en cada sistema operativo. Copilot CLI declara la política de aislamiento que quiere aplicar —qué rutas se pueden leer o escribir, si se permite el acceso a la red, etc.— y MXC aplica esa política mediante el mecanismo de aislamiento adecuado para su sistema operativo.
Existen tecnologías de aislamiento en un espectro, desde un aislamiento fuerte, como hipervisores o contenedores completos, hasta un aislamiento de peso más ligero, como el proceso de nivel de sistema operativo y la contención del sistema de archivos. El aislamiento local se sitúa actualmente en el extremo más liviano de este espectro: restringe lo que un proceso puede leer, escribir y a qué recursos de la red puede acceder, pero no ejecuta sus comandos dentro de una máquina virtual o un contenedor independientes. Si desea evaluar si este nivel de aislamiento cumple los requisitos de seguridad, consulte el repositorio microsoft/mxc para obtener más información sobre la implementación.
Para obtener más información, vea Descripción de las directivas del sistema de archivos para el entorno de pruebas local en GitHub Copilot CLI.
Habilitación del espacio aislado local
Para habilitar el aislamiento local dentro de una sesión Copilot CLI, ejecute:
/sandbox enable
/sandbox enable
Después de habilitar el espacio aislado local, los comandos y las herramientas que ejecuta un agente en su nombre (comandos de shell, búsqueda de archivos y, de forma predeterminada, los servidores MCP y el lenguaje (LSP) que inicia la CLI, se ejecutan dentro de un espacio aislado de nivel de sistema operativo, lo que limita su acceso al sistema. La CLI seguirá usando el aislamiento local cada vez que uses la CLI en el futuro, tanto de forma programática como interactiva, hasta que ejecutes /sandbox disable para desactivarlo. Si la configuración administrada por la empresa requiere aislamiento en entorno aislado, la configuración normal, las opciones de inicio y /sandbox disable no pueden desactivarlo. Si la directiva efectiva permite eludir el aislamiento, aun así puede desactivar explícitamente el aislamiento durante el resto de la sesión actual desde un mensaje activo de solicitud de permiso de elusión.
Las herramientas de archivos integradas de la CLI —comandos nativos que forman parte de la CLI, en lugar de comandos de shell como sed— se ejecutan dentro del proceso de la CLI. Dado que la propia CLI no está aislada, el entorno aislado del sistema operativo nunca ve las operaciones sobre archivos que realizan estas herramientas y no puede restringirlas. En su lugar, las herramientas integradas están diseñadas para comprobar por sí mismas la política de aislamiento y respetar la configuración establecida en la medida de lo posible.
Para obtener más información sobre cómo habilitar el aislamiento local en Copilot CLI, consulte Uso del entorno aislado local.
En la configuración del proyecto GitHub Copilot app, se define el aislamiento local predeterminado para las nuevas sesiones de repositorio local y de árbol de trabajo. También puede modificar el aislamiento de una sesión local activa sin cambiar la configuración predeterminada del proyecto. Para obtener más información, vea Configuración del aislamiento local en la aplicación GitHub Copilot.
Configurar el aislamiento local
Puede usar el comportamiento predeterminado del aislamiento local o modificar a qué puede acceder Copilot. Los controles disponibles dependen de la superficie que use.
En Copilot CLI, puede controlar varias dimensiones de acceso:
- Sistema de archivos: conceda acceso de solo lectura o de lectura y escritura a rutas específicas, o deniegue el acceso a determinadas rutas.
- Red: permita o bloquee el acceso saliente a Internet y el acceso a la red local de forma independiente.
- Credenciales: elija si las credenciales de Git y GitHub CLI (
gh) se ponen a disposición dentro del entorno aislado. - Subprocesos: elija si los servidores MCP locales y los servidores de idioma también se ejecutan dentro del espacio aislado. Los servidores MCP remotos nunca se ejecutan en un entorno aislado.
- Cadena de claves (macOS): elija si se puede acceder a la cadena de claves del sistema desde el espacio aislado.
- Excepciones por comando: permita o impida que los comandos individuales se ejecuten fuera del espacio aislado cuando necesiten acceso más amplio.
Para obtener más información sobre cómo configurar la configuración del entorno aislado local en Copilot CLI, consulte Configuración de los ajustes del entorno aislado local.
En la configuración del GitHub Copilot app, se muestra un subconjunto de estos controles:
- Sistema de archivos: conceder acceso adicional de solo lectura o de lectura y escritura a rutas específicas, o denegar rutas.
- Red: permita o bloquee el acceso saliente a Internet y a la red local.
- Credenciales: elija si las credenciales de Git y las de GitHub CLI están disponibles dentro del espacio aislado.
La aplicación también puede pedirle que apruebe un comando específico para ejecutarlo fuera del espacio aislado. No se puede configurar si se permiten o no las solicitudes de omisión en la configuración del proyecto. Para obtener más información sobre la configuración de la directiva del proyecto y cómo cambiar la configuración de aislamiento de una sesión local activa, consulte Configuración del aislamiento local en la aplicación GitHub Copilot.
Compatibilidad multiplataforma.
El aislamiento local está disponible en macOS, en Linux y en versiones recientes de Windows 11. Cada sistema operativo usa un back-end de aislamiento diferente, por lo que los requisitos son diferentes:
- macOS usa el back-end de Seatbelt. Copilot CLI aplica un perfil de ámbito de proceso a cada comando de espacio aislado. Usa macOS 15 (Sequoia) o una versión posterior. Copilot CLI no bloquea un macOS anterior, pero el back-end no se prueba allí.
- Linux usa el backend bubblewrap. Instale bubblewrap 0.5.0 o posterior, y asegúrese de que
bwrapesté en suPATH. Si/sandboxindica que subwrapes demasiado antiguo, actualice el paquete. Cuando la política de espacio aislado permite el tráfico saliente, debe contar también con:slirp4netnsen elPATH.unshareynsenterde util-linux 2.35 o posterior, con compatibilidad con--map-current-usery--keep-caps.iptables,ip6tablesy sus archivos binarios de restauración. Utilice el backendnf_tables. El backend heredado también funciona, pero solo si se puede escribir en/run/xtables.lock.- Acceso a
/dev/net/tun.
- Windows usa el nivel BaseContainer del back-end ProcessContainer. Copilot CLI no usa los niveles alternativos de AppContainer. Si su compilación de Windows no puede proporcionar BaseContainer, Copilot CLI informa de que el aislamiento no es compatible. Para conocer las versiones compatibles de Windows, consulte Compatibilidad del sistema operativo Windows con el aislamiento de Copilot.
Compatibilidad con proxy
El proxy del entorno aislado funciona de forma diferente en cada sistema operativo:
- macOS: Copilot CLI no proporciona el proxy a Seatbelt. En su lugar, establece
HTTP_PROXY,HTTPS_PROXYyALL_PROXYen el entorno aislado. Solo los programas que obedezcan a estas variables usan el proxy. Un programa que los omite se conecta directamente. - Linux: bubblewrap impone el uso del proxy. El entorno aislado dispone de un espacio de nombres de red privado y solo está permitido el extremo del proxy. Los requisitos de Linux para el tráfico saliente que se muestra en Compatibilidad multiplataforma también se aplican al configurar un proxy ascendente. El proxy debe tener una dirección IPv4, ya Copilot CLI que rechaza un proxy al que solo puede llegar IPv6. La dirección URL del proxy no debe contener credenciales, por lo que debe proporcionar las credenciales al propio proxy.
- Windows: el proxy no está disponible. En Copilot CLI, tampoco utilice rutas no permitidas. Si una directiva de espacio aislado de la CLI incluye cualquiera de las opciones, se produce un error en el comando de espacio aislado. En GitHub Copilot app, puede guardar las rutas denegadas en la configuración del proyecto. Si las capacidades activas de BaseContainer no pueden imponer una ruta denegada, el comando en espacio aislado falla en lugar de ejecutarse con una política más débil o sin espacio aislado.
En Linux, bubblewrap no puede controlar el acceso a la red local independientemente para los procesos generados, incluidos los comandos de shell y los servidores MCP o LSP locales. En el GitHub Copilot app, la configuración de red local sigue aplicándose a las operaciones dentro del proceso, como las solicitudes web y las conexiones MCP remotas.
Si el anfitrión no admite el aislamiento local
En Copilot CLI, se desactiva el entorno aislado para la sesión y se muestra un aviso. Entonces, los comandos del shell y los servicios aislados se ejecutan sin aislamiento, y tu configuración de sandbox.enabled no cambia. Si su empresa aplica el espacio aislado a través de la configuración administrada por el dispositivo, la sesión produce un error cerrado en su lugar: los comandos de espacio aislado no se ejecutan.
En GitHub Copilot app, la compatibilidad del host se comprueba cuando se inicia la primera shell aislada. Si el host no puede hacer cumplir la directiva solicitada, el shell falla con un mensaje de unsupported-platform o unsupported-policy y no se ejecuta sin aislamiento.
Cumplimiento de directivas empresariales
Las empresas pueden requerir espacio aislado local y aplicar su configuración a través de la configuración administrada por el servidor, administrada por MDM o basada en archivos. Consulte Introducción a la configuración administrada por la empresa.
Aislamiento en la nube
El aislamiento en la nube permite ejecutar sesiones en entornos Linux efímeros y totalmente aislados alojados en GitHub. Puede usar el aislamiento en la nube tanto desde Copilot CLI como desde el GitHub Copilot app. Cada sesión de espacio aislado en la nube está aislada del entorno local y de otras sesiones.
El aislamiento en la nube se basa en los espacios aislados de Azure Container Apps, y GitHub proporciona la capa de identidad, directivas y facturación.
Nota:
Si obtiene Copilot a través de una organización, el acceso al entorno aislado en la nube depende de que esté habilitado en la configuración de la organización o de la empresa, en la que está deshabilitado de forma predeterminada. Para obtener más información, vea Habilitación o deshabilitación de espacios aislados en la nube para su organización o empresa.
Inicio de una sesión en un entorno aislado en la nube
Para iniciar una sesión respaldada por la nube, ejecute el siguiente comando:
copilot ‑‑cloud ‑‑experimental
copilot ‑‑cloud ‑‑experimental
Nota:
El aislamiento en la nube es actualmente una función experimental. Para usarlo, debe tener activadas las funciones experimentales para Copilot CLI; por ejemplo, usando la opción de línea de comandos ‑‑experimental al iniciar una sesión de CLI, como se muestra arriba.
La opción de línea de comandos ‑‑cloud inicia una sesión interactiva Copilot CLI dentro de un entorno aislado en la nube. Puede solicitar que Copilot realice tareas, ejecutar comandos de shell e iterar en el código de la misma manera que lo haría en una sesión local. Los comandos que ejecuta Copilot se ejecutan en el entorno de nube, no en tu equipo local.
Al ejecutar copilot ‑‑cloud, se inicia una única sesión de Copilot CLI en un entorno aislado en la nube. No afecta a las sesiones futuras Copilot . Cada vez que quiera ejecutar una nueva sesión en un espacio aislado en la nube, debe iniciar la CLI con la ‑‑cloud opción .
Nota:
El entorno aislado en la nube solo está disponible para sesiones interactivas Copilot CLI. No se puede ejecutar la interfaz de línea de comandos de forma programática en un entorno aislado en la nube; es decir, no se puede combinar la opción ‑‑cloud con las opciones -p o -i.
En el GitHub Copilot app, no se utiliza ningún comando para iniciar una sesión de entorno de pruebas en la nube. En su lugar, elija la opción de espacio aislado en la nube al crear una nueva sesión. Para obtener más información, vea Trabajar con sesiones de agente en la aplicación GitHub Copilot.
Continuar sesiones entre dispositivos
Dado que las sesiones de entorno aislado en la nube se ejecutan en infraestructura hospedada en GitHub, puede reanudar una sesión de Copilot en cualquier dispositivo, independientemente de dónde se iniciara originalmente la sesión. Esto permite flujos de trabajo más flexibles sin necesidad de copiar archivos ni volver a instalar dependencias.
Delegue flujos de trabajo con uso intensivo de procesamiento
Puede ejecutar varias Copilot tareas en paralelo en la nube sin consumir recursos locales. Esto mantiene el entorno local ligero y dinámico al escalar el trabajo controlado por agentes.
Gobernanza unificada
Las directivas de entorno aislado en la nube comparten la misma configuración que las directivas de Copilot cloud agent, lo que amplía los controles de seguridad existentes a la ejecución en aislamiento en entorno de nube sin necesidad de configuración adicional.
Ciclo de vida de la sesión
Una sesión de entorno aislado en la nube tiene tres estados principales:
- Activo: la sesión está en ejecución y estás interactuando con ella desde Copilot CLI o GitHub Copilot app.
- Detenido: la sesión no se está ejecutando actualmente, pero su estado se guarda. Al reanudarlo, se restauran los archivos, las variables de entorno y el trabajo en curso.
- Eliminado: la sesión y su estado guardado se quitan y no se pueden recuperar.
Al detener una sesión, el entorno aislado en la nube crea una instantánea de su estado para que pueda retomar la sesión más adelante desde donde la dejó. Al eliminar una sesión, se quitan tanto el entorno en ejecución como la instantánea.
Autenticación y acceso
El aislamiento utiliza tu autenticación existente Copilot. Si puede iniciar sesión en Copilot CLI o en el GitHub Copilot app y tiene acceso a Copilot, no es necesario configurar una autenticación independiente para las opciones de aislamiento disponibles en esa superficie. No es necesario configurar un proveedor de nube independiente, administrar claves de API ni configurar la infraestructura.
El propietario de una organización o empresa debe habilitar la directiva de Acceso a Cloud Sandbox en la configuración de la organización o de la empresa para que los miembros puedan usar sandboxes en la nube.
Para obtener información sobre cómo habilitar o deshabilitar espacios aislados en la nube para los miembros de su organización, consulte Habilitación o deshabilitación de espacios aislados en la nube para su organización o empresa.
Facturación
El espacio aislado local se incluye en el asiento estándar GitHub Copilot sin costo adicional.
El sandboxing en la nube se factura según el uso. GitHub mide el uso del espacio aislado en la nube en tres metros:
| Medidor | Description | Unidad | Precio (USD) |
|---|---|---|---|
| Compute | Tiempo durante el que una sesión de espacio aislado en la nube está en ejecución. | Cómputo secundario | 0,000024 USD |
| Memory | Memoria asignada a una sesión de espacio aislado en la nube mientras se ejecuta. | GiB por segundo | 0,000003 USD |
| Storage | Almacenamiento de instantáneas para sesiones detenidas. | Mes de GiB | 0,005 $ |
Para obtener más información sobre cómo se mide y factura el uso del entorno de pruebas en la nube, consulte Facturación de los sandboxes en la nube y locales para GitHub Copilot.