Grok foi pego fazendo upload de todo o seu código-fonte

BBetter Stack
컴퓨터/소프트웨어경제 뉴스AI/미래기술

스크립트

00:00:00O Grok enviou todo o meu diretório de usuário para os servidores da xAI, incluindo minhas chaves SSH, minhas senhas
00:00:05bancos de dados, documentos, fotos, vídeos, tudo. A CLI de codificação do Grok enviou todo o seu
00:00:10repositório e seu histórico do git, incluindo arquivos que ele foi instruído a não abrir e segredos excluídos do
00:00:16histórico. Este é um erro grave e massivo da equipe do Grok, então vamos analisar
00:00:20o que aconteceu, como você pode verificar se seu código foi enviado e o que a xAI fez para corrigir isso.
00:00:29Primeiro descobri isso por meio deste tweet, que orientava as pessoas a executarem um comando grep para ler
00:00:33os logs do Grok, dizendo que você ficaria furioso. Ele mostra uma foto do log enfileirando o envio de um repositório
00:00:38para os servidores do Grok. Este tweet tem centenas de respostas e citações de pessoas que executaram esse comando
00:00:42e obtiveram um resultado semelhante, e até um usuário que executou o Grok em seu diretório pessoal relatando que
00:00:47tudo foi enviado. Investigações adicionais mostram que ele traz um coletor de código em segundo plano, semelhante a um malware.
00:00:52Então, vamos dar uma olhada no que ele estava realmente fazendo. Este é um relatório de um pesquisador chamado cereblab,
00:00:56que usou o mitmproxy para inspecionar o tráfego que a CLI do Grok estava enviando e recebendo. Eles abriram o Grok em
00:01:02um repositório, e o único comando enviado a ele foi “responda ok, não abra nenhum arquivo”. Acontece
00:01:07que essa instrução não importa, pois o Grok enviou todo o repositório mesmo assim. Houve uma
00:01:12solicitação POST enviada contendo todo o pacote do repositório, e esse pacote continha todo o histórico do git
00:01:16e até variáveis de ambiente. É isso que eu acho tão ruim em tudo isso. Sim, todos sabemos que quando
00:01:21usamos um modelo remoto, o código será enviado para seus servidores, mas normalmente assume-se
00:01:26que apenas o código que realmente precisa ser lido é enviado, e não a base de código inteira,
00:01:30mesmo quando não é relevante para o comando. Eles mostraram que isso acontecia até quando o repositório tinha 12 gigabytes,
00:01:35ele ainda enviava tudo. Testando isso em outras ferramentas como Claude Code, Cursor e Gemini, isso
00:01:40mostra que elas enviam apenas o arquivo que leem; esse é um problema exclusivo da CLI do Grok. Eles até descobriram
00:01:45que, se você desativasse a configuração “ajude a melhorar este modelo”, ele ainda faria isso, e buscar o usuário
00:01:51revelou que havia uma flag chamada “trace upload enable”, que estava sempre definida como verdadeira. Agora, todos
00:01:55esses tweets e esta postagem começaram a viralizar. Então, como a xAI respondeu? Bem, primeiro eles fizeram uma espécie
00:02:01de correção silenciosa. Se você tentasse novamente um dia depois, após a repercussão viral, as configurações mostravam que
00:02:05que o sinalizador de envio de rastreamento estava agora desativado e havia na verdade um novo chamado desativar envio de base de código
00:02:10que foi definida como verdadeira aparentemente para a conta de todos, então eles tinham de fato colocado um interruptor de desligamento no lado do servidor
00:02:14do servidor para o upload de código. Pouco tempo depois, eles também responderam publicamente no Twitter dizendo: “nós nos importamos
00:02:19profundamente com sua privacidade e respeitamos a escolha do cliente. Para equipes que usam retenção de dados zero, nenhum rastreamento e
00:02:24dados de código são retidos. Todo o uso da API do Grok também respeita a retenção de dados zero. Se a retenção de dados
00:02:30zero estiver desativada, o comando /privacy está disponível na CLI para desativar a retenção de dados,
00:02:36o que também exclui dados sincronizados anteriormente. Execute o comando /privacy para visualizar ou alterar suas
00:02:40configurações a qualquer momento”. Elon também tuitou dizendo que, como medida de precaução, todos os dados do usuário que foram
00:02:45enviados para a xAI até agora serão completa e totalmente excluídos. Nada restará, de forma alguma.
00:02:51Mas ele também pediu em outro tweet que você deixasse a configuração ativada, pois é útil
00:02:55para depurar problemas se eles puderem reter alguma quantidade de dados. Eu até entendo isso, se estivéssemos
00:03:00apenas falando sobre rastros, o que é uma prática bem comum, mas enviar um repositório inteiro para os servidores deles
00:03:05não parece ser endereçado por nenhuma dessas respostas. E a nova atualização da CLI do Grok simplesmente adicionou um comando de privacidade,
00:03:10mas vale notar que essa atualização não removeu o código que envia todo o seu
00:03:14repositório. Você ainda pode encontrar isso no binário, então parece que a única coisa que impede que isso
00:03:18seja ativado novamente é aquela flag do lado do servidor controlada pela xAI. Realmente parece-me que esse código
00:03:23não deveria estar lá, já que nenhuma outra ferramenta o usa. Além disso, se dermos uma olhada nesse novo comando de privacidade,
00:03:28na verdade apenas desativa os rastreamentos e altera a alternância do lado do servidor chamada opção de exclusão de retenção de dados de codificação
00:03:33e o mesmo pesquisador de fato analisou esse comando e mostrou que ele não faz nada localmente, seus
00:03:38rastros de sessão ainda são enviados para a xAI na íntegra, esteja ele ligado ou desligado. A única diferença está em
00:03:43como o servidor responde. Se estiver desligado, ele responderá com um 200, significando que foi armazenado,
00:03:48e se o modo de privacidade estiver ligado, ele simplesmente retorna um 204 para dizer “sem conteúdo”, e que os dados foram descartados.
00:03:53Portanto, é na verdade apenas uma chave de retenção do lado do servidor, e não bloqueia nada do lado do cliente,
00:03:58então você ainda está transmitindo tudo; você só precisa confiar que os servidores da xAI vão realmente
00:04:02descartá-los em vez de armazená-los. Mesmo que eu confiasse na xAI, fica ainda pior, porque esse comando de privacidade
00:04:07é, na verdade, uma alternância de retenção por sessão, então você pode ter que alternar isso em cada sessão para manter
00:04:12seus dados seguros. Isso parece incrivelmente retrógrado para mim, mas é aqui que estamos agora. Se você usou
00:04:17a CLI do Grok no passado e quer ver o que pode ter vazado da sua máquina, você pode verificar seus
00:04:21logs. Este comando grep mostra exatamente quais sessões acionaram os uploads. Se você leva segurança
00:04:26a sério, você provavelmente vai querer rotacionar todas essas chaves se mostrar que alguns
00:04:30desses dados foram enviados, a menos que confie plenamente que a xAI deletou tudo isso. Finalmente, se você quiser
00:04:35manter alguma aparência de privacidade ao usar a CLI do Grok, embora eu provavelmente não recomendaria,
00:04:40existe um guia muito bom aqui sobre como fortalecer a CLI do Grok, e ele mostra onde você
00:04:44deve definir itens como “disable codebase upload” na sua configuração, o que deve impedir totalmente esse pipeline de upload.
00:04:49Então, essa é a história. Por algum motivo, o Grok estava enviando seu repositório inteiro mesmo quando não precisava, e eles
00:04:53aparentemente deletaram todos esses dados agora e recuaram na funcionalidade. Mas eu quero saber: você
00:04:58confia neles e usaria a CLI do Grok a partir de agora, sabendo disso? Me diga nos
00:05:02comentários abaixo. Espere, inscreva-se e, como sempre, nos vemos no próximo.

