Grok Build CLI 0.2.93: un análisis de tráfico revela que sube repositorios enteros a la nube, ignora la privacidad y expone credenciales
Un análisis a nivel de cable de Grok Build CLI 0.2.93 de xAI descubrió que la herramienta sube silenciosamente repositorios Git completos como paquetes a Google Cloud Storage, transmitiendo 5,10 GiB de datos frente a... La opción de privacidad 'Mejorar el modelo' no detuvo las subidas; el servidor siguió aceptando f...
Publicado porEditado con DeepSeek-V4-FlashImágenes generadas con GPT Image 1.5
Un análisis a nivel de cable de Grok Build CLI 0.2.93 de xAI descubrió que la herramienta sube silenciosamente repositorios Git completos como paquetes a Google Cloud Storage, transmitiendo 5,10 GiB de datos frente a...
La opción de privacidad 'Mejorar el modelo' no detuvo las subidas; el servidor siguió aceptando fragmentos de paquetes Git con respuestas HTTP 200 incluso después de desactivarla.
Los archivos .env con claves API y contraseñas de bases de datos se transmiten sin censura ni enmascaramiento a través de ambos canales de comunicación.
Los desarrolladores afectados deben rotar todas las credenciales que hayan existido en cualquier archivo .env o historial Git usado con Grok Build, y ejecutar cualquier agente de codificación dentro de un contenedor c...
Search & fact-check with cited sources for What security flaws were revealed by a wire-level analysis of xAI's Grok Build CLI version 0.2.93Visualization of a wire-level analysis showing network flows from a developer machine to xAI's Google Cloud Storage bucket. The analysis revealed a 27,800× data disparity between model turns and background repository uploads.
Prompt de IA
Create a landscape editorial hero image for this Studio Global article: Search & fact-check with cited sources for What security flaws were revealed by a wire-level analysis of xAI's Grok Build CLI version 0.2.93. Article summary: Now I have comprehensive source material. Here is the fact-checked answer.. Topic tags: general, general web, user generated. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clickbait thumbnails, icons, and tiny thumbnail layouts. Make it useful as an illustrative visual, not as factual evidence.
openai.com
Un investigador de seguridad independiente de Cereblab (@cereblab) realizó un desmontaje reproducible a nivel de paquete de red de Grok Build CLI versión 0.2.93 de xAI utilizando mitmproxy, y publicó el análisis completo como un GitHub Gist . El análisis descubrió tres fallos de seguridad importantes que contradicen directamente el posicionamiento de la empresa como una herramienta que procesa datos 'localmente' y violan las expectativas de privacidad de los desarrolladores.
Studio Global AI
Continúe su investigación
Esta página incluye una respuesta respaldada por fuentes que puede continuar dentro de Studio Global.
¿Cuál es la respuesta corta a "Grok Build CLI 0.2.93: un análisis de tráfico revela que sube repositorios enteros a la nube, ignora la privacidad y expone credenciales"?
Un análisis a nivel de cable de Grok Build CLI 0.2.93 de xAI descubrió que la herramienta sube silenciosamente repositorios Git completos como paquetes a Google Cloud Storage, transmitiendo 5,10 GiB de datos frente a...
¿Cuáles son los puntos clave a validar primero?
Un análisis a nivel de cable de Grok Build CLI 0.2.93 de xAI descubrió que la herramienta sube silenciosamente repositorios Git completos como paquetes a Google Cloud Storage, transmitiendo 5,10 GiB de datos frente a... La opción de privacidad 'Mejorar el modelo' no detuvo las subidas; el servidor siguió aceptando fragmentos de paquetes Git con respuestas HTTP 200 incluso después de desactivarla.
¿Qué debo hacer a continuación en la práctica?
Los archivos .env con claves API y contraseñas de bases de datos se transmiten sin censura ni enmascaramiento a través de ambos canales de comunicación.
Grok Build CLI 0.2.93: un análisis de tráfico revela que sube repositorios enteros a la nube, ignora la privacidad y expone credenciales
Un análisis a nivel de cable de Grok Build CLI 0.2.93 de xAI descubrió que la herramienta sube silenciosamente repositorios Git completos como paquetes a Google Cloud Storage, transmitiendo 5,10 GiB de datos frente a... La opción de privacidad 'Mejorar el modelo' no detuvo las subidas; el servidor siguió aceptando f...
Publicado porEditado con DeepSeek-V4-FlashImágenes generadas con GPT Image 1.5
Un análisis a nivel de cable de Grok Build CLI 0.2.93 de xAI descubrió que la herramienta sube silenciosamente repositorios Git completos como paquetes a Google Cloud Storage, transmitiendo 5,10 GiB de datos frente a...
La opción de privacidad 'Mejorar el modelo' no detuvo las subidas; el servidor siguió aceptando fragmentos de paquetes Git con respuestas HTTP 200 incluso después de desactivarla.
Los archivos .env con claves API y contraseñas de bases de datos se transmiten sin censura ni enmascaramiento a través de ambos canales de comunicación.
Los desarrolladores afectados deben rotar todas las credenciales que hayan existido en cualquier archivo .env o historial Git usado con Grok Build, y ejecutar cualquier agente de codificación dentro de un contenedor c...
Search & fact-check with cited sources for What security flaws were revealed by a wire-level analysis of xAI's Grok Build CLI version 0.2.93Visualization of a wire-level analysis showing network flows from a developer machine to xAI's Google Cloud Storage bucket. The analysis revealed a 27,800× data disparity between model turns and background repository uploads.
Prompt de IA
Create a landscape editorial hero image for this Studio Global article: Search & fact-check with cited sources for What security flaws were revealed by a wire-level analysis of xAI's Grok Build CLI version 0.2.93. Article summary: Now I have comprehensive source material. Here is the fact-checked answer.. Topic tags: general, general web, user generated. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clickbait thumbnails, icons, and tiny thumbnail layouts. Make it useful as an illustrative visual, not as factual evidence.
openai.com
Un investigador de seguridad independiente de Cereblab (@cereblab) realizó un desmontaje reproducible a nivel de paquete de red de Grok Build CLI versión 0.2.93 de xAI utilizando mitmproxy, y publicó el análisis completo como un GitHub Gist . El análisis descubrió tres fallos de seguridad importantes que contradicen directamente el posicionamiento de la empresa como una herramienta que procesa datos 'localmente' y violan las expectativas de privacidad de los desarrolladores.
Studio Global AI
Continúe su investigación
Esta página incluye una respuesta respaldada por fuentes que puede continuar dentro de Studio Global.
¿Cuál es la respuesta corta a "Grok Build CLI 0.2.93: un análisis de tráfico revela que sube repositorios enteros a la nube, ignora la privacidad y expone credenciales"?
Un análisis a nivel de cable de Grok Build CLI 0.2.93 de xAI descubrió que la herramienta sube silenciosamente repositorios Git completos como paquetes a Google Cloud Storage, transmitiendo 5,10 GiB de datos frente a...
¿Cuáles son los puntos clave a validar primero?
Un análisis a nivel de cable de Grok Build CLI 0.2.93 de xAI descubrió que la herramienta sube silenciosamente repositorios Git completos como paquetes a Google Cloud Storage, transmitiendo 5,10 GiB de datos frente a... La opción de privacidad 'Mejorar el modelo' no detuvo las subidas; el servidor siguió aceptando fragmentos de paquetes Git con respuestas HTTP 200 incluso después de desactivarla.
¿Qué debo hacer a continuación en la práctica?
Los archivos .env con claves API y contraseñas de bases de datos se transmiten sin censura ni enmascaramiento a través de ambos canales de comunicación.
Comportamientos de Exfiltración de Datos que Contradicen el Marketing 'Local-First'
El investigador identificó dos canales de datos materialmente diferentes que salían de la máquina del desarrollador :
El canal de turnos del modelo (POST /v1/responses): los archivos que el agente abría se serializaban en las solicitudes del modelo. Este es el comportamiento esperado de un agente de codificación en la nube.
El canal de almacenamiento (POST /v1/storage): el repositorio completo se empaquetaba de forma independiente como un git bundle y se subía en fragmentos de ~75 MB a un bucket de Google Cloud Storage llamado grok-code-session-traces.
La disparidad de escala demostró que la subida no estaba motivada por lo que el agente leía. En un repositorio de prueba de 12 GB, el canal de almacenamiento movió 5,10 GiB en 73 fragmentos (todos con HTTP 200), mientras que el canal de turnos del modelo movió solo 192 KB — una proporción de ~27.800x. Incluso con el mensaje 'responde OK, no leas ningún archivo', la herramienta subió todo el repositorio como un git bundle; al clonar el paquete capturado se recuperó un archivo (src/_probe/never_read_canary.txt) que se le había dicho explícitamente al agente que no abriera, junto con el historial completo de commits de Git .
Tipos de Secretos y Archivos Transmitidos Sin Censura
Los archivos .env que contienen claves API, contraseñas de bases de datos y otras credenciales se transmitieron textualmente, sin enmascaramiento ni censura a través de ambos canales . En pruebas controladas, un archivo de 48 KB que contenía credenciales de base de datos y claves API apareció en texto plano en el cuerpo de la solicitud .
Cada archivo rastreado en el repositorio, más el historial completo de Git (todos los commits, ramas y etiquetas) se empaquetó y subió . Esto significa que los secretos eliminados hace meses pero rotados posteriormente aún pueden existir en los datos subidos.
La maquinaria de subida se identificó como una crate de Rust propia (xai-data-collector) residente en el binario, con rutas de origen como crates/codegen/xai-data-collector/src/gcs.rs y crates/codegen/xai-grok-shell/src/upload/.
En una base de código real de 12 GB de archivos aleatorios nunca leídos, el endpoint de almacenamiento aceptó las subidas sin ningún rechazo basado en el tamaño; las únicas respuestas que no fueron 200 fueron errores de cuota de uso del modelo (402/429), no fallos de almacenamiento .
Fracaso del Interruptor de Exclusión Voluntaria
El investigador probó el interruptor de privacidad 'Mejorar el modelo' y descubrió que no detenía las subidas.
Después de desactivar el interruptor y reiniciar, el endpoint de configuración del servidor seguía devolviendo trace_upload_enabled: true.
El canal de almacenamiento continuó aceptando subidas de paquetes Git fragmentados con respuestas HTTP 200 .
Existe una opción de configuración disable_codebase_upload=true en la configuración del arnés, pero su relación con el comportamiento del lado del servidor no está documentada, y las pruebas del investigador mostraron que el servidor no respetaba las preferencias del cliente .
Mitigaciones Recomendadas para DesarrolladoresAfectados
El investigador original y los análisis posteriores recomiendan lo siguiente :
Acciones inmediatas para equipos que usaron Grok Build CLI en repositorios privados:
Rota todas las credenciales que existieron en cualquier archivo .env, archivo de configuración o historial de Git dentro de los repositorios usados con Grok Build, ya que pueden haber sido transmitidas y almacenadas en el bucket de GCS grok-code-session-traces.
Audita el historial de Git en busca de secretos que hayan podido existir en cualquier commit pasado, ya que la CLI envió el historial completo de commits .
Asume que los datos se almacenaron, no solo se transmitieron — el servidor devolvió HTTP 200 en todas las solicitudes de almacenamiento, confirmando la aceptación .
Pregunta a xAI si el bucket se ha eliminado, qué controles de acceso existían y si un Acuerdo de Procesamiento de Datos lo cubría (ninguno se publicó en el momento de la divulgación) .
Mitigaciones arquitectónicas para cualquier agente de codificación:
Ejecuta los agentes en contenedores/máquinas virtuales con solo el directorio de la tarea montado, sin directorio de inicio, sin agente SSH, sin socket de Docker y sin directorios de credenciales en la nube expuestos .
Implementa controles de salida (egress): permite los endpoints de inferencia del modelo y los hosts de autenticación, pero niega las subidas directas a almacenamiento de objetos genérico. Activa alertas en transferencias que superen los 100 MB .
Usa captura de paquetes de todo el host, registro de DNS y telemetría de red del endpoint para detectar subidas por procesos coordinadores en segundo plano que los contadores de bytes en primer plano pasarían por alto .
Prueba los mensajes mínimos y máximos bajo captura de paquetes — los casos en los que se le dice al agente que no lea archivos son críticos para detectar la exfiltración más allá de la ventana de contexto .
Ejecuta al menos tres casos de mensajes: (1) 'responde OK, no leas ningún archivo', (2) lee un archivo específico, (3) inspecciona el lenguaje del proyecto — luego compara los bytes por endpoint .
What xAI's Grok Build CLI Actually Sends Home: A Wire-Level ...
Comportamientos de Exfiltración de Datos que Contradicen el Marketing 'Local-First'
El investigador identificó dos canales de datos materialmente diferentes que salían de la máquina del desarrollador :
El canal de turnos del modelo (POST /v1/responses): los archivos que el agente abría se serializaban en las solicitudes del modelo. Este es el comportamiento esperado de un agente de codificación en la nube.
El canal de almacenamiento (POST /v1/storage): el repositorio completo se empaquetaba de forma independiente como un git bundle y se subía en fragmentos de ~75 MB a un bucket de Google Cloud Storage llamado grok-code-session-traces.
La disparidad de escala demostró que la subida no estaba motivada por lo que el agente leía. En un repositorio de prueba de 12 GB, el canal de almacenamiento movió 5,10 GiB en 73 fragmentos (todos con HTTP 200), mientras que el canal de turnos del modelo movió solo 192 KB — una proporción de ~27.800x. Incluso con el mensaje 'responde OK, no leas ningún archivo', la herramienta subió todo el repositorio como un git bundle; al clonar el paquete capturado se recuperó un archivo (src/_probe/never_read_canary.txt) que se le había dicho explícitamente al agente que no abriera, junto con el historial completo de commits de Git .
Tipos de Secretos y Archivos Transmitidos Sin Censura
Los archivos .env que contienen claves API, contraseñas de bases de datos y otras credenciales se transmitieron textualmente, sin enmascaramiento ni censura a través de ambos canales . En pruebas controladas, un archivo de 48 KB que contenía credenciales de base de datos y claves API apareció en texto plano en el cuerpo de la solicitud .
Cada archivo rastreado en el repositorio, más el historial completo de Git (todos los commits, ramas y etiquetas) se empaquetó y subió . Esto significa que los secretos eliminados hace meses pero rotados posteriormente aún pueden existir en los datos subidos.
La maquinaria de subida se identificó como una crate de Rust propia (xai-data-collector) residente en el binario, con rutas de origen como crates/codegen/xai-data-collector/src/gcs.rs y crates/codegen/xai-grok-shell/src/upload/.
En una base de código real de 12 GB de archivos aleatorios nunca leídos, el endpoint de almacenamiento aceptó las subidas sin ningún rechazo basado en el tamaño; las únicas respuestas que no fueron 200 fueron errores de cuota de uso del modelo (402/429), no fallos de almacenamiento .
Fracaso del Interruptor de Exclusión Voluntaria
El investigador probó el interruptor de privacidad 'Mejorar el modelo' y descubrió que no detenía las subidas.
Después de desactivar el interruptor y reiniciar, el endpoint de configuración del servidor seguía devolviendo trace_upload_enabled: true.
El canal de almacenamiento continuó aceptando subidas de paquetes Git fragmentados con respuestas HTTP 200 .
Existe una opción de configuración disable_codebase_upload=true en la configuración del arnés, pero su relación con el comportamiento del lado del servidor no está documentada, y las pruebas del investigador mostraron que el servidor no respetaba las preferencias del cliente .
Mitigaciones Recomendadas para DesarrolladoresAfectados
El investigador original y los análisis posteriores recomiendan lo siguiente :
Acciones inmediatas para equipos que usaron Grok Build CLI en repositorios privados:
Rota todas las credenciales que existieron en cualquier archivo .env, archivo de configuración o historial de Git dentro de los repositorios usados con Grok Build, ya que pueden haber sido transmitidas y almacenadas en el bucket de GCS grok-code-session-traces.
Audita el historial de Git en busca de secretos que hayan podido existir en cualquier commit pasado, ya que la CLI envió el historial completo de commits .
Asume que los datos se almacenaron, no solo se transmitieron — el servidor devolvió HTTP 200 en todas las solicitudes de almacenamiento, confirmando la aceptación .
Pregunta a xAI si el bucket se ha eliminado, qué controles de acceso existían y si un Acuerdo de Procesamiento de Datos lo cubría (ninguno se publicó en el momento de la divulgación) .
Mitigaciones arquitectónicas para cualquier agente de codificación:
Ejecuta los agentes en contenedores/máquinas virtuales con solo el directorio de la tarea montado, sin directorio de inicio, sin agente SSH, sin socket de Docker y sin directorios de credenciales en la nube expuestos .
Implementa controles de salida (egress): permite los endpoints de inferencia del modelo y los hosts de autenticación, pero niega las subidas directas a almacenamiento de objetos genérico. Activa alertas en transferencias que superen los 100 MB .
Usa captura de paquetes de todo el host, registro de DNS y telemetría de red del endpoint para detectar subidas por procesos coordinadores en segundo plano que los contadores de bytes en primer plano pasarían por alto .
Prueba los mensajes mínimos y máximos bajo captura de paquetes — los casos en los que se le dice al agente que no lea archivos son críticos para detectar la exfiltración más allá de la ventana de contexto .
Ejecuta al menos tres casos de mensajes: (1) 'responde OK, no leas ningún archivo', (2) lee un archivo específico, (3) inspecciona el lenguaje del proyecto — luego compara los bytes por endpoint .
What xAI's Grok Build CLI Actually Sends Home: A Wire-Level ...