Grok Build CLI 0.2.93: Trådnivåanalys avslöjar tyst uppladdning av hela repos, oredigerade hemligheter och trasig opt-out
En trådnivåanalys av xAI:s Grok Build CLI 0.2.93 visar att verktyget tyst laddar upp hela git repos som paket till Google Cloud Storage, med en datamängd på 5,10 GiB jämfört med 192 KB för modelltrafik – en faktor på... Integritetsinställningen 'Förbättra modellen' stoppade inte uppladdningarna; servern fortsatte at...
Publicerad avRedigerad med DeepSeek-V4-FlashBilder genererade med GPT Image 1.5
En trådnivåanalys av xAI:s Grok Build CLI 0.2.93 visar att verktyget tyst laddar upp hela git repos som paket till Google Cloud Storage, med en datamängd på 5,10 GiB jämfört med 192 KB för modelltrafik – en faktor på...
Integritetsinställningen 'Förbättra modellen' stoppade inte uppladdningarna; servern fortsatte att acceptera git paket med HTTP 200 svar även efter att inställningen stängts av.
Berörda utvecklare bör rotera alla inloggningsuppgifter som funnits i någon .env fil eller git historik som använts med Grok Build, och köra alla kodningsagenter i en container med egresskontroll och full paketfångst.
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
En oberoende säkerhetsforskare på Cereblab (@cereblab) genomförde en reproducerbar trådnivåanalys av xAI:s Grok Build CLI version 0.2.93 med hjälp av mitmproxy och publicerade den fullständiga analysen som en GitHub Gist . Analysen avslöjade tre allvarliga säkerhetsbrister som direkt motsäger företagets "local-first"-positionering och strider mot utvecklares förväntningar på dataintegritet.
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: Trådnivåanalys avslöjar tyst uppladdning av hela repos, oredigerade hemligheter och trasig opt-out"?
En trådnivåanalys av xAI:s Grok Build CLI 0.2.93 visar att verktyget tyst laddar upp hela git repos som paket till Google Cloud Storage, med en datamängd på 5,10 GiB jämfört med 192 KB för modelltrafik – en faktor på...
What are the key points to validate first?
En trådnivåanalys av xAI:s Grok Build CLI 0.2.93 visar att verktyget tyst laddar upp hela git repos som paket till Google Cloud Storage, med en datamängd på 5,10 GiB jämfört med 192 KB för modelltrafik – en faktor på... Integritetsinställningen 'Förbättra modellen' stoppade inte uppladdningarna; servern fortsatte att acceptera git paket med HTTP 200 svar även efter att inställningen stängts av.
What should I do next in practice?
Berörda utvecklare bör rotera alla inloggningsuppgifter som funnits i någon .env fil eller git historik som använts med Grok Build, och köra alla kodningsagenter i en container med egresskontroll och full paketfångst.
Grok Build CLI 0.2.93: Trådnivåanalys avslöjar tyst uppladdning av hela repos, oredigerade hemligheter och trasig opt-out
En trådnivåanalys av xAI:s Grok Build CLI 0.2.93 visar att verktyget tyst laddar upp hela git repos som paket till Google Cloud Storage, med en datamängd på 5,10 GiB jämfört med 192 KB för modelltrafik – en faktor på... Integritetsinställningen 'Förbättra modellen' stoppade inte uppladdningarna; servern fortsatte at...
Publicerad avRedigerad med DeepSeek-V4-FlashBilder genererade med GPT Image 1.5
En trådnivåanalys av xAI:s Grok Build CLI 0.2.93 visar att verktyget tyst laddar upp hela git repos som paket till Google Cloud Storage, med en datamängd på 5,10 GiB jämfört med 192 KB för modelltrafik – en faktor på...
Integritetsinställningen 'Förbättra modellen' stoppade inte uppladdningarna; servern fortsatte att acceptera git paket med HTTP 200 svar även efter att inställningen stängts av.
Berörda utvecklare bör rotera alla inloggningsuppgifter som funnits i någon .env fil eller git historik som använts med Grok Build, och köra alla kodningsagenter i en container med egresskontroll och full paketfångst.
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
En oberoende säkerhetsforskare på Cereblab (@cereblab) genomförde en reproducerbar trådnivåanalys av xAI:s Grok Build CLI version 0.2.93 med hjälp av mitmproxy och publicerade den fullständiga analysen som en GitHub Gist . Analysen avslöjade tre allvarliga säkerhetsbrister som direkt motsäger företagets "local-first"-positionering och strider mot utvecklares förväntningar på dataintegritet.
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: Trådnivåanalys avslöjar tyst uppladdning av hela repos, oredigerade hemligheter och trasig opt-out"?
En trådnivåanalys av xAI:s Grok Build CLI 0.2.93 visar att verktyget tyst laddar upp hela git repos som paket till Google Cloud Storage, med en datamängd på 5,10 GiB jämfört med 192 KB för modelltrafik – en faktor på...
What are the key points to validate first?
En trådnivåanalys av xAI:s Grok Build CLI 0.2.93 visar att verktyget tyst laddar upp hela git repos som paket till Google Cloud Storage, med en datamängd på 5,10 GiB jämfört med 192 KB för modelltrafik – en faktor på... Integritetsinställningen 'Förbättra modellen' stoppade inte uppladdningarna; servern fortsatte att acceptera git paket med HTTP 200 svar även efter att inställningen stängts av.
What should I do next in practice?
Berörda utvecklare bör rotera alla inloggningsuppgifter som funnits i någon .env fil eller git historik som använts med Grok Build, och köra alla kodningsagenter i en container med egresskontroll och full paketfångst.
Dataexfiltreringsbeteenden som motsäger "Local-First"-marknadsföringen
Forskaren identifierade ** två materiellt olika datavägar** som lämnar utvecklarens maskin :
Modellvändningskanalen (POST /v1/responses): filer som agenten öppnade serialiserades i modellförfrågningar. Detta är det förväntade beteendet för en molnbaserad kodningsagent.
Lagringskanalen (POST /v1/storage): hela repot paketerades oberoende som ett git-paket och laddades upp i cirka 75 MB stora bitar till en Google Cloud Storage-bucket som heter grok-code-session-traces.
Skillnaden i skala bevisade att uppladdningen inte drevs av vad agenten läste. På ett 12 GB testrepo flyttade lagringskanalen 5,10 GiB över 73 bitar (alla HTTP 200), medan modellvändningskanalen bara flyttade 192 KB — en faktor på ~27 800×. Även med prompten "svara OK, läs inte några filer" laddade verktyget upp hela repot som ett git-paket; kloning av det avlyssnade paketet återställde en fil (src/_probe/never_read_canary.txt) som agenten uttryckligen hade blivit tillsagd att inte öppna, tillsammans med hela git-commit-historiken .
Typer av hemligheter och filer som överförts utan redigering
.env-filer som innehåller API-nycklar, databaslösenord och andra autentiseringsuppgifter överfördes ordagrant, utan maskering eller redigering genom båda kanalerna . I kontrollerade tester dök en 48 KB fil med databasautentiseringsuppgifter och API-nycklar upp i klartext i förfrågningskroppen .
Varje spårad fil i repot, plus hela git-historiken (alla commits, grenar, taggar) paketerades och laddades upp . Detta innebär att borttagna hemligheter som committades för månader sedan men senare roterades fortfarande kan finnas i den uppladdade datan.
Uppladdningsmekanismen identifierades som en förstaparts Rust-krat (xai-data-collector) som finns i den binära filen, med sökvägar som crates/codegen/xai-data-collector/src/gcs.rs och crates/codegen/xai-grok-shell/src/upload/.
I en verklig kodbas på 12 GB med slumpmässiga filer som aldrig lästes, accepterade lagringsslutpunkten uppladdningar utan någon storleksbaserad avvisning; de enda icke-200-svaren var modellanvändningskvoter (402/429), inte lagringsfel .
Opt-Out-omkopplarens misslyckande
Forskaren testade integritetsreglaget "Förbättra modellen" och fann att det inte stoppade uppladdningarna.
Efter att ha inaktiverat reglaget och startat om, returnerade serverns inställningsslutpunkt fortfarande trace_upload_enabled: true.
Lagringskanalen fortsatte att acceptera uppladdningar av git-paket i bitar med HTTP 200-svar .
Ett disable_codebase_upload=true-konfigurationsalternativ finns i inställningarna, men dess relation till serverns beteende är odokumenterad, och forskarens tester visade att servern inte respekterade klientens preferenser .
Rekommenderade åtgärder för berörda utvecklare
Den ursprungliga forskaren och efterföljande analyskällor rekommenderar följande :
Omedelbara åtgärder för team som har använt Grok Build CLI på privata repos:
Rotera alla autentiseringsuppgifter som funnits i någon .env-fil, konfigurationsfil eller git-historik inom repos som använts med Grok Build, eftersom de kan ha överförts och lagrats i grok-code-session-traces GCS-bucket .
Granska git-historiken för hemligheter som kan ha funnits i någon tidigare commit, eftersom CLI:t skickade hela commit-historiken .
Anta att data lagrades, inte bara överfördes — servern returnerade HTTP 200 på alla lagringsförfrågningar, vilket bekräftar acceptans .
Fråga xAI om bucketen har raderats, vilka åtkomstkontroller som fanns och om ett databehandlingsavtal täckte den (inga publicerades vid tidpunkten för avslöjandet) .
Arkitektoniska åtgärder för alla kodningsagenter:
Kör agenter i containrar/VM med endast aktivitetskatalogen monterad, ingen hemkatalog, ingen SSH-agent, ingen Docker-socket och inga molnära autentiseringsuppgiftskataloger exponerade .
Implementera egresskontroll: tillåt modellinferensslutpunkter och autentiseringsvärdar, men neka direkta generiska objektlagringsuppladdningar. Varna för överföringar som överstiger 100 MB .
Använd paketfångst på hela värden, DNS-loggnings- och slutpunktsnätverkstelemetri för att upptäcka uppladdningar av bakgrundskoordinatorprocesser som förgrundsbyte-räknare skulle missa .
Testa minsta och maximala prompts under trådavlyssning — fall där agenten blir tillsagd att inte läsa filer är avgörande för att upptäcka exfiltrering utanför kontextfönstret .
Kör minst tre promptfall: (1) "svara OK, läs inte några filer," (2) läs en specifik fil, (3) inspektera projektspråket — jämför sedan byte per slutpunkt .
What xAI's Grok Build CLI Actually Sends Home: A Wire-Level ...
Dataexfiltreringsbeteenden som motsäger "Local-First"-marknadsföringen
Forskaren identifierade ** två materiellt olika datavägar** som lämnar utvecklarens maskin :
Modellvändningskanalen (POST /v1/responses): filer som agenten öppnade serialiserades i modellförfrågningar. Detta är det förväntade beteendet för en molnbaserad kodningsagent.
Lagringskanalen (POST /v1/storage): hela repot paketerades oberoende som ett git-paket och laddades upp i cirka 75 MB stora bitar till en Google Cloud Storage-bucket som heter grok-code-session-traces.
Skillnaden i skala bevisade att uppladdningen inte drevs av vad agenten läste. På ett 12 GB testrepo flyttade lagringskanalen 5,10 GiB över 73 bitar (alla HTTP 200), medan modellvändningskanalen bara flyttade 192 KB — en faktor på ~27 800×. Även med prompten "svara OK, läs inte några filer" laddade verktyget upp hela repot som ett git-paket; kloning av det avlyssnade paketet återställde en fil (src/_probe/never_read_canary.txt) som agenten uttryckligen hade blivit tillsagd att inte öppna, tillsammans med hela git-commit-historiken .
Typer av hemligheter och filer som överförts utan redigering
.env-filer som innehåller API-nycklar, databaslösenord och andra autentiseringsuppgifter överfördes ordagrant, utan maskering eller redigering genom båda kanalerna . I kontrollerade tester dök en 48 KB fil med databasautentiseringsuppgifter och API-nycklar upp i klartext i förfrågningskroppen .
Varje spårad fil i repot, plus hela git-historiken (alla commits, grenar, taggar) paketerades och laddades upp . Detta innebär att borttagna hemligheter som committades för månader sedan men senare roterades fortfarande kan finnas i den uppladdade datan.
Uppladdningsmekanismen identifierades som en förstaparts Rust-krat (xai-data-collector) som finns i den binära filen, med sökvägar som crates/codegen/xai-data-collector/src/gcs.rs och crates/codegen/xai-grok-shell/src/upload/.
I en verklig kodbas på 12 GB med slumpmässiga filer som aldrig lästes, accepterade lagringsslutpunkten uppladdningar utan någon storleksbaserad avvisning; de enda icke-200-svaren var modellanvändningskvoter (402/429), inte lagringsfel .
Opt-Out-omkopplarens misslyckande
Forskaren testade integritetsreglaget "Förbättra modellen" och fann att det inte stoppade uppladdningarna.
Efter att ha inaktiverat reglaget och startat om, returnerade serverns inställningsslutpunkt fortfarande trace_upload_enabled: true.
Lagringskanalen fortsatte att acceptera uppladdningar av git-paket i bitar med HTTP 200-svar .
Ett disable_codebase_upload=true-konfigurationsalternativ finns i inställningarna, men dess relation till serverns beteende är odokumenterad, och forskarens tester visade att servern inte respekterade klientens preferenser .
Rekommenderade åtgärder för berörda utvecklare
Den ursprungliga forskaren och efterföljande analyskällor rekommenderar följande :
Omedelbara åtgärder för team som har använt Grok Build CLI på privata repos:
Rotera alla autentiseringsuppgifter som funnits i någon .env-fil, konfigurationsfil eller git-historik inom repos som använts med Grok Build, eftersom de kan ha överförts och lagrats i grok-code-session-traces GCS-bucket .
Granska git-historiken för hemligheter som kan ha funnits i någon tidigare commit, eftersom CLI:t skickade hela commit-historiken .
Anta att data lagrades, inte bara överfördes — servern returnerade HTTP 200 på alla lagringsförfrågningar, vilket bekräftar acceptans .
Fråga xAI om bucketen har raderats, vilka åtkomstkontroller som fanns och om ett databehandlingsavtal täckte den (inga publicerades vid tidpunkten för avslöjandet) .
Arkitektoniska åtgärder för alla kodningsagenter:
Kör agenter i containrar/VM med endast aktivitetskatalogen monterad, ingen hemkatalog, ingen SSH-agent, ingen Docker-socket och inga molnära autentiseringsuppgiftskataloger exponerade .
Implementera egresskontroll: tillåt modellinferensslutpunkter och autentiseringsvärdar, men neka direkta generiska objektlagringsuppladdningar. Varna för överföringar som överstiger 100 MB .
Använd paketfångst på hela värden, DNS-loggnings- och slutpunktsnätverkstelemetri för att upptäcka uppladdningar av bakgrundskoordinatorprocesser som förgrundsbyte-räknare skulle missa .
Testa minsta och maximala prompts under trådavlyssning — fall där agenten blir tillsagd att inte läsa filer är avgörande för att upptäcka exfiltrering utanför kontextfönstret .
Kör minst tre promptfall: (1) "svara OK, läs inte några filer," (2) läs en specifik fil, (3) inspektera projektspråket — jämför sedan byte per slutpunkt .
What xAI's Grok Build CLI Actually Sends Home: A Wire-Level ...