A ferramenta de codificação Grok Build, da SpaceXAI, está sob análise após um pesquisador de segurança descobrir que seu CLI envia todo o re...

A ferramenta de codificação Grok Build da SpaceXAI foi recentemente alvo de escrutínio, depois que um pesquisador de segurança descobriu que sua interface de linha de comando (CLI) enviava o repositório Git inteiro para o armazenamento em nuvem, em vez de apenas os arquivos necessários para a tarefa de codificação.
De acordo com o relato, os dados enviados incluíam arquivos rastreados, o histórico completo do Git, arquivos que o agente havia recebido instruções para não ler, e informações confidenciais que haviam sido removidas da árvore de trabalho atual, mas que ainda estavam presentes em commits anteriores. Os dados eram enviados para um bucket do Google Cloud Storage controlado pela xAI.
Após a divulgação dos resultados da investigação, o envio foi interrompido. O pesquisador observou que os servidores da SpaceXAI começaram a retornar o seguinte:
Desativar envio de código: verdadeiro
Elon Musk também afirmou que os dados de usuários enviados anteriormente seriam completamente excluídos. No entanto, no momento da reportagem, não foi possível confirmar de forma independente e pública se todas as cópias históricas foram removidas.

O incidente começou com uma análise de rede controlada da CLI do Grok Build.
Um pesquisador usando o pseudônimo Cereblab fez engenharia reversa do binário oficial e monitorou seu tráfego de rede. Em um teste projetado para revelar o fluxo real de dados da ferramenta, o Grok Build empacotou o repositório em um bundle Git e o enviou para um bucket do Google Cloud Storage associado à xAI.
Isso não se limitou aos poucos arquivos necessários para responder ao prompt.
De acordo com o relato, o bundle capturado continha:
O relatório original da AIbase descreve que o escopo de retenção era muito maior do que ferramentas de codificação de IA similares, como o Claude Code.
Em um teste reportado pela Axios, o Grok Build enviou aproximadamente 5,1 GB de dados, enquanto a tarefa de codificação em si exigia apenas cerca de 192 KB. Este exemplo ilustra a diferença entre enviar o contexto relevante para a tarefa e transferir o arquivo completo do repositório.
Enviar a árvore de código-fonte atual já é um incidente de segurança grave. Enviar o histórico completo do Git pode ser ainda mais prejudicial.
Desenvolvedores frequentemente removem uma informação confidencial da versão mais recente do repositório e acreditam que ela desapareceu. Na realidade, o valor pode ainda estar presente em commits mais antigos, a menos que o histórico tenha sido reescrito.
O histórico do Git pode conter:
ramo atual
Portanto, o repositório pode parecer limpo no diretório de trabalho atual, mas materiais sensíveis ainda permanecem dentro do diretório .git.
É por isso que instruções como "não abra este arquivo" são insuficientes para fornecer proteção adequada quando a ferramenta empacota o repositório separadamente no nível do Git. Diretivas de permissão em nível de arquivo podem controlar o que o agente lê durante a conversa com o modelo, mas não impedem automaticamente que um fluxo de envio separado empacote o histórico do repositório.
A análise do Cereblab identificou o destino como um bucket do Google Cloud Storage controlado pela xAI.
O uso do Google Cloud não significa que o Google decidiu de forma independente coletar os repositórios. O provedor de armazenamento em nuvem hospeda a infraestrutura para o cliente e, neste caso, o controlador ou operador dos dados é a xAI ou SpaceXAI, de acordo com o relato.
A questão central é que os dados do repositório saíram da máquina do usuário e entraram na infraestrutura de nuvem de terceiros.
Para equipes empresariais, isso pode levantar questões relacionadas a:
Mesmo que o provedor de nuvem em si possua medidas de segurança robustas, transferências não divulgadas ou inesperadas podem violar os próprios requisitos de governança da empresa.
Após a investigação se tornar pública, Cereblab testou a CLI novamente.
O servidor retornou:
disable_codebase_upload: true
O envio do repositório inteiro não foi mais acionado.
Isso parece ser uma alteração no lado do servidor, pois os usuários não precisaram instalar uma nova versão antes que o comportamento cessasse. Uma flag de configuração remota desativou o processo de empacotamento do repositório.
Essa distinção é importante.
Um interruptor no lado do servidor pode parar rapidamente o comportamento, mas também indica que o comportamento de processamento de dados do cliente pode depender de configuração remota. Portanto, as organizações que avaliam agentes de codificação devem verificar o tráfego de rede real, em vez de confiar apenas em números de versão locais ou telas de configuração estáticas.
Elon Musk respondeu publicamente afirmando que todos os dados de usuários enviados antes da alteração serão "completa e totalmente excluídos", sem deixar vestígios.
A SpaceXAI também afirmou que respeitará as escolhas de privacidade e que clientes sujeitos a acordos de retenção zero de dados não terão dados de rastreamento ou código retidos.
Essas são promessas importantes, mas várias questões permanecem sem resposta no momento da reportagem:
A exclusão pode mitigar
riscos futuros, mas isso não resolve automaticamente todos os problemas de segurança. Se o repositório continha credenciais ativas, os usuários devem presumir que esses valores podem ter saído do ambiente local e devem rotacioná-los imediatamente.
/privacy não é uma verdadeira correçãoA SpaceXAI inicialmente orientou os usuários a usar o comando da CLI do Grok Build:
/privacy
A documentação oficial do Grok Build descreve /privacy como um comando para exibir ou alterar o status de privacidade e retenção de dados.
O pesquisador de segurança descobriu que essa configuração controla o comportamento de retenção, e não o mecanismo de transferência do pacote completo do repositório. Em outras palavras, o comando só pode afetar as operações de retenção da SpaceXAI após receber os dados, mas não é um mecanismo do lado do servidor que impede o repositório de sair da máquina local.
A conclusão do Cereblab é muito clara:
/privacy é um controle de retenção em nível de sessão.disable_codebase_upload.Esta é uma das lições mais importantes deste incidente.
| Questão de controle | Significado |
|---|---|
| Os dados saem do dispositivo? | Controle de transferência ou envio |
| Os dados recebidos são armazenados? | Controle de retenção |
| Por quanto tempo são armazenados? | Política de prazo de retenção |
| São usados para treinamento de modelo? | Política de uso para treinamento |
| O usuário pode excluir os dados? | Controle de exclusão |
| O usuário pode verificar a exclusão? | Controle de auditoria e garantia |
Um serviço pode prometer não reter dados, mas ainda assim transferi-los para processamento em tempo real. Isso pode ser aceitável sob acordos empresariais escritos claros, mas não é o mesmo que manter os dados localizados.
Os usuários não devem equiparar "retenção zero de dados" a "transferência zero de dados", a menos que o produto faça explicitamente tal garantia.
Documento de Privacidade Oficial da xAI
O documento de segurança da API da xAI descreve a Retenção Zero de Dados (ZDR) como um recurso de nível empresarial.
Quando a ZDR é ativada pela equipe da API, a xAI afirma que prompts, complementos e metadados relacionados são processados em tempo real, mas não são armazenados de forma persistente em seus servidores. O documento também explica que as respostas da API incluirão o cabeçalho x-zero-data-retention, permitindo que os aplicativos verifiquem se a ZDR está em vigor.
Para cenários de uso padrão da API sem ZDR ativada, a xAI declara que solicitações e respostas podem ser armazenadas temporariamente por até 30 dias para fins de auditoria de abuso e uso indevido.
Essas políticas de API são uma referência valiosa, mas as organizações não devem presumir automaticamente que todos os produtos Grok, rastreamentos de CLI, canais de transferência de arquivos ou contas de consumo seguem o mesmo ciclo de vida de dados.
Antes de usar o Grok Build com repositórios privados, verifique:
O pesquisador de segurança independente Dr. Lukasz Olejnik descreveu a escala dos dados—
O tempo de retenção de dados é muito longo.
As informações que podem ser vazadas incluem:
Os riscos não se limitam ao uso malicioso.
Arquivos de código grandes também podem vazar por meio de:
O princípio da minimização de dados visa reduzir a superfície de ataque. Fazer upload de um repositório inteiro por padrão, quando apenas alguns arquivos são necessários, dificilmente se alinha a este princípio.
As equipes que usaram o Grok Build antes da desativação do recurso de upload devem agir como em qualquer incidente potencial de vazamento de código-fonte.
Verifique onde o Grok Build foi executado.
Registre:
Não limite a verificação aos arquivos que o agente parece ter aberto.
Use ferramentas de verificação de chaves aprovadas pela organização para examinar o histórico completo, não apenas o conteúdo da branch atual.
Procure por:
Mesmo que um segredo tenha sido removido do commit mais recente, ainda pode ser necessário rotacioná-lo.
Descreva sua ideia uma vez e o We0 AI pode gerar um site de apresentacao, paginas e CMS, alem de ajudar a atrair clientes e trafego apos o lancamento.
Uma geração completa de projetos para registro gratuito
Melhor para experimentar um fluxo de geração completo e ver rapidamente um primeiro rascunho do projeto.
Se, durante o período afetado, uma credencial existiu em qualquer lugar no histórico rastreado do repositório, revogue-a ou rotacione-a.
Não espere por evidências de que alguém acessou a cópia enviada. A rotação de credenciais geralmente é mais barata do que investigar uma invasão posteriormente.
Priorize a rotação de credenciais que fornecem:
Após o uso do repositório com o Grok Build, verifique os logs da nuvem, controle de código-fonte, CI/CD, banco de dados e serviços internos em busca de atividades anômalas.
Procure por:
A ausência de atividade suspeita não prova que os dados nunca vazaram, mas ajuda a avaliar o risco imediato.
Use a versão atual do Grok Build e verifique a configuração ativa.
A documentação oficial oferece:
grok inspect
Este comando ajuda a confirmar quais fontes de configuração estão sendo carregadas.
A CLI também oferece:
/privacy
Use-o para verificar o status de retenção, mas observe que este comando não deve ser considerado como prova.
Nenhum dado sai do dispositivo.
Usuários empresariais devem solicitar uma resposta por escrito cobrindo:
Compromissos públicos de exclusão são úteis, mas organizações regulamentadas podem precisar de evidências específicas da conta.
Se o repositório contém código de cliente, dados pessoais, informações regulamentadas ou conteúdo coberto por acordos de confidencialidade, envolva as equipes internas apropriadas.
Dependendo da situação, as equipes relevantes podem incluir:
Não tome decisões de notificação de violação com base apenas em notícias. Baseie suas decisões nos fatos de exposição da sua própria organização e na lei aplicável.
Este incidente destaca um problema mais amplo no espaço das ferramentas de desenvolvimento de IA.
Agentes de codificação geralmente exigem amplo acesso porque precisam pesquisar grandes repositórios, executar comandos, ler documentos e modificar arquivos. Essa capacidade forma uma enorme fronteira de privacidade.
Antes de aprovar o uso de um assistente de codificação, as equipes devem avaliar cinco aspectos.
Registre cada tipo de dado que a ferramenta pode coletar:
Teste o que realmente sai da máquina.
A documentação do fornecedor é necessária, mas o comportamento de rede é a evidência mais forte da transferência real.
Use um repositório de teste isolado com valores canários inofensivos e, em seguida, verifique:
Não execute a ferramenta a partir de diretórios de projetos não relacionados.
Dê preferência a:
Para implantações empresariais, confirme:
O comportamento da ferramenta pode mudar devido a atualizações automáticas ou alterações de configuração remota.
Reteste após:
Quando os produtos mudam rapidamente, as aprovações de segurança não devem ser permanentes.
As instruções do agente operam na camada de uso do modelo ou ferramenta. Componentes de telemetria ou sincronização separados podem não interpretar essas instruções.
Os controles de privacidade precisam existir no próprio pipeline de dados.
Os fornecedores podem alegar que enviam apenas o contexto necessário, mas os usuários empresariais precisam de evidências.
Garantias úteis incluem:
A configuração remota pode parar os uploads rapidamente, mas também significa que os usuários podem não saber quando comportamentos importantes mudam.
Uma resposta madura deve incluir:
Mesmo que a SpaceXAI exclua todas as cópias armazenadas, qualquer credencial contida no repositório enviado deve ser tratada com base em seu risco de exposição.
A exclusão protege o acesso futuro do fornecedor à cópia, mas não altera as próprias credenciais.
A análise a nível de protocolo da Cereblab descobriu que a CLI enviava todo o repositório Git rastreado como um pacote, incluindo o histórico de commits e ficheiros não relacionados com a tarefa de codificação atual. Esse histórico pode conter chaves que já foram removidas do diretório de trabalho atual.
O tráfego capturado mostrou que os dados foram enviados para um bucket do Google Cloud Storage controlado pela xAI. A Google Cloud é a fornecedora de infraestrutura; os produtos relacionados e as decisões de tratamento de dados são da responsabilidade da SpaceXAI.
Os investigadores observaram posteriormente que o servidor retornou disable_codebase_upload: true, e a partir desse momento o envio completo do repositório deixou de ser acionado. A alteração parece ter sido feita no lado do servidor.
/privacy impede o envio do repositório?Esse comando controla as definições de privacidade e retenção, mas a Cereblab reporta que não é o mecanismo para parar o envio completo do repositório. Os utilizadores devem distinguir entre impedir a transmissão e limitar a retenção após a transmissão.
Sim. Musk afirmou publicamente que todos os dados de utilizador anteriormente enviados serão completamente eliminados. No momento da reportagem, não havia ainda uma verificação independente da eliminação completa.
Se, ao utilizar o Grok Build, as chaves existiam no repositório rastreado ou no seu histórico Git, a rotação é uma medida prudente. A eliminação da cópia armazenada pelo fornecedor não garante que as credenciais nunca tenham sido expostas ou acedidas.
A xAI descreve a ZDR como uma funcionalidade da API empresarial que processa entradas e saídas sem as persistir. Isto não significa necessariamente que os dados nunca saiam do dispositivo local; as organizações devem verificar quais os canais de dados do Grok Build são abrangidos.
A funcionalidade reportada de envio completo do repositório foi desativada, mas cada organização deve avaliar a versão atual, as definições, os termos da conta, o comportamento de rede e a sensibilidade do repositório. Uma correção no lado do servidor não substitui uma revisão interna de segurança.
/privacy.Foi descoberto que o Grok Build enviava todo o repositório Git rastreado, com o historial completo, para um bucket do Google Cloud Storage controlado pela xAI, mesmo quando a tarefa exigia apenas uma pequena quantidade de código.
A SpaceXAI desativou o envio do repositório através da flag disable_codebase_upload no lado do servidor, e Elon Musk prometeu que os dados anteriormente enviados seriam eliminados. O comando /privacy, embora envolva definições de retenção, não é um controlo para impedir a transmissão do repositório.
Os programadores que utilizaram a CLI afetada devem identificar os repositórios relevantes, analisar o histórico Git completo, rodar as credenciais potencialmente expostas, rever os registos e, se necessário, solicitar informações de eliminação específicas da conta.
A lição central é simples: a privacidade das ferramentas de codificação com IA deve ser verificada ao nível da transmissão de dados, e não inferida apenas a partir de prompts, etiquetas de retenção ou interfaces de configuração.
Comece com uma frase e tenha um site completo em minutos.