Суть уязвимости: не «улучшение модели», а полная выгрузка
Исследователь под псевдонимом cereblab проанализировал трафик Grok Build CLI версии 0.2.93 с помощью прокси mitmproxy на macOS. Выяснилось, что инструмент не просто отправлял контекст для решения задачи, а упаковывал и загружал весь отслеживаемый репозиторий, включая полную историю Git, в облачное хранилище Google Cloud Storage с именем grok-code-session-traces.
Ключевая проблема заключается в объеме передаваемых данных. В то время как полезная нагрузка для запроса к модели составляла всего около 192 КБ, фоновая загрузка в облако достигала 5,1 ГБ для репозитория размером 12 ГБ. Это означает, что xAI получал полный доступ к исходному коду, истории изменений и, что критично, к секретам.
Доказательства утечки: токены и отсутствие опции отказа
В захваченном трафике исследователь обнаружил canary-credential (тестовый токен), размещенный в файле .env. Он был передан в открытом виде, без маскировки. Это подтверждает, что вместе с кодом в облако xAI попадали учетные данные и ключи доступа.
Попытка отключить сбор данных через стандартный переключатель "Improve the model" не сработала. Даже при отключенной опции сервер продолжал возвращать флаг trace_upload_enabled: true, и загрузка репозитория происходила в фоновом режиме. Документация к инструменту также не упоминала о существовании такого механизма, что противоречит маркетинговому позиционированию Grok Build как "local-first решения.
Скрытое исправление без объяснений
В течение суток после публикации отчета исследователя трафик изменился. При повторном тестировании той же версии 0.2.93 сервер стал возвращать новые флаги: disable_codebase_upload: true и trace_upload_enabled: false. В шести последующих тестах загрузка репозиториев не наблюдалась.
Это указывает на то, что xAI оперативно отключила механизм на стороне сервера с помощью скрытого флага, не выпустив официального уведомления (security advisory) или объяснения. В официальном ченджлоге версия 0.2.98 от 12 июля 2026 года не содержит упоминаний об этом инциденте.
Сравнение трафика: полезная нагрузка vs. скрытая выгрузка
| Параметр | Запрос к модели (Task-relevant) | Загрузка в Google Cloud (Storage Upload) |
|---|---|---|
| Объем данных (на примере 12 ГБ репо) | ~192 КБ | ~5,1 ГБ |
| Содержимое | Контекст для решения задачи | Весь репозиторий + история Git + секреты |
| Управление пользователем | Явное (через интерфейс) | Отсутствует (игнорирует toggle "Improve model") |
Что остается неизвестным
Несмотря на остановку утечки, ряд вопросов остается без ответа. Неясно, является ли исправление глобальным или временным, так как проверка проводилась на одном аккаунте. Также нет данных о том, будут ли удалены уже собранные репозитории из хранилища grok-code-session-traces и использовались ли они для обучения моделей. xAI пока не комментирует ситуацию, оставляя разработчиков в неведении относительно масштабов сбора данных.
Источник: Internationalcyberdigest ↗
