Skip to main content
Skip to content

Información sobre los entornos de pruebas en la nube y locales para GitHub Copilot

Los espacios aislados locales y en la nube proporcionan entornos de ejecución aislados que permiten Copilot interactuar de forma segura con código, herramientas, sistema de archivos y recursos de red en el equipo local o en entornos de nube totalmente aislados.

Nota:

Los espacios aislados 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 aislamiento local en una superficie no lo cambia en la otra.

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

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:

Shell
/sandbox enable

Después de habilitar el espacio aislado local, los comandos y las herramientas que ejecuta un agente por ti se ejecutan dentro de un espacio aislado de nivel de sistema operativo que limita su acceso al sistema. Estos incluyen comandos de shell, búsqueda de archivos y, de forma predeterminada, cualquier servidor MCP local y cualquier servidor de lenguaje (LSP) local. Copilot sigue usando el espacio aislado local, incluso en sesiones futuras, hasta que se ejecute /sandbox disable para deshabilitarlo.

Si la configuración administrada de empresa requiere aislamiento, la configuración normal y las opciones de inicio no pueden desactivarla. Si la directiva efectiva permite omitir el sandbox, puede seguir deshabilitando el sandbox durante el resto de la sesión actual, ya sea desde un aviso de permiso de omisión o ejecutando /sandbox disable. Esto no cambia la política guardada.

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.

En GitHub Copilot app, la configuración del proyecto 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 sobre cómo habilitar el espacio aislado local en Copilot CLI y el Copilot app, vea Uso del entorno aislado local.

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: Controle el acceso saliente a Internet y el acceso a la red local, o permita y deniegue hosts específicos. Las restricciones disponibles dependen del sistema operativo.
  • Credenciales: habilite la autenticación de Git y GitHub CLI (gh) o enmascare variables de entorno adicionales. Las herramientas de espacio aislado reciben marcadores de posición y un proxy local proporciona las credenciales reales solo a destinos HTTPS aprobados.
  • 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.

En GitHub Copilot app, la configuración del proyecto expone 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 de GitHub CLI están disponibles dentro del entorno 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 cómo configurar el espacio aislado local en la aplicación o la CLI, consulte Configuración de los ajustes del entorno aislado local.

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 bwrap esté en su PATH. Si /sandbox indica que su bwrap es demasiado antiguo, actualice el paquete. Cuando la política de espacio aislado permite el tráfico saliente, debe contar también con:
    • slirp4netns en el PATH.
    • unshare y nsenter de util-linux 2.35 o posterior, con compatibilidad con --map-current-user y --keep-caps.
    • iptables, ip6tablesy sus archivos binarios de restauración. Utilice el backend nf_tables. El backend heredado también funciona, pero solo si se puede escribir en /run/xtables.lock.
    • Acceso a /dev/net/tun.
  • Windows requiere una actualización Windows 11 reciente que admita el espacio aislado. La compatibilidad con características como rutas de acceso denegadas, conexiones localhost y proxy también depende de la versión de Windows. Si el host no puede admitir una característica solicitada, Copilot CLI notifica el requisito en lugar de ejecutar el comando con restricciones más débiles. Consulte información de actualización de Windows para el aislamiento de Copilot.

Compatibilidad con proxy

En Copilot CLI, las reglas de host y la configuración del proxy HTTP usan un proxy local integrado. Su aplicación difiere según el sistema operativo:

  • macOS y Linux: el sandbox restringe las conexiones salientes al proxy local. Los programas que omiten la configuración de proxy tampoco se pueden conectar directamente. Los requisitos de Linux para el tráfico saliente que se muestra en Compatibilidad multiplataforma también se aplican al configurar un proxy.
  • Windows: las reglas de proxy y host requieren una versión de Windows compatible y que Permitir red local esté activado. En Windows, el espacio aislado se basa en programas que respetan la configuración del proxy. Como resultado, estos controles no proporcionan la misma protección contra las conexiones directas que en macOS y Linux.

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. La configuración de red local todavía se aplica a las operaciones dentro del proceso, como las solicitudes web y las conexiones MCP remotas, tanto en la CLI como en la aplicación.

Si el anfitrión no admite el aislamiento local

En Copilot CLI, se desactiva el espacio aislado para la sesión actual si el host no lo admite, aunque exista una preferencia de usuario guardada para habilitarlo. Un aviso explica que los comandos y servicios de shell se ejecutarán sin sandbox. La configuración guardada sandbox.enabled permanece sin cambios. Se rechaza ejecutar /sandbox enable en un host no admitido.

La configuración empresarial puede cambiar este comportamiento. En un host no admitido, se rechaza una solicitud administrada por el servidor para habilitar el espacio aislado, a menos que la configuración administrada efectiva también establezca sandbox.failIfUnavailable en true. La configuración administrada por el dispositivo puede requerir aislamiento incluso en un host no compatible. Los comandos y servicios que requieren aislamiento en zona protegida fallan en lugar de ejecutarse sin él. Cuando la configuración administrada efectiva establece tanto sandbox.enabled como sandbox.failIfUnavailable en true, la CLI bloquea las solicitudes de modelo y la ejecución de herramientas para la sesión si no puede aplicar el espacio aislado. Estos requisitos pueden provenir de la configuración administrada por el servidor, la configuración administrada por el dispositivo o una combinación de ambos.

En el caso de GitHub Copilot app, en un host que no admite el espacio aislado local, una sesión configurada para usar el espacio aislado local puede iniciarse normalmente, pero los comandos de shell y otros procesos de espacio aislado fallan cuando Copilot intenta iniciarlos. GitHub Copilot app conserva la preferencia guardada y la operación con errores notifica que el espacio aislado no se admite en la plataforma. La configuración administrada por el dispositivo puede requerir este modo a prueba de fallos con denegación por defecto y puede bloquear la ejecución del modelo y de la herramienta.

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, donde 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:

Shell
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 la autenticación Copilot existente. 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 aparte 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 de GitHub Copilot sin coste 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:

MedidorDescriptionUnidadPrecio (USD)
ComputeTiempo durante el que una sesión de espacio aislado en la nube está en ejecución.Segundo de proceso0,000024 USD
MemoryMemoria asignada a una sesión de espacio aislado en la nube mientras se ejecuta.GiB por segundo0,000003 USD
StorageAlmacenamiento de instantáneas para sesiones detenidas.GiB/mes0,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.

Lectura adicional