Grok Build CLI 0.2.93: l’analisi a livello di pacchetto rivela l’upload silenzioso di interi repository, segreti in chiaro e un opt-out inefficace
Un’analisi a livello di pacchetto di Grok Build CLI 0.2.93 ha scoperto che lo strumento carica silenziosamente interi repository Git come bundle su Google Cloud Storage, trasmettendo 5,10 GiB di dati contro 192 KB di... Il toggle per la privacy ‘Migliora il modello’ non riesce a fermare gli upload: il server ha cont...
Pubblicato daModificato con DeepSeek-V4-FlashImmagini generate con GPT Image 1.5
Un’analisi a livello di pacchetto di Grok Build CLI 0.2.93 ha scoperto che lo strumento carica silenziosamente interi repository Git come bundle su Google Cloud Storage, trasmettendo 5,10 GiB di dati contro 192 KB di...
Il toggle per la privacy ‘Migliora il modello’ non riesce a fermare gli upload: il server ha continuato ad accettare chunk di bundle Git con risposte HTTP 200 anche dopo la disattivazione.
Gli sviluppatori interessati dovrebbero ruotare tutte le credenziali presenti in qualsiasi file .env o cronologia Git utilizzata con Grok Build, ed eseguire qualsiasi agente di codifica all’interno di un contenitore 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.
AI Prompt
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 ricercatore di sicurezza indipendente di Cereblab (@cereblab) ha eseguito uno smontaggio riproducibile a livello di pacchetto della Grok Build CLI versione 0.2.93 di xAI utilizzando mitmproxy, pubblicando l'analisi completa come GitHub Gist . L'analisi ha rivelato tre gravi falle di sicurezza che contraddicono direttamente il posizionamento "local-first" dell'azienda e violano le aspettative degli sviluppatori in materia di privacy dei dati.
Studio Global AI
Continue your research
This page includes a source-backed answer you can continue inside Studio Global.
What is the short answer to "Grok Build CLI 0.2.93: l’analisi a livello di pacchetto rivela l’upload silenzioso di interi repository, segreti in chiaro e un opt-out inefficace"?
Un’analisi a livello di pacchetto di Grok Build CLI 0.2.93 ha scoperto che lo strumento carica silenziosamente interi repository Git come bundle su Google Cloud Storage, trasmettendo 5,10 GiB di dati contro 192 KB di...
What are the key points to validate first?
Un’analisi a livello di pacchetto di Grok Build CLI 0.2.93 ha scoperto che lo strumento carica silenziosamente interi repository Git come bundle su Google Cloud Storage, trasmettendo 5,10 GiB di dati contro 192 KB di... Il toggle per la privacy ‘Migliora il modello’ non riesce a fermare gli upload: il server ha continuato ad accettare chunk di bundle Git con risposte HTTP 200 anche dopo la disattivazione.
What should I do next in practice?
Gli sviluppatori interessati dovrebbero ruotare tutte le credenziali presenti in qualsiasi file .env o cronologia Git utilizzata con Grok Build, ed eseguire qualsiasi agente di codifica all’interno di un contenitore c...
Grok Build CLI 0.2.93: l’analisi a livello di pacchetto rivela l’upload silenzioso di interi repository, segreti in chiaro e un opt-out inefficace
Un’analisi a livello di pacchetto di Grok Build CLI 0.2.93 ha scoperto che lo strumento carica silenziosamente interi repository Git come bundle su Google Cloud Storage, trasmettendo 5,10 GiB di dati contro 192 KB di... Il toggle per la privacy ‘Migliora il modello’ non riesce a fermare gli upload: il server ha cont...
Pubblicato daModificato con DeepSeek-V4-FlashImmagini generate con GPT Image 1.5
Un’analisi a livello di pacchetto di Grok Build CLI 0.2.93 ha scoperto che lo strumento carica silenziosamente interi repository Git come bundle su Google Cloud Storage, trasmettendo 5,10 GiB di dati contro 192 KB di...
Il toggle per la privacy ‘Migliora il modello’ non riesce a fermare gli upload: il server ha continuato ad accettare chunk di bundle Git con risposte HTTP 200 anche dopo la disattivazione.
Gli sviluppatori interessati dovrebbero ruotare tutte le credenziali presenti in qualsiasi file .env o cronologia Git utilizzata con Grok Build, ed eseguire qualsiasi agente di codifica all’interno di un contenitore 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.
AI Prompt
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 ricercatore di sicurezza indipendente di Cereblab (@cereblab) ha eseguito uno smontaggio riproducibile a livello di pacchetto della Grok Build CLI versione 0.2.93 di xAI utilizzando mitmproxy, pubblicando l'analisi completa come GitHub Gist . L'analisi ha rivelato tre gravi falle di sicurezza che contraddicono direttamente il posizionamento "local-first" dell'azienda e violano le aspettative degli sviluppatori in materia di privacy dei dati.
Studio Global AI
Continue your research
This page includes a source-backed answer you can continue inside Studio Global.
What is the short answer to "Grok Build CLI 0.2.93: l’analisi a livello di pacchetto rivela l’upload silenzioso di interi repository, segreti in chiaro e un opt-out inefficace"?
Un’analisi a livello di pacchetto di Grok Build CLI 0.2.93 ha scoperto che lo strumento carica silenziosamente interi repository Git come bundle su Google Cloud Storage, trasmettendo 5,10 GiB di dati contro 192 KB di...
What are the key points to validate first?
Un’analisi a livello di pacchetto di Grok Build CLI 0.2.93 ha scoperto che lo strumento carica silenziosamente interi repository Git come bundle su Google Cloud Storage, trasmettendo 5,10 GiB di dati contro 192 KB di... Il toggle per la privacy ‘Migliora il modello’ non riesce a fermare gli upload: il server ha continuato ad accettare chunk di bundle Git con risposte HTTP 200 anche dopo la disattivazione.
What should I do next in practice?
Gli sviluppatori interessati dovrebbero ruotare tutte le credenziali presenti in qualsiasi file .env o cronologia Git utilizzata con Grok Build, ed eseguire qualsiasi agente di codifica all’interno di un contenitore c...
Comportamenti di esfiltrazione dati in contraddizione con il marketing "Local-First"
Il ricercatore ha identificato due canali di dati sostanzialmente diversi in uscita dalla macchina dello sviluppatore :
Il canale model-turn (POST /v1/responses): i file aperti dall'agente venivano serializzati nelle richieste del modello. Questo è il comportamento previsto per un agente di codifica cloud.
Il canale di storage (POST /v1/storage): l'intero repository veniva impacchettato in modo indipendente come git bundle e caricato in chunk da ~75 MB su un bucket Google Cloud Storage denominato grok-code-session-traces.
La disparità di scala ha dimostrato che l'upload non era guidato da ciò che l'agente aveva letto. Su un repository di test da 12 GB, il canale di storage ha trasferito 5,10 GiB in 73 chunk (tutti con HTTP 200), mentre il canale model-turn ha trasferito solo 192 KB — un rapporto di ~27.800×. Anche con il prompt "rispondi OK, non leggere alcun file", lo strumento ha caricato l'intero repo come git bundle; clonando il bundle catturato si è recuperato un file (src/_probe/never_read_canary.txt) che all'agente era stato esplicitamente detto di non aprire, insieme all'intera cronologia dei commit Git .
Tipi di segreti e file trasmessi senza oscuramento
I file .env contenenti chiavi API, password di database e altre credenziali sono stati trasmessi testualmente, senza mascheramento o oscuramento attraverso entrambi i canali . In test controllati, un file da 48 KB contenente credenziali del database e chiavi API è apparso in chiaro nel corpo della richiesta .
Ogni file tracciato nel repository, più la cronologia Git completa (tutti i commit, i branch, i tag) è stato impacchettato e caricato . Ciò significa che i segreti rimossi mesi fa ma successivamente ruotati potrebbero ancora esistere nei dati caricati.
Il meccanismo di upload è stato identificato come una crate Rust proprietaria (xai-data-collector) residente nel binario, con percorsi sorgente come crates/codegen/xai-data-collector/src/gcs.rs e crates/codegen/xai-grok-shell/src/upload/.
Su un codebase reale di 12 GB con file casuali mai letti, l'endpoint di storage ha accettato upload senza alcun rifiuto basato sulla dimensione; le uniche risposte non-200 sono stati errori di quota di utilizzo del modello (402/429), non errori di storage .
Fallimento del toggle di opt-out
Il ricercatore ha testato il toggle per la privacy "Migliora il modello" e ha scoperto che non ha fermato gli upload.
Dopo aver disabilitato il toggle e riavviato, l'endpoint delle impostazioni del server restituiva ancora trace_upload_enabled: true.
Il canale di storage ha continuato ad accettare upload di git bundle in chunk con risposte HTTP 200 .
Un'opzione di configurazione disable_codebase_upload=true esiste nelle impostazioni dell'harness, ma la sua relazione con il comportamento lato server è indocumentata, e i test del ricercatore hanno mostrato che il server non rispettava le preferenze lato client .
Mitigazioni raccomandate per gli sviluppatori interessati
Il ricercatore originale e le successive analisi raccomandano quanto segue :
Azioni immediate per i team che hanno utilizzato Grok Build CLI su repository privati:
Ruotare tutte le credenziali presenti in qualsiasi file .env, file di configurazione o cronologia Git all'interno dei repository utilizzati con Grok Build, poiché potrebbero essere state trasmesse e memorizzate nel bucket GCS grok-code-session-traces.
Verificare la cronologia Git per eventuali segreti che potrebbero essere esistiti in commit passati, poiché la CLI ha inviato l'intera cronologia dei commit .
Presumere che i dati siano stati memorizzati, non solo trasmessi — il server ha risposto con HTTP 200 a tutte le richieste di storage, confermandone l'accettazione .
Chiedere a xAI se il bucket è stato eliminato, quali controlli di accesso esistevano e se era coperto da un Data Processing Agreement (all'epoca della divulgazione non ne era stato pubblicato alcuno) .
Mitigazioni architetturali per qualsiasi agente di codifica:
Eseguire gli agenti in contenitori/VM montando solo la directory delle attività, senza directory home, senza agente SSH, senza socket Docker e senza directory di credenziali cloud esposte .
Implementare controlli di uscita: consentire gli endpoint di inferenza del modello e gli host di autenticazione, ma negare gli upload generici diretti a object storage. Generare avvisi per trasferimenti superiori a 100 MB .
Utilizzare la cattura dei pacchetti a livello di host, la registrazione DNS e la telemetria di rete degli endpoint per rilevare upload da parte di processi coordinatori in background che i contatori di byte in primo piano potrebbero non rilevare .
Testare i prompt minimi e massimi sotto cattura di pacchetti — i casi in cui all'agente viene detto di non leggere file sono fondamentali per rilevare l'esfiltrazione oltre la finestra di contesto .
Eseguire almeno tre casi di test del prompt: (1) "rispondi OK, non leggere alcun file", (2) leggi un file specifico, (3) ispeziona il linguaggio del progetto — quindi confrontare i byte per endpoint .
What xAI's Grok Build CLI Actually Sends Home: A Wire-Level ...
Comportamenti di esfiltrazione dati in contraddizione con il marketing "Local-First"
Il ricercatore ha identificato due canali di dati sostanzialmente diversi in uscita dalla macchina dello sviluppatore :
Il canale model-turn (POST /v1/responses): i file aperti dall'agente venivano serializzati nelle richieste del modello. Questo è il comportamento previsto per un agente di codifica cloud.
Il canale di storage (POST /v1/storage): l'intero repository veniva impacchettato in modo indipendente come git bundle e caricato in chunk da ~75 MB su un bucket Google Cloud Storage denominato grok-code-session-traces.
La disparità di scala ha dimostrato che l'upload non era guidato da ciò che l'agente aveva letto. Su un repository di test da 12 GB, il canale di storage ha trasferito 5,10 GiB in 73 chunk (tutti con HTTP 200), mentre il canale model-turn ha trasferito solo 192 KB — un rapporto di ~27.800×. Anche con il prompt "rispondi OK, non leggere alcun file", lo strumento ha caricato l'intero repo come git bundle; clonando il bundle catturato si è recuperato un file (src/_probe/never_read_canary.txt) che all'agente era stato esplicitamente detto di non aprire, insieme all'intera cronologia dei commit Git .
Tipi di segreti e file trasmessi senza oscuramento
I file .env contenenti chiavi API, password di database e altre credenziali sono stati trasmessi testualmente, senza mascheramento o oscuramento attraverso entrambi i canali . In test controllati, un file da 48 KB contenente credenziali del database e chiavi API è apparso in chiaro nel corpo della richiesta .
Ogni file tracciato nel repository, più la cronologia Git completa (tutti i commit, i branch, i tag) è stato impacchettato e caricato . Ciò significa che i segreti rimossi mesi fa ma successivamente ruotati potrebbero ancora esistere nei dati caricati.
Il meccanismo di upload è stato identificato come una crate Rust proprietaria (xai-data-collector) residente nel binario, con percorsi sorgente come crates/codegen/xai-data-collector/src/gcs.rs e crates/codegen/xai-grok-shell/src/upload/.
Su un codebase reale di 12 GB con file casuali mai letti, l'endpoint di storage ha accettato upload senza alcun rifiuto basato sulla dimensione; le uniche risposte non-200 sono stati errori di quota di utilizzo del modello (402/429), non errori di storage .
Fallimento del toggle di opt-out
Il ricercatore ha testato il toggle per la privacy "Migliora il modello" e ha scoperto che non ha fermato gli upload.
Dopo aver disabilitato il toggle e riavviato, l'endpoint delle impostazioni del server restituiva ancora trace_upload_enabled: true.
Il canale di storage ha continuato ad accettare upload di git bundle in chunk con risposte HTTP 200 .
Un'opzione di configurazione disable_codebase_upload=true esiste nelle impostazioni dell'harness, ma la sua relazione con il comportamento lato server è indocumentata, e i test del ricercatore hanno mostrato che il server non rispettava le preferenze lato client .
Mitigazioni raccomandate per gli sviluppatori interessati
Il ricercatore originale e le successive analisi raccomandano quanto segue :
Azioni immediate per i team che hanno utilizzato Grok Build CLI su repository privati:
Ruotare tutte le credenziali presenti in qualsiasi file .env, file di configurazione o cronologia Git all'interno dei repository utilizzati con Grok Build, poiché potrebbero essere state trasmesse e memorizzate nel bucket GCS grok-code-session-traces.
Verificare la cronologia Git per eventuali segreti che potrebbero essere esistiti in commit passati, poiché la CLI ha inviato l'intera cronologia dei commit .
Presumere che i dati siano stati memorizzati, non solo trasmessi — il server ha risposto con HTTP 200 a tutte le richieste di storage, confermandone l'accettazione .
Chiedere a xAI se il bucket è stato eliminato, quali controlli di accesso esistevano e se era coperto da un Data Processing Agreement (all'epoca della divulgazione non ne era stato pubblicato alcuno) .
Mitigazioni architetturali per qualsiasi agente di codifica:
Eseguire gli agenti in contenitori/VM montando solo la directory delle attività, senza directory home, senza agente SSH, senza socket Docker e senza directory di credenziali cloud esposte .
Implementare controlli di uscita: consentire gli endpoint di inferenza del modello e gli host di autenticazione, ma negare gli upload generici diretti a object storage. Generare avvisi per trasferimenti superiori a 100 MB .
Utilizzare la cattura dei pacchetti a livello di host, la registrazione DNS e la telemetria di rete degli endpoint per rilevare upload da parte di processi coordinatori in background che i contatori di byte in primo piano potrebbero non rilevare .
Testare i prompt minimi e massimi sotto cattura di pacchetti — i casi in cui all'agente viene detto di non leggere file sono fondamentali per rilevare l'esfiltrazione oltre la finestra di contesto .
Eseguire almeno tre casi di test del prompt: (1) "rispondi OK, non leggere alcun file", (2) leggi un file specifico, (3) ispeziona il linguaggio del progetto — quindi confrontare i byte per endpoint .
What xAI's Grok Build CLI Actually Sends Home: A Wire-Level ...