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.
Introdução
Quando você habilita o sandboxing local, CLI do Copilot executa os comandos que ele invoca em seu nome dentro de uma área restrita do sistema operacional. A área restrita impõe uma política de sistema de arquivos: um conjunto de regras que decide quais caminhos um processo ou operação em área restrita pode ler, que pode gravar e que não pode tocar em tudo.
A maior parte dessa política é montada automaticamente, para que os comandos diários continuem funcionando sem configuração. Este artigo explica como Copilot chega à política e como verificar o acesso que ela concede em um diretório específico.
Para obter uma visão geral da área restrita local, incluindo como ativá-la e desativá-la, consulte Sobre a nuvem e as áreas restritas locais para GitHub Copilot e Usando área restrita local.
Ao que a política se aplica
A política do sistema de arquivos abrange o trabalho Copilot em seu nome, mas é imposta de maneiras diferentes, dependendo do tipo de trabalho:
- Os comandos do Shell e as pesquisas internas são executados como processos filho em área restrita, de modo que o sistema operacional impõe a política diretamente. As
grepferramentas eglobas ferramentas, por exemplo, executam o ripgrep como um processo filho em área restrita. - O MCP local e os processos de servidor de idioma (LSP) também podem ser executados dentro da área restrita, de modo que o sistema operacional impõe a política a eles também.
- As ferramentas internas de leitura de arquivo e edição de arquivo são executadas como parte de CLI do Copilot si mesma e não como um processo filho em área restrita. Eles verificam a mesma política de sistema de arquivos antes de ler ou gravar um arquivo, mas como a área restrita do sistema operacional nunca vê essas operações, a verificação é uma proteção somente software em vez de uma que o sistema operacional impõe.
- Servidores MCP remotos são executados fora do computador, portanto, não há nenhum processo filho local para área restrita e a política do sistema de arquivos não os restringe.
- Os subagentes não agem diretamente; eles orquestram outras ferramentas. Se a política se aplica e como, depende da ferramenta que um subagente invoca.
Portanto, um processo em área restrita é restringido pelo sistema operacional, enquanto uma operação em processo impõe a mesma política no software, razão pela qual este artigo se refere a um processo ou operação em área restrita, em vez de apenas a comandos.
Níveis de permissão
A área restrita é negação por padrão: a menos que um caminho seja concedido explicitamente, um comando não pode usá-la. Cada caminho na política tem um dos três níveis de permissão:
- Leitura/gravação – o comando pode ler e modificar arquivos nesse caminho.
- Somente leitura – o comando pode ler arquivos neste caminho, mas não alterá-los.
- Negado – o comando não pode ler ou gravar neste caminho, mesmo que uma regra mais ampla o permita de outra forma.
Como o acesso é negado, a menos que seja concedido, Copilot deve conceder a um comando tudo o que ele precisa legitimamente, seus arquivos de projeto, as ferramentas executadas e locais de suporte, como diretórios temporários, mantendo todo o resto fora dos limites.
Observação
Esses níveis de permissão se aplicam a cada processo ou operação em área restrita, mas são impostos de forma diferente: para processos filho em área restrita, o sistema operacional os impõe diretamente, enquanto as próprias ferramentas internas de leitura de arquivo e edição de arquivos da CLI verificam os mesmos níveis no software, sem um backstop do sistema operacional.
Como a política é criada
Antes que cada processo em área restrita seja iniciado, CLI do Copilot resolva a política efetiva para esse processo usando o diretório de trabalho atual, o ambiente, as configurações e as concessões automáticas. Isso restringe o processo apenas ao acesso necessário e significa que você não precisa gerenciar esses locais comuns por conta própria.
Seu diretório de trabalho
Quando Incluir diretório de trabalho está habilitado nas configurações do sistema de arquivos para área restrita local, como é por padrão, o diretório de trabalho atual recebe acesso de leitura/gravação. Em um repositório Git, Copilot também adiciona as concessões do Git associadas. Desativar essa configuração suprime todas essas concessões automáticas, portanto, você deve adicionar regras de permissão para o projeto necessário e os caminhos do Git manualmente. Consulte Configurando as configurações locais da sandbox.
Observação
Se você receber Copilot de uma organização de propriedade empresarial, um administrador poderá desativar a configuração Incluir diretório de trabalho e bloqueá-la, para que você não possa ativá-la novamente. Consulte Configurações gerenciadas pela empresa.
Ferramentas em seu PATH
Para executar um programa como python ou git, a área restrita precisa permitir que o comando veja o diretório em que o programa reside. Sua PATH variável de ambiente lista esses diretórios e Copilot concede a eles acesso somente leitura , juntamente com diretórios nomeados por variáveis de ferramenta relacionadas, como GOPATH, CARGO_HOMEe PYTHONPATH. Somente leitura é o nível certo para ferramentas externas: um comando precisa ser executado git, não modificá-lo. Para obter a lista completa das variáveis de PATH ambiente e cadeia de ferramentas que a área restrita inspeciona e como cada uma delas é interpretada, consulte referência de comando da CLI GitHub Copilot.
Localizações do sistema e do perfil
Os locais padrão do sistema e o diretório do seu perfil de usuário (home) recebem somente leitura, para que os comandos possam ler arquivos de configuração e bibliotecas compartilhadas sem poder alterá-los.
Caches do gerenciador de pacotes
Para permitir que instalações e builds funcionem dentro da área restrita, Copilot também concede acesso aos caches e registros usados por gerenciadores de pacotes comuns e carrinhos de ferramentas — somente leitura para registros e carrinhos de ferramentas e leitura/gravação para caches de build.
/sandbox policy No relatório, isso aparece como acesso à ferramenta de desenvolvimento.
Repositórios do Git;
Quando você trabalha em um subdiretório de um repositório Git, Copilot concede acesso de leitura a todo o repositório para que os comandos possam ver o projeto completo, limitando as gravações no diretório de trabalho atual e os metadados git do repositório (seu .git diretório). Isso permite que um comando seja lido no repositório, mas mantém as alterações focadas no local em que você está trabalhando.
Como o acesso de leitura abrange todo o repositório, um comando em área restrita pode ler arquivos fora do subdiretório atual, incluindo qualquer coisa confidencial armazenada em outro lugar do projeto. Para manter caminhos específicos fora de alcance, você pode adicionar regras de negação. Consulte Configurando as configurações locais da sandbox.
Quando as regras de acesso se sobrepõem
Como Copilot concede vários locais e você pode adicionar seus próprios, as regras podem se sobrepor. Quando o fizerem, o caminho mais específico ganhará. Por exemplo, se /project for gravável, mas você marcar /project/secrets somente leitura, tudo permanecerá /project gravável, exceto /project/secrets. Essa é uma maneira útil de proteger uma subpasta confidencial.
As sobreposições também são resolvidas a seu favor quando uma concessão de conveniência ficaria no caminho. Considere um projeto Python com um ambiente virtual local (.venv) que aparece em seu PATH. Tratar esse diretório como um local de ferramenta somente leitura comum o tornaria somente leitura , mesmo que ele esteja dentro de seu projeto gravável, e um comando como pip install poderia falhar quando ele tentasse atualizar o ambiente.
Copilot resolve isso para você: uma concessão adicionada automaticamente (como um diretório de ferramentas em PATH) dá lugar a uma concessão de leitura/gravação mais ampla que já a abrange. Portanto, node_modules/.binum diretório local .venvde projeto ou similar permanece gravável como parte do seu workspace.
As regras configuradas são sempre mantidas. Se você marcar um caminho somente leitura ou negar, essa decisão ficará mesmo quando o mesmo caminho seria descoberto e concedido automaticamente. Isso fornece uma maneira confiável de proteger um local confidencial, por exemplo, negando um .env arquivo para que nenhum comando em área restrita possa ler seus segredos.
Verificando o que a política atual permite
Como a política é montada para cada diretório e comando, a maneira mais simples de ver o acesso que você tem é perguntar CLI do Copilot. Em uma sessão, insira:
/sandbox policy
/sandbox policy
Copilot Imprime a política efetiva do diretório atual: os caminhos de leitura/gravação, somente leitura e negados que um comando iniciado a partir daqui realmente receberia, juntamente com o acesso à rede e o acesso à ferramenta de desenvolvimento em vigor. Esse é o resultado resolvido depois que as concessões automáticas e suas próprias configurações foram combinadas e quaisquer sobreposições resolvidas, não apenas uma cópia de suas configurações salvas.
Algumas coisas para ter em mente ao ler o relatório:
- Isso reflete o diretório atual. Como as concessões são descobertas por diretório, as mesmas configurações podem ser resolvidas para caminhos diferentes, dependendo de onde você executar.
- Se um caminho configurado não existir no disco, ele será deixado de fora da política e observado em uma seção Anotações . Isso explica por que uma regra que você adicionou pode parecer não ter efeito.
- Se a área restrita estiver desativada,
/sandbox policyinforme-o em vez de imprimir uma política, pois nenhuma restrição está em vigor.
Para verificar apenas se o sandboxing está ativado no momento, use /sandbox status. Para obter mais informações sobre esses comandos, consulte Usando área restrita local.
Personalizando a política
Você pode conceder caminhos extras de leitura/gravação ou somente leitura, negar caminhos e alterar outro comportamento do sistema de arquivos, na caixa de /sandbox config diálogo ou no arquivo de configurações. Depois de fazer uma alteração, execute /sandbox policy para confirmar o resultado. Para obter instruções passo a passo, consulte Configurando as configurações locais da sandbox.
Políticas gerenciadas pela empresa
Se você passar Copilot por uma organização de propriedade empresarial, um administrador poderá impor uma política de sistema de arquivos por meio de configurações gerenciadas. As configurações gerenciadas atuam como uma linha de base que você não pode afrouxar: elas podem exigir área restrita, adicionar caminhos negados e limitar quais caminhos você tem permissão para conceder. Quando uma configuração gerenciada se aplica, a /sandbox config caixa de diálogo mostra-a como um valor bloqueado (gerenciado) e /sandbox policy reflete-a na política resolvida.
Ao contrário da maioria das configurações, em que uma única fonte ganha, a política de área restrita é composta de todas as fontes em vigor ao mesmo tempo. As configurações gerenciadas podem chegar por mais de um canal simultaneamente — gerenciadas pelo servidor, MDM e baseadas em arquivo — e elas se combinam entre si e com suas próprias configurações, na direção mais restritiva em vez de uma fonte substituindo outra: uma alternância necessária permanece ativada, caminhos negados de todas as fontes somadas e os caminhos que você tem permissão para conceder só podem ser restringidos. Para obter mais informações, consulte Configurações gerenciadas pela empresa.