핵심 요약

A CLI do Grok transmitia repositórios inteiros e dados sensíveis de usuários para os servidores da xAI, e as atualizações subsequentes de privacidade não impediram a persistência desse comportamento de transmissão no lado do cliente.

하이라이트

  • A CLI do Grok enviou diretórios de usuário completos, incluindo chaves SSH, senhas, bancos de dados e histórico do git, para servidores da xAI.

  • O upload ocorria mesmo com repositórios de até 12 gigabytes e independentemente de instruções explícitas para não abrir arquivos.

  • Pesquisadores utilizaram o mitmproxy para confirmar o envio de pacotes contendo variáveis de ambiente e arquivos sensíveis.

  • A flag 'trace upload enable' estava definida como verdadeira por padrão na CLI do Grok.

  • A xAI implementou uma correção que alterou configurações do lado do servidor para desativar o upload de bases de código após a repercussão pública.

  • O comando /privacy disponibilizado pela xAI atua apenas como uma chave de retenção do lado do servidor, mantendo o envio de dados pela CLI do cliente.

타임라인

Exposição do vazamento de dados

  • A CLI do Grok exfiltrava diretórios de usuário, chaves SSH, senhas e históricos do git.
  • O comportamento assemelha-se a um coletor de dados executado em segundo plano.
  • Usuários confirmaram o envio de dados ao inspecionar logs após execução do comando grep sugerido.

