ZCode, агент программирования GLM от Z.ai, тайно загружает всю вашу историю Git

✍️ OpenClawRadar📅 Опубликовано: 18 сентября 2026 г.🔗 Source
Ad

ZCode, десктопное приложение для ИИ-программирования от Z.ai — пекинской компании, стоящей за открытыми моделями GLM, — незаметно упаковывает и загружает всё ваше рабочее пространство, когда вы авторизованы. В архив попадают история .git, кэш LFS, reflogs и глобальные конфиги приложения, которые шифруются и отправляются в Aliyun OSS (объектное хранилище Alibaba Cloud). Об этом стало известно из разбора методом обратной разработки, опубликованного 18 сентября 2026 года разработчиком под ником ferstar.

Что именно упаковывается

Манифест упаковки хранится локально в открытом виде. Для одного снимка из 42 411 файлов ferstar зафиксировал зашифрованный архив размером 313 МБ, собранный из рабочего пространства объёмом 345 МБ:

  • .git/lfs/ — 196,1 МБ (56,8%)
  • .git/objects/ — 102,2 МБ (29,6%)
  • .git/logs/ — 0,6 МБ (0,2%)
  • Исходный код и документация — 46,2 МБ (13,4%)

Одна только директория .git составляет 86,6% полезной нагрузки. Хранилище объектов git — это не снимок рабочего дерева, а полная история репозитория. API-ключи, удалённые в последующих коммитах, названия незапушенных веток, внутренние имена хостов и пути к репозиториям из .git/config — всё это там есть. В ходе расследования было зафиксировано 564 неудачные попытки загрузки.

Ключ шифрования хранится только в облаке Z.ai

ZCode использует конвертное шифрование: полезная нагрузка шифруется симметричным ключом, который, в свою очередь, оборачивается открытым ключом RSA-OAEP, полученным от сервера во время согласования учётных данных для загрузки. Соответствующий закрытый ключ есть только в облаке Z.ai. ferstar перепробовал все закрытые ключи в локальной системе, пытаясь развернуть архив, но безуспешно. 313 МБ шифротекста на вашем собственном диске не могут быть расшифрованы ни вами, ни клиентом ZCode.

Ad

Конвейер загрузки, из app.asar

  1. Клиент запрашивает учётные данные у zcode.z.ai, который возвращает подписи форм OSS, ключ объекта, ограничение размера и открытый ключ RSA для текущего раунда.
  2. Клиент упаковывает рабочее пространство в tar.gz, шифрует с помощью AES-256-CTR, оборачивает симметричный ключ.
  3. Клиент отправляет архив напрямую в Aliyun OSS, который через обратный вызов регистрирует снимок в бэкенде Z.ai.

Во время тестирования запущенный клиент поддерживал постоянные соединения с zcode.z.ai и двумя узлами Aliyun OSS.

Настройки в интерфейсе это не останавливают

  • Optimize Experience (optimizeAgentExperienceEnabled) — управляет только тем, авторизованы ли данные для обучения модели. Захват и загрузка снимков продолжаются.
  • Repo Snapshot Indexing (repoSnapshotIndexingEnabled) — управляет только тем, индексирует ли сервер загруженные снимки. Локальная упаковка и загрузка продолжаются.

ferstar обнаружил, что sidecar захвата создаётся безусловно при запуске, без привязки к пользовательским настройкам — единственное требование состоит в том, чтобы поставщик токенов мог сгенерировать действительный JWT. Журналы сессий показали 62 события захвата из одной активной сессии, срабатывавших перед каждым запросом и по завершении задачи.

Путаница, которую стоит назвать

Отчасти это распространилось так широко — 276 000 просмотров поста ferstar, 63 800 просмотров предупреждения FeiZ на китайском языке — потому что люди путают GLM как веса и ZCode как обвязку. Веса открыты. ZCode — закрытый исходный код, и это собственная обвязка Z.ai. Цитата из ответа Petri Kuittinen: «Мой совет был и остаётся: НЕ доверяйте обвязкам ИИ с закрытым исходным кодом». Если вы запускаете GLM локально через Ollama или llama.cpp, вы не используете ZCode. Но если вы установили десктопное приложение, чтобы работать с теми же моделями GLM, то используете.

📖 Читать полный источник: HN AI Agents

Ad

👀 Смотрите также

Инструмент "Плащ" заменяет пароли в чатах на самоуничтожающиеся ссылки для агентов OpenClaw.
Безопасность

Инструмент "Плащ" заменяет пароли в чатах на самоуничтожающиеся ссылки для агентов OpenClaw.

Cloak — это инструмент с открытым исходным кодом, который заменяет пароли, передаваемые в чате агентам OpenClaw, на самоуничтожающиеся ссылки. Каждую ссылку можно открыть только один раз, после чего пароль исчезает, предотвращая накопление паролей в истории чатов.

OpenClawRadar
Мониторинг команд OpenClaw с помощью Python и Gemini Flash для обеспечения безопасности
Безопасность

Мониторинг команд OpenClaw с помощью Python и Gemini Flash для обеспечения безопасности

Пользователь создал скрипт на Python, который отслеживает команды, внедрённые OpenClaw, анализирует их с помощью Gemini Flash и отправляет уведомления через Discord webhook при обнаружении тревожной или необычной активности, что обходится примерно в $0.14 в день.

OpenClawRadar
Основная блокировка файлов для помощников по кодированию на основе ИИ: Практический чек-лист по безопасности
Безопасность

Основная блокировка файлов для помощников по кодированию на основе ИИ: Практический чек-лист по безопасности

ИИ-ассистенты для программирования читают данные с локального диска, а не только из вашего репозитория, раскрывая файлы, которые .gitignore защищает от GitHub, но не от агента. В обсуждении на Reddit определены критически важные файлы для блокировки, включая конфигурации ИИ-ассистентов с API-ключами, учетные данные сервисов, SSH-ключи и файлы окружения.

OpenClawRadar
Уязвимости безопасности обнаружены в образовательном приложении, представленном на Lovable.
Безопасность

Уязвимости безопасности обнаружены в образовательном приложении, представленном на Lovable.

Исследователь безопасности обнаружил 16 уязвимостей в образовательном приложении, представленном на платформе Lovable, включая критические ошибки в логике аутентификации, которые позволили получить доступ к 18 697 пользовательским записям без авторизации. Приложение набрало более 100 000 просмотров в шоукейсе Lovable и имело реальных пользователей из UC Berkeley, UC Davis и школ по всему миру.

OpenClawRadar