ZCode de Z.ai sube tu historial Git a Aliyun sin avisar

Lo que el reverse-engineering de ferstar encontró en ZCode

El 18 de septiembre de 2026, el desarrollador conocido como ferstar publicó un walkthrough de ingeniería inversa sobre ZCode, la aplicación de escritorio de IA para programar de Z.ai — la empresa china detrás de la familia de modelos de pesos abiertos GLM, los mismos que corren en rigs locales en toda la comunidad de IA local, incluido GLM-5.3-Flash. El hallazgo es más grave que un escándalo de privacidad habitual: cuando el usuario inicia sesión, ZCode empaqueta en silencio todo su espacio de trabajo —el historial completo de .git, la caché de LFS, los reflogs y las configuraciones globales de la app—, lo cifra y lo sube a Aliyun OSS, el almacenamiento de objetos de Alibaba Cloud.

La captura del propio investigador lo dice en números: un archivo cifrado de 313 MB generado a partir de un workspace comercial de 345 MB con 42.411 archivos, y 564 intentos de subida fallidos registrados mientras investigaba. El post original superó las 276.000 vistas en 13 horas; un hilo en chino de FeiZ sumó otras 63.800.

Cómo funciona el cifrado — y por qué eso importa

El detalle que convirtió un directorio sospechoso en una historia es la clave de cifrado. ZCode usa envelope encryption: el payload se cifra con una clave simétrica, y esa clave se envuelve con una clave pública RSA-OAEP que el servidor entrega durante la negociación de credenciales de subida. La clave privada correspondiente vive solo en la nube de Z.ai. ferstar intentó desenvolver el archivo con cada clave privada disponible en el sistema local y no pudo. Los 313 MB de cifrado que viven en el propio disco del usuario no pueden ser descifrados ni por el usuario ni por el propio cliente de ZCode.

👥 ¿Quieres ir más allá de la noticia?

En nuestra comunidad discutimos las tendencias, compartimos oportunidades y nos ayudamos entre emprendedores. Sin humo, solo acción.

👥 Unirme a la comunidad

La conclusión de ferstar, textual del post: «una clave que solo el servidor puede usar sirve exactamente para un propósito: asegurarse de que el servidor pueda leer tu código cuando quiera». En otras palabras, el cifrado no protege al usuario; protege al vendor.

Qué se empaqueta exactamente

El manifiesto de empaquetado se guarda localmente en texto plano, y es específico. Para una snapshot de 42.411 archivos:

Contenido Tamaño Porcentaje
.git/lfs/ 196,1 MB 56,8%
.git/objects/ 102,2 MB 29,6%
.git/logs/ 0,6 MB 0,2%
Código fuente y documentación 46,2 MB 13,4%

El directorio .git representa el 86,6% del payload. Esto no es contexto de inferencia para mejorar respuestas del modelo: es el repositorio completo, con todo su historial, incluyendo commits borrados y reflogs.

Por qué los toggles de la app no lo detienen

La reacción instintiva es abrir los ajustes. ferstar cruzó los switches de la UI contra el código:

  • «Optimize Experience» (optimizeAgentExperienceEnabled) solo controla si los datos se autorizan para entrenamiento del modelo. La captura y la subida de la snapshot continúan.
  • «Repo Snapshot Indexing» (repoSnapshotIndexingEnabled) solo controla si el servidor indexa las snapshots subidas. El empaquetado local y la subida continúan.

El sidecar de captura se instancia incondicionalmente al arrancar, sin gating por preferencias del usuario —el único requisito es que el proveedor de tokens pueda producir un JWT válido. Los logs de sesión mostraron 62 eventos de captura en una sola sesión activa, disparados antes de cada prompt y al completar tareas.

Una segunda fuente corrobora el mecanismo. OrcaPromptVault, una colección pública de prompts capturados de harnesses de IA, conserva un prompt de sistema de 131 KB y una superficie de 31 herramientas de ZCode. La función de checkpoint/rewind aparece cableada en el prompt de sistema —el template «Workspace rewind applied. rewindId, checkpointId, strategy, restoredFiles» se repite cinco veces. Esa es la punta visible al usuario del pipeline de snapshots, precisamente la función que el bloqueo de filesystem desactiva.

La superficie completa de herramientas del agente contiene cero herramientas de snapshot, subida o telemetría. El pipeline de exfiltración no es una herramienta del agente: es un sidecar a nivel de host, instanciado fuera del tool loop. Por eso ningún ajuste de permisos lo detiene, y por eso el propio agente nunca lo ve. En los 131 KB de instrucciones capturadas no hay mención de Aliyun, OSS, subidas o privacidad.

La captura añade un detalle que ferstar no mencionó: ZCode incluye una herramienta ReadSessionContext que lee otras sesiones persistidas de ZCode bajo demanda por ID de sesión. Combinado con el sidecar de snapshot a nivel de host, el contenido de sesión queda a la vez persistido localmente y capturado en la nube.

El contexto corporativo que lo vuelve más serio

ZCode se lanzó en julio de 2026, y su pitch de lanzamiento corrió directamente sobre la confianza. Z.ai posicionó el harness frente a Claude Code de Anthropic semanas después de la controversia de telemetría oculta que sacudió a esa herramienta, con los pesos abiertos como vía de escape del «problema del kill-switch». Un ejecutivo de Z.ai, preguntado en X si ZCode incluiría «algún tipo de spyware», respondió que la empresa no implementaría «nada más allá de lo listado» en la web de ZCode.