Relatos iniciais indicaram que a CLI de codificação do Grok enviava dados sensíveis de forma não autorizada para servidores da xAI. Investigações de usuários revelaram que arquivos, pastas e variáveis de ambiente eram transmitidos mesmo quando comandos específicos instruíam o modelo a não ler ou abrir tais arquivos.

Verificação técnica do tráfego

  • Testes com mitmproxy confirmaram o envio de todo o pacote do repositório em solicitações POST.
  • A transmissão persistia mesmo com desativação da opção de melhoria do modelo.
  • A flag interna 'trace upload enable' estava permanentemente ativa.

Pesquisadores inspecionaram o tráfego de rede da CLI e identificaram que repositórios inteiros, chegando a 12 gigabytes, eram enviados integralmente. Diferente de outras ferramentas como Claude Code, Cursor ou Gemini, que limitam a leitura apenas aos arquivos necessários, a CLI do Grok realizava o upload completo independentemente da relevância para o comando executado.

Resposta da xAI e limitações da correção

  • A xAI realizou uma correção silenciosa desativando o envio de base de código via servidor.
  • Elon Musk afirmou que os dados enviados seriam excluídos dos servidores.
  • O comando /privacy adicionado não altera o comportamento de envio no lado do cliente.

Após a viralização do problema, a xAI introduziu alterações do lado do servidor para bloquear o armazenamento desses dados. O novo comando /privacy, contudo, apenas altera a resposta do servidor de 200 (armazenado) para 204 (sem conteúdo), sem impedir que os dados continuem sendo transmitidos pela CLI do usuário para a infraestrutura da empresa.

Medidas de mitigação para usuários

  • A verificação dos logs de sessão permite identificar quais dados foram comprometidos.
  • A rotação de chaves é recomendada para todos os usuários que utilizaram a ferramenta anteriormente.
  • A configuração manual 'disable codebase upload' é necessária para interromper o pipeline de upload.

Usuários que utilizaram a CLI do Grok anteriormente devem assumir que seus dados foram transmitidos e considerar a rotação de chaves de segurança. Embora a xAI prometa a exclusão do que foi coletado, a interrupção técnica do envio exige a configuração manual nas definições da CLI para garantir que o software deixe de transmitir o repositório local.

커뮤니티 글

모든 글 보기