Skip to main content
Skip to content

Usando isolamento local

Habilite o sandboxing local para que Copilot CLI execute os comandos e as ferramentas que ele invoca em seu nome dentro de uma área restrita do sistema operacional.

Observação

As áreas restritas locais estão GitHub Copilot dentro prévia pública e sujeitas a alterações.

Importante

O sandboxing local em Windows requer uma compilação Windows Insiders.

Sobre o sandboxing local

Atualmente, o sandboxing é 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.

Quando você habilita o sandboxing local, Copilot CLI executa a maioria dos comandos e ferramentas que ele invoca em seu nome dentro de uma área restrita do sistema operacional. Depois de ativar o sandboxing local, ele será usado em todas as suas sessões Copilot CLI até você desativá-lo ou desligá-lo para uma sessão específica. Se as configurações gerenciadas da empresa exigirem isolamento em sandbox, a configuração normal, a opção de linha de comando --no-sandbox e o comando /sandbox disable não poderão desabilitá-lo. No entanto, se a política em vigor permitir ignorar a sandbox, você poderá desativar explicitamente a sandbox pelo restante da sessão atual a partir de um prompt ativo de permissão para ignorá-la.

Por padrão, comandos e ferramentas em sandbox podem gravar no diretório de trabalho atual e em pastas temporárias. O diretório do perfil do usuário (home), juntamente com os locais do sistema e das ferramentas, são somente de leitura. Outros locais de disco são bloqueados. Em um repositório Git, o restante do repositório acima do diretório de trabalho atual é legível, mas não gravável. O acesso à sua rede local e privada é permitido, assim como o acesso à Internet de saída.

Por padrão, as operações autenticadas de Git e GitHub CLI (gh) continuam funcionando dentro do sandbox, porque Copilot CLI disponibiliza suas credenciais do GitHub para comandos em sandbox. Isso permite que ações como git push e gh pr create tenham êxito. Você pode desativar isso nas configurações da sandbox.

Para obter uma visão geral conceitual do sandboxing em Copilot CLI, consulte Sobre a nuvem e as áreas restritas locais para GitHub Copilot.

Comandos de sandbox

Você gerencia o isolamento local em uma sessão Copilot CLI usando o comando de barra /sandbox. Possui os seguintes subcomandos.

CommandDescrição
/sandbox statusMostre se o sandboxing está sendo usado para a sessão no momento. Consulte como verificar se o sandbox está sendo usado.
/sandbox policyMostre a política efetiva do sistema de arquivos para o diretório atual: os caminhos legíveis, graváveis ou bloqueados e o acesso à rede em vigor. 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.
/sandbox configAbra a interface de configurações interativas. Inserir /sandbox sozinho tem o mesmo efeito. Para obter mais informações, consulte Configurando as configurações locais da sandbox.
/sandbox enableAtive o isolamento local. Consulte Como ativar o sandbox local.
/sandbox disableDesative o isolamento local. Se as configurações gerenciadas pela empresa exigirem área restrita, isso será recusado. Consulte Desabilitando o sandboxing local.

Habilitando o sandboxing local

Para habilitar o sandboxing local, insira o seguinte comando em uma sessão interativa Copilot CLI :

Shell
/sandbox enable

O sandboxing começa a ser usado imediatamente para a sessão atual.

Depois de habilitar o sandboxing local, ele continuará a ser usado para as sessões interativas atuais e futuras e para sessões programáticas.

Observação

Se você tiver outras sessões abertas ao entrar /sandbox enable, o sandboxing não será usado imediatamente nessas sessões. Para usar o sandboxing em uma sessão já aberta, faça um dos seguintes procedimentos nessa sessão:

  • Feche a sessão e reinicie-a, por exemplo, executando copilot --continue.
  • Insira /sandbox enable.

Desabilitando o sandboxing local

Se as configurações gerenciadas pela empresa exigirem isolamento em sandbox, /sandbox disable é recusado. Se a política efetiva permitir ignorar a sandbox, você poderá, em vez disso, desativá-la explicitamente pelo restante da sessão atual a partir de um prompt ativo de permissão para ignorar a sandbox.

Para parar de usar o sandboxing local, insira o seguinte comando em uma sessão interativa Copilot CLI :

Shell
/sandbox disable

O sandboxing não é mais usado na sessão atual ou em sessões novas e reiniciadas.

Sua escolha de usar ou não o isolamento local é salva como a configuração sandbox.enabled no seu arquivo de configuração pessoal da CLI (~/.copilot/settings.json por padrão).

Usando o sandboxing para uma única sessão

Você pode usar a opção --sandbox de linha de comando para usar o sandboxing para uma única sessão, sem habilitar o sandboxing para suas outras sessões. Se o sandboxing já estiver habilitado, você poderá desabilitá-lo para uma única sessão usando a opção --no-sandbox . A opção --no-sandbox não pode sobrepor configurações empresariais gerenciadas que exigem sandbox.

Você pode combinar essas opções com a opção -p de linha de comando para controlar o sandboxing para uso programático da CLI. Por exemplo:

Shell
copilot --sandbox -p "PROMPT"

Executar um único comando fora da sandbox

Quando um comando precisa de acesso mais amplo do que a área restrita permite, Copilot pode solicitar a execução desse único comando fora da área restrita. É mostrado um prompt de confirmação que descreve o comando. Você pode aprovar esse único comando, mantê-lo dentro da área restrita ou desabilitar a área restrita para o restante da sessão atual. A opção de desativação da sessão está disponível apenas durante a resposta a um prompt ativo de bypass e somente se a política efetiva permitir o bypass do sandbox.

Esse comportamento é habilitado por padrão e pode ser desativado nas configurações da área restrita.

Verificando se o sandboxing está sendo usado

Para verificar se o sandboxing local está sendo usado para a sessão atual, insira:

Shell
/sandbox status

Copilot CLI informa se o sandboxing está habilitado para a sessão. Se as configurações gerenciadas da sua organização exigirem isolamento em sandbox, o status também indicará isso. Como o status reflete o que a sessão realmente aplica, esta é a forma confiável de confirmar se os comandos que Copilot executa estão sendo executados em sandbox.

Para ver não apenas se o isolamento em sandbox está habilitado, mas exatamente quais caminhos podem ser lidos, gravados ou bloqueados, digite /sandbox policy. 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.

Você também pode ver de imediato o status do sandbox na linha de status, que contém sandbox enabled quando o modo sandbox está sendo usado. A exibição das informações da sandbox na linha de status é ativada por padrão. Se ele tiver sido desativado, você poderá ativá-lo novamente:

  1. Insira /statusline.
  2. Mova a seleção para baixo na lista de opções para área restrita.
  3. Pressione Enter para alternar a configuração até que ela exiba uma marca de seleção.

Leitura adicional