El snapshot de workspace no está listado en la web de ZCode.

Z.ai salió a bolsa en la Bolsa de Hong Kong en enero de 2026 bajo el paraguas del Capítulo 18C, una vía de cotización para tecnológicas especializadas. Desde entonces, el papel subió alrededor de un 2.000% hasta junio, según The Next Web, y la compañía captó aproximadamente US$5.000 millones adicionales en una colocación y bonos convertibles sin cupón en Hong Kong, días después de que una advisory de la NSA, el FBI y CISA nombrara a la empresa por destilación a escala industrial. Asia Times reportó que Zhipu (el vehículo listado de Z.ai) elevó sus ingresos del primer semestre un 400% hasta 953,9 millones de yuanes.

La cuenta oficial de X de Z.ai no había respondido al post de ferstar al cierre de esta edición. La réplica más visible vino de una cuenta afiliada al equipo de ZCode — «hey I am sorry to let you find it» — que se lee como confirmación del mecanismo, no como refutación. En un ecosistema donde Z.ai también ha sido señalado por la SaferAI por delante en capacidades y detrás en safeguards respecto a modelos como Claude Opus, según TechCrunch, este episodio agrega una capa más a la conversación sobre qué significa realmente «open weight».

Qué significa esto para tu startup

La historia de ZCode afila el argumento más allá del modelo. Correr pesos abiertos localmente es el pitch: tu modelo, tu hardware, sin factura por token, sin vendor switch-off. Pero el runtime alrededor del modelo —el harness, la app de escritorio, el pipeline de actualización— es parte de la superficie de confianza. Un modelo corriendo en local envuelto en un harness que telefonea a la nube no es local; es local con un cable que sale.

Dos checks aplican a cualquier harness de este espacio, no solo a ZCode:

  • Qué transmite el runtime cuando iniciaste sesión, no cuando se lo pediste.
  • Quién puede descifrar lo que almacena. Si la clave privada solo vive en el vendor, el cifrado no te protege a ti; le protege a ellos.

Para un founder, las implicaciones son concretas. Si tu equipo usa ZCode o cualquier herramienta equivalente con sesión iniciada, el código de tu producto —incluido lo que todavía no has commiteado, lo que borraste y los activos LFS— puede estar viajando a infraestructura del vendor sin tu consentimiento explícito. En contextos con clientes empresariales, NDAs cruzados o propiedad intelectual sensible, eso cambia la conversación legal antes de cambiar la técnica. La cita más repetida del hilo, de Petri Kuittinen —cuyo propio agente de IA es open source con documentación de seguridad—, resume el clima: «mi consejo ha sido y sigue siendo: no confíes en harnesses de IA de código cerrado».

Qué puedes hacer hoy

Tres acciones concretas, en orden de prioridad:

  • Auditar los harnesses de IA que ya tienes instalados. Revisa el tráfico de red saliente cuando la app esté abierta y con sesión iniciada. Herramientas como Wireshark o Little Snitch (macOS) muestran conexiones no obvias a CDNs y almacenamiento cloud. Si ves POST a *.aliyun.com, *.amazonaws.com, *.blob.core.windows.net o similares desde una «app de IA local», es una señal a investigar antes de seguir usándola con repos sensibles.
  • Aplicar el bloqueo de filesystem si decides seguir usando ZCode. El fix que sostiene es a nivel de kernel sobre el directorio de checkpoints: rm -rf ~/.zcode/v2/checkpoints && mkdir -p ~/.zcode/v2/checkpoints && sudo chattr +i ~/.zcode/v2/checkpoints en Linux, o el equivalente con chflags uchg en macOS. El trade-off: la función de rollback del workspace deja de funcionar —una función que de todas formas requería subir tu código. Chat, autocompletado y tool calls siguen funcionando con normalidad.
  • Separar la decisión técnica de la decisión de compliance. Para equipos que manejan código de clientes, propiedad intelectual de terceros o investigación patentable, la pregunta no es «qué tan bueno es el modelo» sino «qué hace el harness con mis archivos». Un harness de código abierto con telemetría documentada es una categoría de riesgo distinta a un harness cerrado que no documenta la subida. Si estás evaluando un harness para tu equipo de desarrollo en 2026, agrega una columna de «comportamiento de red documentado» a tu matriz de decisión. La conversación ya no es solo qué tan bien autocompleta código.

Fuentes

👥 ¿Quieres ir más allá de la noticia?

En nuestra comunidad discutimos las tendencias, compartimos oportunidades y nos ayudamos entre emprendedores. Sin humo, solo acción.

👥 Unirme a la comunidad

Daily Shot: Tu ventaja táctica

Lo que pasó en las últimas 24 horas, resumido para que tú no tengas que filtrarlo.

Suscríbete para recibir cada mañana la curaduría definitiva del ecosistema startup e inversionista. Sin ruido ni rodeos, solo la información estratégica que necesitas para avanzar:

  • Venture Capital & Inversiones: Rondas, fondos y movimientos de capital.
  • IA & Tecnología: Tendencias, Web3 y herramientas de automatización.
  • Modelos de Negocio: Actualidad en SaaS, Fintech y Cripto.
  • Propósito: Erradicar el estancamiento informativo dándote claridad desde tu primer café.

📡 El Daily Shot Startupero

Noticias del ecosistema startup en 2 minutos. Gratis, todos los días.

Share to...