O que trafega entre o GitHub Copilot e a nuvem, segundo uma análise com proxy MitM
Um engenheiro colocou o Copilot atrás de um proxy man-in-the-middle e documentou o bootstrap, o roteamento de modelos e um banco local que guarda prompts em texto puro.

O engenheiro Rafael Pierre publicou na newsletter Lighthouse uma análise do tráfego de rede do GitHub Copilot, obtida ao colocar o VS Code atrás de um proxy man-in-the-middle (MitM). O experimento combina interceptação de rede com leitura do código-fonte aberto do VS Code para reconstruir o que a ferramenta faz antes, durante e depois de cada interação.
Como o experimento foi montado
A técnica é a clássica de inspeção de tráfego: subir um proxy que intercepta as requisições HTTP, encaminha ao servidor e devolve as respostas. Como quase tudo hoje trafega via HTTPS (com TLS), o autor usou o mitmproxy e confiou na autoridade certificadora (CA) gerada localmente pela ferramenta. Assim, em vez de uma conexão criptografada ponta a ponta, existem duas (app-proxy e proxy-servidor), e o mitmproxy consegue decifrar, inspecionar e reencaminhar cada requisição.
Para rotear o VS Code pelo proxy, o autor ajustou três configurações: Http Proxy para http://localhost:8080, Http Proxy Strict SSL desmarcado e Http: Proxy Support em override. Ele nota que o mesmo raciocínio vale para outros apps Electron (Cursor, Notion, Slack, ChatGPT e Claude Desktop compartilham essa arquitetura), embora só o VS Code tenha código-fonte majoritariamente aberto para confirmar as descobertas.
O que o Copilot faz antes de você digitar
Segundo a análise, boa parte do tráfego inicial do VS Code é para GitHub ou GitHub Copilot, mesmo antes de qualquer tecla. As requisições de bootstrap se dividem em categorias como autenticação e sessão, configuração e política, registro de MCP↳MCP7 conteúdosArquitetura de Sistemas Cognitivos: Integração de RAG, MCP e LLMs no Ecossistema .NETDev (Back & Front) · abr 2026MCP: O que é e por que você vai ouvir falar disso em breve?AI · jul 2025Agentes de IA com LLMs de Código Aberto: Integração Prática com o Model Context Protocol (MCP)AI · ago 2025Ver tudo em AI →, contexto de repositório e descoberta de modelos.
A autenticação segue um fluxo OAuth comum: busca um token, troca por um token de vida curta e valida as permissões da conta. Depois vem a descoberta de modelos, com duas chamadas: uma a /models, que lista os modelos gerais disponíveis, e outra a /agents/swe/models, específica para capacidades agênticas de engenharia de software.
Com o modo Auto ativado, o autor também capturou chamadas a um endpoint /models/session/intent antes de qualquer resposta. O prompt é pontuado contra intenções como code-gen, debugging, reasoning e tool-use, e essa classificação define qual modelo atende a tarefa. O comportamento, ressalta o texto, está documentado pela própria Microsoft.
Completions disparadas fora do arquivo de secrets
Um dos pontos de atenção: o autor colocou um secret falso num arquivo .env e editá-lo não disparou requisições. Mas, ao abrir um pyproject.toml sem relação e começar a digitar, saiu uma requisição de completion cujo campo context incluía o conteúdo de arquivos recém-editados, entre eles a variável do .env.
A nota prática do autor: desligar completions inline no .env não muda nada, porque a requisição não é disparada por ele, e sim pela edição de outro arquivo que carrega arquivos recentes como contexto.
Um banco local com todo o histórico em texto puro
O achado mais chamativo é a ferramenta Chronicle, ligada a um endpoint session_store_sql visto nos prompts de sistema. Ela permite ao modelo rodar consultas SQL↳SQL64 conteúdosSQL Server – Como evitar SQL Injection?Data · mai 2019Azure SQL DB Managed InstanceData · abr 2019SQL Server – Como evitar SQL Injection? Pare de utilizar Query Dinâmica como EXEC(@Query)Data · abr 2019Ver tudo em Data → (somente leitura, sintaxe SQLite com FTS5) contra um banco local chamado session-store.db.
Esse banco guarda resumos de sessão, repositórios e branches em que você trabalhou, além de todos os prompts e respostas do modelo. Ao perguntar no chat "What did I work on this week?", o autor observou o modelo tentar uma query, falhar por não conhecer o schema, introspectá-lo via sqlite_schema e então recuperar os registros.
Inspecionando o arquivo em ~/Library/Application Support/Code/User/globalStorage/github.copilot-chat/session-store.db, ele confirmou que user_message e assistant_response são armazenados em texto puro. Para testar, enviou ao chat um token do GitHub falso, uma chave AWS↳AWS20 conteúdosE-mails de verificação com AWS SES + Lambda (Node.js) e Terraform: do zero ao envioDevSecOps · out 2025Codex na AWS: chegada do agente da OpenAI à nuvem da AmazonDevSecOps · abr 2026Salesforce e AWS ampliam colaboração em IA, CRM e marketplaceDevSecOps · nov 2023Ver tudo em DevSecOps → falsa e uma connection string com senha, tudo gravado exatamente como digitado. A leitura do código (sessionStore.ts) confirmou: não há mascaramento por coluna nem scrub no caminho de escrita.
Por que isso importa para quem desenvolve no Brasil
O autor evita o alarmismo e resume a conclusão: ferramentas de coding com IA estão virando sistemas com estado, combinando workspace, edições recentes, conversas, ferramentas, histórico e roteamento de modelos. Cada nova fonte de contexto aumenta a utilidade, mas também a quantidade de estado do desenvolvedor a que o sistema tem acesso, com implicações de confidencialidade e privacidade.
Para times brasileiros sujeitos à LGPD ou a políticas internas de dados, dois pontos merecem checagem: o banco local em texto puro pode conter credenciais e trechos sensíveis coladas no chat, e o contexto de completion pode arrastar dados de arquivos que você achava que estavam isolados. Vale revisar o que se cola no chat e como esse session-store.db é tratado em máquinas corporativas.
Fonte: Hacker News
Este artigo foi escrito por Redação iMasters. Conteúdo produzido por agente de IA da redação iMasters, sob revisão editorial humana. Saiba como produzimos no expediente.
Anthropic lança Opus 5.5 com tokens 20% mais baratos e nível do Fable em coding
O novo modelo troca o Opus 5 por preços menores e desempenho que supera o Fable, modelo maior da Anthropic, em vários benchmarks de código.











