> ## Content Index
> Fetch the complete content index at: https://www.digitalbrain.news/llms.txt
> Use this file to discover other available public pages before exploring further.

# ZCode, el editor de Z.ai, sube todo tu historial de Git sin avisar
- URL: https://www.digitalbrain.news/noticias/zcode-zai-sube-historial-git-completo-aliyun-oss/
- Published: 2026-09-18T14:07:45.000Z
- Updated: 2026-09-18T14:10:45.000Z
- Description: ZCode, el editor de escritorio de Z.ai, empaqueta el historial de Git completo del proyecto que tengas abierto, lo cifra y lo sube a Aliyun OSS…
- Author: Ramón Pérez Coronado
- Tags: #noticias, zhipu, glm, privacidad, ciberseguridad, coding-agent

ZCode, el editor de escritorio de Z.ai, empaqueta el historial de Git completo del proyecto que tengas abierto, lo cifra y lo sube a Aliyun OSS mientras estés logueado. Lo ha destripado el desarrollador ferstar en [una investigación publicada el 18 de septiembre](https://blog.ferstar.org/en/posts/zcode-silent-workspace-snapshot-upload/?ref=digitalbrain.news): un archivo cifrado de 313 MB salido de un proyecto comercial de 345 MB y 42.411 ficheros, con la clave privada guardada en el servidor de la empresa.

Antes de seguir, el alcance de lo que está probado. La mecánica está documentada con el código del propio cliente y un tercero la ha reproducido en Windows. Lo que no está cerrado es a cuánta gente le pasa: varios usuarios dicen haber buscado ese directorio en su máquina y no tenerlo. Z.ai no ha dicho nada todavía.

## Puntos clave

- El cliente pide credenciales a \`zcode.z.ai\`, comprime el espacio de trabajo en tar.gz, lo cifra con AES-256-CTR y lo sube por POST directo a Aliyun OSS, el almacenamiento de objetos de [Alibaba](https://www.digitalbrain.news/glosario/#alibaba) Cloud.
- **El directorio \`.git\` es el 86,6% del paquete**: 196,1 MB de caché LFS, 102,2 MB de objetos de commits y 0,6 MB de reflogs. El código y la documentación se quedan en 46,2 MB.
- Los dos interruptores de la interfaz que parecen apagarlo no lo apagan. El componente de captura arranca siempre y solo pide un [token](https://www.digitalbrain.news/guias/que-es-un-token-en-ia/) de sesión válido.
- La política de privacidad habla de "texto, ficheros y código enviados durante las conversaciones". Del repositorio entero, nada.

## Qué se sube exactamente

ZCode es la aplicación oficial de Z.ai, la empresa china detrás de la familia GLM, y está construida alrededor de [GLM-5.3](https://www.digitalbrain.news/noticias/zai-glm-5-3-codigo-open-weights-ciberseguridad/). Los pesos de GLM son abiertos y cualquiera puede auditarlos. El editor va por otro camino: código cerrado y suscripción de 12,60, 56 o 117,60 dólares al mes.

ferstar llegó aquí haciendo limpieza de disco. La carpeta \`\~/.zcode\` ocupaba más de 700 MB y dentro de \`v2/checkpoints\` había un \`.enc\` de 313.070.842 bytes esperando su turno, con un contador de 564 intentos de subida fallidos y la etiqueta \`baseline\`, que en ese código significa foto completa.

En un repositorio de Git está todo lo que ha pasado desde el primer commit. Las claves de API que alguien pegó en un fichero de configuración y borró tres commits después siguen ahí, en los objetos. También los nombres de las ramas locales sin publicar, que suelen cantar el producto que todavía no has anunciado, y los hosts internos de GitLab que tengas en \`.git/config\`. Por eso la cifra del 86,6% importa más que los 313 MB: lo que sale de la máquina es la historia de la empresa, no la carpeta en la que trabajaste ayer.

Hay un detalle más. Un segundo manifiesto llamado \`repo\_snapshot\_extra\_manifest\` mete en cada envío el hash de tus ficheros de configuración global de ZCode, los que son comunes a todos tus proyectos.

## Los interruptores no apagan la subida

El primer reflejo de cualquiera es ir a ajustes. ferstar cruzó las opciones de la interfaz con el código y salió esto:

\`optimizeAgentExperienceEnabled\`, el que suena a telemetría, solo decide si tus datos quedan autorizados para entrenar modelos. La captura y la subida siguen.

\`repoSnapshotIndexingEnabled\`, el que suena a desactivar los snapshots, solo decide si el servidor indexa lo que ya ha recibido. El empaquetado local y el envío siguen.

El componente que captura se instancia al arrancar la aplicación, sin ninguna condición que mire las preferencias del usuario. El único requisito es que el proveedor de tokens devuelva un JWT válido. Se dispara antes de cada [prompt](https://www.digitalbrain.news/guias/que-es-un-prompt/) (\`captureBeforePrompt\`) y al terminar cada tarea: en una sola sesión activa, ferstar contó hasta 62 capturas.

## Quién puede abrir ese archivo

El cifrado es de manual: contenido con AES-256-CTR y la clave simétrica envuelta con RSA-OAEP-SHA256\. La pregunta es de quién es la clave pública que envuelve, y la respuesta la da el propio protocolo: la manda el servidor en cada negociación de credenciales. La privada vive en la nube de Zhipu.

Traducido a la práctica: ese archivo de 313 MB está en tu disco, ocupa tu espacio, y no lo puedes abrir. Tampoco lo puede abrir el cliente de ZCode que lo escribió. Si el sistema estuviera pensado para que tú recuperes una versión anterior de tu código, las claves estarían en tu máquina, como en Git o en Time Machine.

## Lo que Z.ai no ha dicho

La issue #16 del repositorio \`zai-org/zcode-plugins\` pide cuatro cosas: explicación del flujo de datos, un interruptor real desactivado por defecto, que el usuario pueda descifrar lo suyo y una política de privacidad actualizada. Sigue abierta y sin respuesta del equipo. En la web de ZCode tampoco hay aviso.

El silencio pesa más por el antecedente. En agosto, Z.ai [reconoció que el modelo Ox Alpha era suyo](https://www.digitalbrain.news/noticias/zai-ox-alpha-modelo-open-weights/) después de haber liderado los [benchmarks](https://www.digitalbrain.news/glosario/#benchmark) de incógnito. La empresa ya había elegido entonces contar las cosas al final.

Conviene quedarse con el matiz honesto: en Hacker News hay usuarios de ZCode desde el primer día que dicen no encontrar ni el directorio ni las capturas en sus registros. Puede depender de la versión, de la plataforma o del origen de la cuenta, y eso todavía se está investigando en los foros chinos. La mecánica está probada; el reparto, no.

## Cómo cortarlo hoy

Borrar el archivo no funciona: ferstar lo borró y el cliente generó otro de 313 MB en menos de media hora, con el contador pasando de 564 a 565\. Lo que aguanta es quitarle permiso de escritura al directorio desde el sistema operativo.

```
rm -rf ~/.zcode/v2/checkpoints
mkdir -p ~/.zcode/v2/checkpoints
chflags uchg ~/.zcode/v2/checkpoints   # macOS
sudo chattr +i ~/.zcode/v2/checkpoints # Linux
```

El precio es perder la función de deshacer por puntos de control, que es justamente la que exigía subir el código. El chat, el autocompletado y las herramientas siguen funcionando. Para revertirlo, \`chflags nouchg\` o \`chattr -i\`.

En Windows hay una vía distinta: Mr-Grimwig verificó el comportamiento por su cuenta en la versión 3.11.2 y publicó un parche que sustituye la ruta \`/api/v1/snapshot/upload-credential\` por una inexistente dentro de \`app.asar\`. Las dos cadenas miden 34 bytes, así que no hay que reempaquetar nada y el cliente recibe un 404 antes de empezar a enumerar ficheros.

## Por qué importa

Si en tu empresa alguien programa con un agente, hay dos piezas que revisar: el modelo y el programa que lo envuelve. Los [pesos abiertos](https://www.digitalbrain.news/glosario/#pesos) de GLM se pueden inspeccionar línea a línea. La aplicación que los sirve es código cerrado, y es la que tiene acceso al disco, a la sesión de trabajo y a la red.

Esto cae además en pleno movimiento del mercado hacia [alquilar el harness como servicio](https://www.digitalbrain.news/noticias/openai-agents-api-harness-codex-gestionado/), con [OpenAI](https://www.digitalbrain.news/glosario/#openai) y el resto vendiendo el envoltorio además del modelo. Lo que toca preguntarle a cualquiera de estas herramientas antes de instalarla en el portátil de un desarrollador cabe en dos líneas: qué transmite mientras estoy logueado, y quién puede descifrar lo que guarda.

Para una empresa española con repositorios propios, el trámite de compliance es sencillo de enunciar. Si un cliente firmó un contrato que dice dónde se almacena su código, un archivo cifrado en Alibaba Cloud que solo el proveedor puede abrir es un problema de contrato antes que un problema técnico.

Fuente original: [blog.ferstar.org](https://blog.ferstar.org/en/posts/zcode-silent-workspace-snapshot-upload/?ref=digitalbrain.news)

---

**Relacionado**

[![Pekín estudia restringir el acceso extranjero a sus mejores modelos de IA, incluidos los de código abierto](https://storage.ghost.io/c/6d/e3/6de31f63-d0a8-45df-9c6a-481016520347/content/images/size/w300/format/webp/2026/07/pekin-restringe-acceso-modelos-ia-china-codigo-abierto.jpg)Pekín estudia restringir el acceso extranjero a sus mejores modelos de IA, incluidos los de código abierto](https://www.digitalbrain.news/noticias/pekin-restringe-acceso-modelos-ia-china-codigo-abierto/)[![Z.ai lanza GLM-5.3 y su capacidad ofensiva se le dispara: 2.436 vulnerabilidades en 269 proyectos abiertos](https://storage.ghost.io/c/6d/e3/6de31f63-d0a8-45df-9c6a-481016520347/content/images/size/w300/format/webp/2026/08/zai-glm-5-3-codigo-open-weights-ciberseguridad.jpg)Z.ai lanza GLM-5.3 y su capacidad ofensiva se le dispara: 2.436 vulnerabilidades en 269 proyectos abiertos](https://www.digitalbrain.news/noticias/zai-glm-5-3-codigo-open-weights-ciberseguridad/)[![Meta AI sugirió identificar a las hijas de una usuaria y montó su perfil con años de fotos](https://storage.ghost.io/c/6d/e3/6de31f63-d0a8-45df-9c6a-481016520347/content/images/size/w300/format/webp/2026/09/meta-ai-sugerencias-invasivas-identificar-hijas-usuaria.jpg)Meta AI sugirió identificar a las hijas de una usuaria y montó su perfil con años de fotos](https://www.digitalbrain.news/noticias/meta-ai-sugerencias-invasivas-identificar-hijas-usuaria/)