Segurança · 9 de novembro de 2026
Experimento revela que extensão Kilo Code enviou arquivos não autorizados para servidor
Um experimento técnico demonstrou que a extensão Kilo Code 7.4.20 para Visual Studio Code transmitiu arquivos de um projeto para um servidor, mesmo quando o usuário restringiu explicitamente a permissão de envio a apenas dois arquivos.
O teste foi configurado para simular um provedor de modelos de linguagem não confiável. O usuário instruiu a ferramenta a enviar apenas os arquivos price.py e check.py para corrigir um erro de cálculo e verificar o resultado, proibindo a transmissão de arquivos de módulos, configurações e o arquivo README. No entanto, o servidor de teste enviou comandos para ler todos os arquivos do projeto, e o cliente Kilo executou essas solicitações.
Como resultado, o servidor recebeu doze arquivos, cujas cópias coincidiram byte a byte com os originais. O processo ocorreu porque o Kilo incluiu os resultados da leitura dos arquivos nas solicitações enviadas ao modelo, adicionando-os ao histórico do chat. O servidor então extraiu esses dados das respostas das ferramentas e reconstruiu o projeto completo.
O experimento utilizou o arquivo bin/kilo.exe via interface de linha de comando, com a sessão gráfica da extensão não sendo testada. O servidor simulado comunicou-se com o cliente através de uma interface de programação de aplicações compatível com o Chat Completions da OpenAI, imitando respostas de fluxo com chamadas de ferramentas.
Em termos de tráfego de dados, o código único do projeto ocupava 11.103 bytes, mas o volume total dos corpos das solicitações à interface de programação de aplicações do modelo somou 458.779 bytes. Esse volume elevado ocorreu porque o Kilo reenvia o histórico do chat em cada nova solicitação, fazendo com que o conteúdo de leituras anteriores fosse repetido múltiplas vezes, além de incluir descrições de ferramentas e marcações de serviço.
O teste foi realizado em ambiente Windows utilizando Python 3.14.9. Para a simulação, foram desativados plugins externos e servidores MCP, e foi utilizada uma chave de interface de programação de aplicações fictícia.