Компанія xAI (SpaceXAI) опинилася в центрі скандалу після того, як стороннє розслідування показало: її інструмент для написання коду Grok Build без попередження вивантажував повні репозиторії користувачів у власну хмару. Про це повідомляє The Hacker News.

Як дослідник викрив прихований канал передачі даних

Фахівець, відомий під ніком cereblab, дослідив мережеву активність версії 0.2.93 інструмента Grok Build, пропустивши весь HTTPS-трафік через mitmproxy на macOS. У бінарному коді програми він знайшов два різні шляхи передачі інформації.

Перший канал відповідав очікуваній логіці роботи: запити POST /v1/responses надсилали моделі вміст лише тих файлів, які агент безпосередньо опрацьовував під час виконання завдання. Другий канал, який працював у фоновому режимі через POST /v1/storage, передавав повний знімок робочого простору — навіть тих файлів, до яких агент узагалі не звертався — у бакет Google Cloud Storage з назвою grok-code-session-traces.

На тестовому репозиторії обсягом близько 12 ГБ канал взаємодії з моделлю передав лише приблизно 192 КБ даних. Натомість фоновий канал відправив щонайменше 5,1 ГБ інформації, розбитої на 73 частини по приблизно 75 МБ кожна, і кожен із запитів отримав відповідь HTTP 200. Різниця між фактичною потребою моделі та реальним обсягом вивантажених даних сягнула приблизно 27 800 разів.

Доказ: файл, який агент навіть не відкривав

Щоб виключити версію про звичайне кешування опрацьованих файлів, дослідник поставив жорсткий експеримент: у репозиторії з 298 файлів він розмістив унікальний маркер і наказав Grok не читати й не відкривати жодного файлу, обмежившись відповіддю «OK». Попри це, інструмент усе одно передав Git-бандл через /v1/storage, і запит завершився статусом HTTP 200.

Після розпакування перехопленого бандла дослідник відновив повний репозиторій — з тим самим маркером, якого модель ніколи не бачила, і чотирма комітами історії Git. Повторний тест на другому репозиторії з іншим унікальним маркером дав ідентичний результат.

Перемикач «Improve the model» не впливав на вивантаження

Особливе занепокоєння викликав той факт, що штатна опція конфіденційності «Improve the model», яку розробники сприймали як спосіб керувати збором даних, жодним чином не блокувала передачу файлів. Навіть після вимкнення цього перемикача сервер продовжував повертати trace_upload_enabled: true, а завантаження репозиторію відбувалося у звичному режимі.

Причина в тому, що цей перемикач регулює лише згоду на використання даних для тренування моделі, а не факт передачі коду за межі пристрою користувача — це два принципово різні налаштування, хоча в інтерфейсі продукту було доступне лише одне з них. Окремо дослідники з'ясували, що трекований файл .env із тестовими значеннями API_KEY та DB_PASSWORD потрапляв і в запити до моделі, і в архів стану сесії у незашифрованому та нередагованому вигляді.

Як поводилися конкуренти

У власному порівняльному тестуванні cereblab перевірив аналогічні продукти інших компаній. Claude Code та Codex не надсилали жодного пакетного знімка репозиторію. Gemini також не робив цього під час тесту на холостому ходу, хоча спроба з реальним завданням завершилася блокуванням через квоту, тож остаточного висновку щодо нього дослідник не отримав. За наявними даними, саме Grok Build виявився винятком серед перевірених інструментів за масштабом фонового збору вмісту робочого простору.

Реакція xAI та обіцянка Маска

Спершу представники xAI (SpaceXAI) заперечили твердження про безстрокове зберігання завантаженого коду. У X компанія заявила, що CLI підтримує режим нульового зберігання даних (Zero Data Retention, ZDR) з моменту запуску, а користувачі без активованого ZDR можуть застосувати команду /privacy, щоб змінити налаштування та видалити раніше синхронізовані дані.

Сам Ілон Маск спочатку зауважив, що зберігання певного обсягу даних насправді корисне для налагодження помилок, але пізніше підтвердив, що всі дані користувачів, завантажені до сховища xAI, будуть повністю видалені.

нічого абсолютно не залишиться

Ілон Маск

13 липня компанія без публічного оголошення перемкнула серверний параметр disable_codebase_upload: true, після чого вивантаження репозиторіїв припинилося — це підтвердили як повторні тести дослідника, так і незалежна перевірка іншим розробником на власному акаунті. Проте офіційного повідомлення про безпеку (security advisory) компанія так і не опублікувала: не розкрито ні масштаб інциденту, ні термін фактичного зберігання даних, ні кількість постраждалих користувачів. Уся комунікація обмежилася дописами в X.

Що робити тим, хто вже користувався Grok Build

Розробникам, які запускали інструмент у репозиторіях із конфіденційною інформацією, радять негайно ротувати всі облікові дані, що могли потрапити у вивантаження — включно з тими, що зберігалися лише в історії Git і були пізніше видалені з робочої копії, адже видалення файлу з актуальної версії не прибирає його зі старих комітів.

Нагадаємо, нова модель від компанії Ілона Маска Grok 4.5 обходить конкурентів за ціною, але не за якістю.

Джерело: Highload.tech