Observação
As áreas restritas locais e de nuvem estão GitHub Copilot dentro prévia pública e sujeitas a alterações.
Introdução
Copilot sandboxes em nuvem e locais são a plataforma de execução que viabiliza experiências seguras em sandbox para GitHub Copilot CLI e o GitHub Copilot app. À medida que Copilot realiza mais ações em seu nome — executando ferramentas, executando comandos e modificando arquivos —, o isolamento em sandbox fornece o isolamento, a portabilidade e os controles de políticas necessários para adotar com segurança fluxos de trabalho com agentes.
Sandboxing está disponível em ambos GitHub Copilot CLI e GitHub Copilot app, mas as duas interfaces o disponibilizam de maneiras diferentes:
- Em Copilot CLI, você controla o sandboxing local e de nuvem com os comandos e as configurações descritos neste artigo.
- No GitHub Copilot app, você escolhe o sandbox na nuvem ao iniciar uma nova sessão, sem executar nenhum comando. Esse recurso está atualmente em prévia pública e sujeito a alterações. Para obter mais informações, consulte Trabalhando com sessões de agente no GitHub aplicativo Copilot.
Com o sandboxing, você pode escolher onde Copilot é executado:
- Área restrita local: execute Copilot com segurança em seu próprio computador. Os comandos que Copilot executa têm acesso restrito ao sistema de arquivos, à rede e às capacidades do sistema. Você pode usar sandbox local sem custo adicional.
- Área restrita de nuvem: execute uma sessão inteira Copilot remotamente, dentro de um ambiente Linux totalmente isolado e efêmero hospedado por GitHub. O sandboxing em nuvem é cobrado de acordo com o uso.
Isolamento local em sandbox
Observação
Atualmente, o sandboxing local é um recurso experimental. Para usá-lo, comece Copilot CLI com a opção ‑‑experimental de linha de comando ou insira /experimental on durante uma sessão.
O isolamento local permite executar Copilot em um ambiente isolado diretamente na sua máquina, com acesso restrito ao seu sistema de arquivos, à conexão de rede e aos recursos do sistema. Você configura o sandboxing local em Copilot CLI, usando os comandos e as configurações descritos nas seções a seguir.
O isolamento em sandbox local fica desativado por padrão. Até que você o habilite, os comandos do shell que Copilot executa são executados diretamente na sua máquina com o mesmo acesso da sua conta de usuário: eles podem ler, escrever e excluir em qualquer lugar em que você puder, acessar qualquer rede que sua máquina possa acessar e usar suas credenciais sem restrição. Habilitar a área restrita local restringe esse acesso a uma política que você controla.
Como funciona o sandboxing local
O sandboxing local usa o Microsoft eXecution Container (MXC), uma tecnologia multiplataforma que fornece uma interface comum para os mecanismos de isolamento disponíveis em cada sistema operacional. Copilot CLI declara a política de área restrita que deseja impor — quais caminhos são legíveis ou graváveis, se o acesso à rede é permitido e assim por diante — e o MXC aplica essa política usando o back-end de isolamento apropriado para seu sistema operacional.
As tecnologias de isolamento existem em um espectro, desde um isolamento forte, como hipervisores completos ou contêineres, até o isolamento de peso mais leve, como o processo no nível do sistema operacional e a contenção do sistema de arquivos. Atualmente, o sandboxing local está na extremidade mais leve desse espectro: restringe o que um processo pode ler, gravar e alcançar na rede, mas não executa seus comandos dentro de uma máquina virtual ou contêiner separado. Se você quiser avaliar se esse nível de isolamento atende aos seus requisitos de segurança, consulte o repositório microsoft/mxc para obter detalhes da implementação.
Para obter mais informações, consulte Noções básicas sobre políticas de sistema de arquivos para área restrita local em GitHub Copilot CLI.
Habilitando o sandboxing local
Para habilitar o sandboxing local dentro de uma Copilot CLI sessão, execute:
/sandbox enable
/sandbox enable
Depois de habilitar o sandboxing local, os comandos e as ferramentas que um agente executa em seu nome – comandos de shell, pesquisa de arquivos e, por padrão, os servidores MCP e idioma (LSP) que a CLI inicia — são executados dentro de uma área restrita no nível do sistema operacional, limitando o acesso deles ao seu sistema. A CLI continuará a usar o isolamento local sempre que você a usar dali em diante — tanto para uso programático quanto interativo — até que você execute /sandbox disable para desativá-lo. Se as configurações gerenciadas pela empresa exigirem isolamento em sandbox, as configurações normais, as opções de inicialização e /sandbox disable não poderão desativá-lo. Se a política efetiva permitir ignorar a sandbox, você ainda poderá desativá-la explicitamente pelo restante da sessão atual a partir de um prompt ativo de permissão para ignorar a sandbox.
As ferramentas de arquivo internas da CLI — comandos de primeira parte que fazem parte da CLI, em vez de comandos de shell, como sed— são executadas em processo na CLI. Como a CLI em si não está em área restrita, a área restrita do sistema operacional nunca vê as operações de arquivo executadas por essas ferramentas e não pode restringi-las. Em vez disso, as ferramentas integradas foram projetadas para verificar por conta própria a política da sandbox e respeitar suas configurações na medida do possível.
Para obter mais informações, consulte Usando isolamento local.
Configurando o isolamento local
Você pode usar o comportamento de área restrita local padrão ou modificar o que Copilot pode acessar. Ao configurar o sandboxing local, você pode controlar várias dimensões de acesso:
- Sistema de arquivos: conceda acesso somente leitura ou leitura/gravação a caminhos específicos ou negue caminhos.
- Rede: permitir ou bloquear o acesso à Internet de saída e o acesso à rede local de forma independente.
- Credenciais: escolha se suas credenciais do Git e GitHub CLI (
gh) ficam disponíveis dentro do sandbox. - Subprocessos: escolha se servidores MCP locais e servidores de idioma também são executados dentro da área restrita. Os servidores MCP remotos nunca são protegidos por área restrita.
- Chaves (macOS): Escolha se o conjunto de chaves do sistema pode ser acessado de dentro do sandbox.
- Exceções por comando: permitir ou impedir que comandos individuais sejam executados fora da área restrita quando precisarem de acesso mais amplo.
Para obter mais informações, consulte Configurando as configurações locais da sandbox.
Suporte multiplataforma.
O sandboxing local está disponível no macOS, no Linux e em builds de Windows 11 recentes. Cada sistema operacional usa um back-end de isolamento diferente, portanto, os requisitos são diferentes:
- O macOS usa o back-end do Seatbelt. Copilot CLI aplica um perfil com escopo de processo a cada comando em área restrita. Use o macOS 15 (Sequoia) ou versão posterior. Copilot CLI não bloqueia um macOS mais antigo, mas o back-end não é testado lá.
- Linux usa o back-end bubblewrap. Instale o bubblewrap 0.5.0 ou superior e certifique-se de que
bwrapesteja no seuPATH. Se/sandboxinformar que seubwrapestá desatualizado, atualize o pacote. - Windows usa o nível BaseContainer do backend ProcessContainer. Copilot CLI não usa as camadas de fallback do AppContainer. Se o build do Windows não puder fornecer o BaseContainer, Copilot CLI relatará que não há suporte para área restrita. Para encontrar as versões do Windows com suporte, consulte Suporte do sistema operacional Windows para isolamento em sandbox do Copilot.
Suporte a proxy
O proxy de área restrita opera de forma diferente em cada sistema operacional:
-
macOS: Copilot CLI não fornece o proxy ao Seatbelt. Ele define
HTTPS_PROXY,HTTP_PROXYeALL_PROXYno ambiente em sandbox, em vez disso. Somente os programas que obedecem a essas variáveis usam o proxy. Um programa que os ignora se conecta diretamente. -
Linux: bubblewrap força o uso do proxy. O sandbox recebe um namespace de rede privado, e apenas o endpoint de proxy é permitido. Esse modo tem mais requisitos. Você deve ter:
slirp4netnsem seuPATH.unshareensenterdo util-linux 2.35 ou posterior, com suporte a--map-current-usere--keep-caps.iptableseip6tables. Use o backendnf_tables. O backend legado também funciona, mas apenas se você puder escrever em/run/xtables.lock.
Mais dois limites se aplicam ao Linux. O proxy deve ter um endereço IPv4, pois Copilot CLI recusa um proxy que somente IPv6 pode alcançar. A URL do proxy não deve conter credenciais, portanto, forneça as credenciais para o proxy em si.
Além disso, no Linux, o bubblewrap não pode controlar o acesso à rede local independentemente do acesso de saída. Sua configuração de rede local, portanto, não tem um efeito separado lá.
-
Windows: o proxy não está disponível. Também não use caminhos negados em Windows. Copilot CLI não é possível impor essas configurações e o comando em área restrita falha com um erro.
Se o host não der suporte ao sandboxing local
Copilot CLI desativa a sandbox para a sessão e mostra um aviso. Comandos de shell e serviços em sandbox são executados sem sandbox, e sua configuração sandbox.enabled não muda. Se sua empresa impor a área restrita por meio de configurações gerenciadas pelo dispositivo, a sessão falhará em vez disso: os comandos em área restrita não são executados.
Imposição da política empresarial
As empresas podem exigir área restrita local e impor sua configuração por meio de configurações gerenciadas por servidor, gerenciadas por MDM ou gerenciadas com base em arquivo. Consulte Introdução às configurações gerenciadas pela empresa.
Isolamento em sandbox na nuvem
O sandboxing de nuvem permite executar sessões dentro de ambientes linux totalmente isolados e efêmeros hospedados por GitHub. Você pode usar o sandbox em nuvem a partir de Copilot CLI e de GitHub Copilot app. Cada sessão de área restrita de nuvem é isolada do seu ambiente local e de outras sessões.
O isolamento em nuvem baseia-se em sandboxes do Aplicativos de Contêiner do Azure, com GitHub fornecendo a camada de identidade, política e cobrança.
Observação
Se você obtiver Copilot por meio de uma organização, o acesso ao isolamento em sandbox na nuvem dependerá de esse recurso estar habilitado nas configurações da organização ou da empresa, onde ele fica desabilitado por padrão. Para obter mais informações, consulte Habilitar ou desabilitar áreas restritas de nuvem para sua organização ou empresa.
Iniciando uma sessão de sandbox na nuvem
Para iniciar uma sessão com backup de nuvem, execute o seguinte comando:
copilot ‑‑cloud ‑‑experimental
copilot ‑‑cloud ‑‑experimental
Observação
Atualmente, o sandboxing de nuvem é um recurso experimental. Para usá-lo, você deve ter recursos experimentais habilitados para Copilot CLI— por exemplo, usando a opção de ‑‑experimental linha de comando ao iniciar uma sessão da CLI, conforme mostrado acima.
A opção de linha de comando ‑‑cloud inicia uma sessão interativa Copilot CLI em uma sandbox na nuvem. Você pode solicitar que Copilot execute tarefas, execute comandos de shell e itere no código, assim como faria em uma sessão local. Os comandos que Copilot executa são executados no ambiente de nuvem, não na sua máquina local.
Executar copilot ‑‑cloud inicia uma única sessão Copilot CLI em uma sandbox na nuvem. Isso não afeta sessões futuras Copilot . Sempre que quiser executar uma nova sessão em uma área restrita de nuvem, você deve iniciar a CLI com a opção ‑‑cloud .
Observação
O sandboxing na nuvem só está disponível para sessões interativas Copilot CLI . Você não pode executar a CLI programaticamente em um sandbox na nuvem — ou seja, não é possível combinar a opção ‑‑cloud com as opções -p ou -i.
No GitHub Copilot app, não é necessário usar um comando para iniciar uma sessão de sandbox na nuvem. Em vez disso, escolha a opção de área restrita de nuvem ao criar uma nova sessão. Para obter mais informações, consulte Trabalhando com sessões de agente no GitHub aplicativo Copilot.
Continuar sessões entre dispositivos
Como as sessões de sandbox na nuvem são executadas em infraestrutura hospedada por GitHub, você pode retomar uma sessão Copilot em qualquer dispositivo, independentemente de onde ela tenha sido iniciada originalmente. Isso permite fluxos de trabalho mais flexíveis sem a necessidade de copiar arquivos ou reinstalar dependências.
Descarregar fluxos de trabalho com uso intensivo de computação
Você pode executar várias Copilot tarefas em paralelo na nuvem sem consumir recursos locais. Isso mantém o ambiente local leve e responsivo ao dimensionar o trabalho controlado pelo agente.
Governança unificada
As políticas de área restrita de nuvem compartilham a mesma configuração que Copilot cloud agent as políticas, estendendo os controles de segurança existentes para a execução em área restrita de nuvem sem configuração adicional.
Ciclo de vida da sessão
Uma sessão de área restrita de nuvem tem três estados principais:
- Ativo: A sessão está em execução e você está interagindo com ela de Copilot CLI ou do GitHub Copilot app.
- Parado: a sessão não está em execução no momento, mas seu estado é salvo. Quando você retomá-lo, seus arquivos, variáveis de ambiente e trabalho em andamento são restaurados.
- Excluído: a sessão e seu estado salvo são removidos e não podem ser recuperados.
Quando você encerra uma sessão, o sandbox na nuvem cria um snapshot do estado dela para que você possa retomar de onde parou depois. Quando você exclui uma sessão, o ambiente em execução e o instantâneo são removidos.
Autenticação e acesso
O sandboxing usa sua autenticação existente Copilot . Se você puder entrar em Copilot CLI ou em GitHub Copilot app e tiver acesso a Copilot, não precisará configurar uma autenticação separada para as opções de isolamento disponíveis nesse ambiente. Você não precisa configurar um provedor de nuvem separado, gerenciar chaves de API ou configurar a infraestrutura.
Uma organização ou proprietário da empresa deve habilitar a política de acesso à Área Restrita de Nuvem nas configurações da organização ou da empresa antes que os membros possam usar áreas restritas de nuvem.
Para obter informações sobre como habilitar ou desabilitar áreas restritas de nuvem para membros da sua organização, consulte Habilitar ou desabilitar áreas restritas de nuvem para sua organização ou empresa.
Faturamento
A área restrita local é incluída no assento padrão GitHub Copilot sem custo adicional.
O sandboxing em nuvem é cobrado de acordo com o uso. GitHub mede o uso da sandbox em nuvem em três métricas:
| Meter | Description | Unidade | Preço (USD) |
|---|---|---|---|
| Computação | Tempo durante o qual uma sessão de sandbox na nuvem está em execução. | Computação secundária | US$ 0,000024 |
| Memória | Memória alocada a uma sessão de sandbox na nuvem enquanto está em execução. | GiB segundo | US$ 0,000003 |
| Armazenamento | Armazenamento de instantâneos para sessões interrompidas. | Mês do GiB | US$ 0,005 |
Para obter mais informações sobre como o uso da área restrita de nuvem é medido e cobrado, consulte Cobrança para áreas restritas locais e de nuvem para GitHub Copilot.