Zhipu apaga snapshots na nuvem do ZCode e distribui cartões de reset e tokens

Na manhã de 28 de setembro, a Zhipu anunciou que o pipeline de upload de snapshots dos repositórios do ZCode foi removido, que os dados na nuvem relacionados ao caso já foram excluídos e que a versão open source foi atualizada, em sincronia, para 3.14.3. A nova posição oficial é "se você não iniciar, nada vai para a nuvem": sem uma ação iniciada pelo usuário, o código não sai mais da máquina local.

O mesmo comunicado trouxe também o plano de compensação. Cada usuário recebe 4 cartões de reset semanal e 4 cartões de reset de 5 horas, válidos por um mês; entre 28 de setembro e 7 de outubro, a Zhipu distribuirá a todos os usuários 100 mil cotas de 100 milhões de tokens cada. O comunicado não detalhou os critérios de elegibilidade nem as regras de distribuição.

O problema estava no Repo Wiki

Sobre a causa do incidente, a Zhipu manteve a explicação anterior: o recurso de "indexação de repositório" do ZCode tem uma etapa chamada Repo Wiki; ao gerar páginas de wiki, o processo pode disparar o upload de dados do repositório. Os dados seriam destruídos imediatamente após a geração da página na nuvem, sem ficarem armazenados. O recurso vinha ativado por padrão no início do lançamento, o que afetou parte dos usuários.

Essa explicação já havia sido questionada por desenvolvedores quando surgiu pela primeira vez, em 18 de setembro. Na ocasião, o blogueiro de tecnologia Ferstar analisou uma amostra: um único snapshot tinha 313 MB, dos quais 86,6% correspondiam à pasta .git — o que subia não era apenas o código atual, mas todo o histórico de commits e o cache do LFS. O que mais incomodou os desenvolvedores foi o fato de o botão na interface controlar apenas se o servidor usaria os dados para treinar modelos; o empacotamento e envio local continuavam acontecendo normalmente.

Do pedido de desculpas à auditoria, com três dias de intervalo

Organizando a linha do tempo, o tratamento dado pela Zhipu desta vez se divide em três etapas.

Em 18 de setembro, veio o comunicado de desculpas, com a promessa de abrir o código-fonte do repositório em breve e convidar terceiros para uma revisão; no mesmo dia, a empresa fez um reset único da cota semanal para todos os usuários.

Em 21 de setembro, o ZCode foi oficialmente aberto como open source. Segundo a Eastmoney e outros veículos, a Zhipu contratou a China Academy of Information and Communications Technology (CAICT) e a NSFOCUS para realizar uma auditoria de segurança: a avaliação técnica da CAICT concluiu que o bucket OSS da Alibaba Cloud chamado zcode-prod está em estado de "zero dados na nuvem" e que o cliente a partir da versão v3.14.0 já removeu o recurso Repo Wiki; a NSFOCUS confirmou que esse bucket e todos os objetos de dados nele contidos foram excluídos, e que não encontrou, no cliente, nenhuma função capaz de disparar snapshots locais do repositório ou o envio de arquivos para fora. A Zhipu também afirmou que os dados de código mencionados pela comunidade não são retidos e que a empresa nunca os usou para treinar modelos.

Em 28 de setembro, ou seja, neste comunicado, a versão avançou para 3.14.3 e o plano de compensação entrou em vigor.

Dez dias para percorrer "exposição, desculpas, código aberto, auditoria, compensação" não é um ritmo lento. O código aberto permite que qualquer pessoa de fora leia por conta própria o código do módulo de snapshots; a auditoria, por sua vez, traz conclusões de duas instituições independentes. Ambos são mais fáceis de verificar do que uma simples declaração unilateral de que o problema "já foi corrigido".

O que ainda não foi esclarecido

O comunicado e as conclusões da auditoria cobrem o "presente": o bucket está vazio, o pipeline foi desmontado. Para algumas perguntas retrospectivas, ainda não há resposta no material público disponível.

A Zhipu não divulgou quantos usuários e repositórios foram afetados. A base de usuários do ZCode ultrapassou 1 milhão em meados de agosto e, segundo relatos, teria dobrado para cerca de 2 milhões em meados de setembro; quantas pessoas estiveram no período em que o Repo Wiki vinha ativado por padrão é algo que não dá para estimar de fora. Quanto tempo os dados realmente ficaram no OSS e se foram lidos por outros sistemas antes da exclusão também são pontos em aberto — o relatório completo da auditoria não foi divulgado, e a imprensa reproduziu apenas as conclusões.

Para desenvolvedores que ainda usam o ZCode, a recomendação prática continua a mesma: atualizar para a versão 3.14.3, limpar diretórios de snapshot que tenham ficado na máquina local e trocar todas as chaves e tokens que já apareceram no histórico do Git. Para o que já vazou, a promessa de "já foi excluído" só vale do lado do provedor.

A compensação em cartões de reset e tokens só faz sentido para quem continua usando o ZCode. Empresas que já desinstalaram a ferramenta por causa do episódio querem mesmo é o relatório de auditoria completo.

Fontes: comunicado oficial da Zhipu ZCode, ITHome, Sina Tech, CocoLoop, Eastmoney; verificação do número de cartões e do período de distribuição de cotas no plano de compensação, do número da versão open source e da forma como CAICT e NSFOCUS expressaram as conclusões da auditoria.