스크립트
00:00:00Grok загрузил всю мою пользовательскую директорию на серверы xAI; там были мои SSH-ключи, пароли,
00:00:05базы данных, документы, фото, видео — всё. Кодинг-CLI Grok загрузил ваш
00:00:10весь репозиторий и историю Git, включая файлы, которые ему было запрещено открывать, и секреты, удаленные из
00:00:16истории. Это серьезная и огромная ошибка со стороны команды Grok, так что давайте разберем,
00:00:20что произошло, как проверить, был ли загружен ваш код, и что xAI сделала для исправления.
00:00:29Впервые я узнал об этом из твита, призывающего людей выполнить команду grep, чтобы прочитать
00:00:33логи Grok, где сказано: “Вы будете в ярости”. Там показано фото лога, где ставится в очередь загрузка репозитория
00:00:38на серверы Grok. У твита сотни ответов и цитат от людей, запустивших эту команду
00:00:42и получивших похожий результат, включая одного пользователя, который запустил Grok в домашней директории и сообщил, что
00:00:47все было загружено. Дальнейшие расследования показывают, что он поставляет вредоносный фоновый сборщик кода,
00:00:52так что давайте посмотрим, что он на самом деле делал. Это отчет исследователя по имени cereblab,
00:00:56который использовал mitmproxy для проверки трафика, который отправлял и получал Grok CLI. Они открыли Grok в
00:01:02репозитории и единственным промптом, который они отправили, было: “Ответь окей, не открывай никакие файлы”. Оказывается,
00:01:07эта инструкция не имеет значения, так как Grok все равно загрузил весь репозиторий. Был
00:01:12POST-запрос, содержащий весь пакет репозитория, и в этом пакете была вся история Git
00:01:16и даже переменные окружения. Именно это меня так возмущает: да, мы все знаем, что при
00:01:21использовании удаленной модели код будет отправляться на серверы, но обычно есть допущение,
00:01:26что отправляется только тот код, который действительно нужно прочитать, а не вся кодовая база,
00:01:30даже если это не относится к промпту. Они даже показали, что это работало, когда репозиторий весил 12 гигабайт:
00:01:35он все равно загружает все целиком. Тестирование других инструментов, таких как Claude Code, Codex и Gemini,
00:01:40показывает, что они отправляют только те файлы, которые читают. Это уникальная проблема Grok CLI. Они даже обнаружили,
00:01:45что если выключить настройку “помочь улучшить эту модель”, он все равно делает это, и извлекая пользовательские
00:01:51данные, что на самом деле был флаг под названием trace_upload_enable, который всегда был установлен в true. Теперь все
00:01:55эти твиты и этот пост стали вирусными, так как же отреагировала xAI? Ну, сначала они сделали небольшое
00:02:01тихое исправление: если попробовать снова через день после того, как пост стал вирусным, настройки показывали,
00:02:05что флаг trace_upload теперь отключен, и появился новый под названием disable_codebase_upload,
00:02:10который был установлен в true, по-видимому, для всех аккаунтов, так что они на самом деле сделали серверный выключатель
00:02:14для загрузки кода. Вскоре после этого они также публично ответили в Twitter: “Мы глубоко заботимся
00:02:19о вашей конфиденциальности и уважаем выбор клиентов. Для команд, использующих политику нулевого хранения данных, никакие трассировки и
00:02:24данные кода не сохраняются. Любое использование API-ключа для Grok также соблюдает политику нулевого хранения данных. Если нулевое
00:02:30хранение данных отключено, в CLI доступна команда /privacy, чтобы отключить хранение данных,
00:02:36которая также удаляет ранее синхронизированные данные. Запустите команду /privacy, чтобы просмотреть или изменить свои
00:02:40настройки в любое время”. Илон также написал в твиттере, что в качестве меры предосторожности все пользовательские данные, которые были
00:02:45загружены в space xAI к настоящему моменту, будут полностью и безвозвратно удалены. Вообще ничего не
00:02:51останется. Но вы также просили в другом твите, чтобы эту настройку оставили включенной, так как она на самом деле полезна
00:02:55для отладки проблем, если они могут сохранять некоторое количество данных, во что я могу поверить, если бы мы просто
00:03:00говорили о трассировках, это довольно распространенная практика, но загрузка целого репозитория на их серверы —
00:03:05ни один из этих ответов не затрагивает эту часть. А новое обновление Grok CLI просто добавило команду /privacy,
00:03:10но стоит отметить, что это обновление на самом деле не удалило код, который загружает весь ваш
00:03:14репозиторий. Вы все еще можете найти его в бинарном файле, так что, похоже, единственное, что мешает этому
00:03:18включиться снова, — это серверный флаг, который контролируется xAI. Мне просто кажется, что этого кода
00:03:23не должно там быть, так как никакой другой инструмент его не использует. Плюс, если мы взглянем на новую команду /privacy, она
00:03:28на самом деле просто отключает трассировки и переключает серверный тумблер под названием “отказ от сохранения данных кодирования”.
00:03:33И тот же исследователь на самом деле проанализировал эту команду и показал, что локально она ничего не делает: ваши
00:03:38трассировки сессий все равно полностью отправляются в xAI, независимо от того, включена она или выключена, и единственная разница в
00:03:43том, как сервер отвечает: если она выключена, он отвечает “200”, что означает, что данные сохранены,
00:03:48а если режим конфиденциальности включен, он просто возвращает “204”, чтобы сказать: “нет контента, данные были отброшены”.
00:03:53Так что это на самом деле только переключатель хранения на стороне сервера, и он не блокирует это на стороне клиента, поэтому
00:03:58вы все равно передаете всё, вам просто нужно доверять, что серверы xAI действительно собираются
00:04:02отбросить их вместо сохранения. Даже если бы я доверял xAI, становится еще хуже, потому что эта команда /privacy
00:04:07— это на самом деле тумблер хранения для каждой сессии, так что вам, возможно, придется переключать его в каждой сессии, чтобы сохранить
00:04:12свои данные в безопасности. Это кажется мне невероятно нелогичным, но именно в такой ситуации мы сейчас находимся. Если вы использовали
00:04:17Grok CLI в прошлом и хотите узнать, что могло утечь с вашего компьютера, вы можете проверить свои
00:04:21логи. Эта команда grep показывает вам точно, какие сессии спровоцировали загрузку. Если вы относитесь к безопасности
00:04:26серьезно, вы, вероятно, захотите сменить все те ключи, если это покажет, что некоторые
00:04:30из этих данных были отправлены, если только вы полностью не доверяете тому, что xAI удалила все это. Наконец, если вы хотите
00:04:35сохранить некоторое подобие конфиденциальности, продолжая использовать Grok CLI, хотя я бы, наверное, не рекомендовал этого,
00:04:40тут есть очень хорошее руководство о том, как можно усилить защиту Grok CLI, и оно показывает вам, где
00:04:44установить такие параметры, как disable_codebase_upload в вашем конфиге, что должно жестко остановить этот конвейер загрузки.
00:04:49Такая вот история: почему-то Grok загружал весь ваш репозиторий, даже когда это было не нужно, и они
00:04:53по-видимому, удалили все эти данные сейчас и отказались от этой функции. Но я хочу знать: вы
00:04:58доверяете им, и будете ли вы использовать Grok CLI в дальнейшем теперь, когда знаете это? Дайте мне знать в
00:05:02комментариях ниже. Погодите, подпишитесь, и, как всегда, увидимся в следующем видео.