В Claude Code нашли скрытый код, который стеганографией стучал, что вы из Китая. Alibaba забанила тул
Началось с того, что разработчик под ником LegitMichel777 захотел вернуть себе одну отключённую фичу — Claude Code в версии 2.1.196 перестал давать remote control, если включён прокси. Он полез реверсить бинарник. И нашёл там не то, что искал: код, который с апреля 2026 тихо проверяет, не из Китая ли вы — и передаёт ответ Anthropic через невидимые изменения в системном промпте. Через три дня Alibaba классифицировала Claude Code как «высокорисковое ПО» и запретила его сотрудникам.
TL;DR: С версии 2.1.91 (2 апреля 2026) Claude Code при включённом прокси сверяет вашу таймзону с
Asia/ShanghaiиAsia/Urumqi, сканирует URL прокси на китайские домены и AI-лаборатории — и кодирует результат стеганографией в системный промпт: меняет формат даты и подменяет символ апострофа в «Today's date is». Код был заXORен ключом 91, чтобы не светиться в дампе. Anthropic назвала это «экспериментом против ресейла и дистилляции» и выкатила откат. Alibaba всё равно забанила тул с 10 июля и гонит сотрудников на свой Qoder.
Что именно делал код
Механика тонкая до жути. Если у вас включён прокси, Claude Code делает две проверки:
- Таймзона — совпадает ли с
Asia/ShanghaiилиAsia/Urumqi(Синьцзян) - URL прокси — китайский ли это домен, есть ли он в вайтлисте доменов, ведёт ли на китайскую AI-лабораторию
А дальше самое интересное — как результат уходит наружу. Не HTTP-запросом, который видно в перехвате трафика, а стеганографией в системном промпте:
- Китайская таймзона → дата пишется как
2026/06/30вместо2026-06-30 - Китайский домен, но не AI-лаба → апостроф в «Today's date is» становится
’(’) - Не китайский домен, но AI-лаба → апостроф становится
ʼ(ʼ) - И то, и другое →
ʹ(ʹ)
Три разных юникодных апострофа и формат даты — вот и весь канал. Пользователь не видит разницы. Anthropic читает её мгновенно. По словам исследователя, сам код был обфусцирован XOR-шифром с ключом 91, чтобы не всплывать при простом текстовом дампе бинарника. В release notes версии 2.1.91 об этом — ни слова.
Зачем это Anthropic
Официальная версия звучит логично. Anthropic не продаёт модели в Китае — по причинам нацбезопасности. При этом китайские разработчики массово ходят в Claude через иностранные номера и карты, а Anthropic ранее публично обвиняла DeepSeek, Moonshot, MiniMax и Alibaba в дистилляции — обучении своих моделей на выводах Claude. То есть детектор — это попытка ловить несанкционированный ресейл и дистилляцию.
Тхариq Шихипар из команды Claude Code написал в X: это «эксперимент, запущенный в марте, чтобы предотвращать абьюз аккаунтов реселлерами и защищаться от дистилляции». Дескать, с тех пор завезли защиту получше, PR на откат смёржили, и «в завтрашнем релизе это будет полностью убрано». Anthropic подтвердила существование кода и выкатила rollback 1 июля.
Проблема в том, что «зачем» не отменяет «как». Одно дело — заявить о защите IP. Другое — зашить обфусцированный детектор национальности на машину каждого разработчика, который дал Claude Code полный доступ к файловой системе и shell.
Почему это касается лично тебя
Тут легко отмахнуться: «я не из Китая, меня не трогает». Но суть скандала не в том, кого детектили, а в том, что это вообще возможно и было скрыто. Как написал сам автор находки: сегодня это проверка таймзоны, завтра — при таком уровне доступа — может быть RCE, эксфильтрация данных или тихое ухудшение модели для определённых пользователей. Anthropic, напомню, уже ловили на попытке рулить поведением Fable, пока исследователи не ткнули носом.
И вот ещё горькая ирония: детектор, компрометирующий приватность легитимных пользователей, для сколько-нибудь подготовленного противника обходится тривиально — сменил таймзону и прокси, и всё. То есть он и приватность нарушает, и заявленную задачу толком не решает.
Подводные камни
- Полный доступ = полное доверие. Claude Code работает с правами на вашу ФС и shell. Любая скрытая логика в бинарнике — это не «настройка телеметрии», это исполнение чужого кода на вашей машине с вашими правами.
- Rollback ≠ прозрачность. Anthropic убрала код только после того, как его нашли и подняли шум. Полтора месяца («мы давно собирались убрать») он висел в проде необъявленным. Где гарантия, что это единственный такой «эксперимент»?
- Обфускация — это красный флаг сам по себе. XOR-шифрование логики в бинарнике клиентского инструмента не имеет объяснения в терминах «защиты IP модели». IP — это веса на сервере, а не проверка апострофа на клиенте.
- Корпоративные баны пойдут волной. Alibaba — первая, но не единственная: Uber сжёг годовой AI-бюджет за 4 месяца, Microsoft режет лицензии Claude Code части команд, Apple ограничил ChatGPT и Copilot. Governance закручивается, и «тул, который тайно детектит юзеров» — идеальный повод.
Альтернативы
- Qoder — собственный кодинг-ассистент Alibaba на их же моделях, куда сейчас сгоняют сотрудников. Для не-китайских команд смысла мало, но показателен сам факт: у крупного игрока уже есть чем заменить.
- Codex CLI / GPT-5.6 — если нужен ещё один проприетарный агент от западного вендора; те же вопросы к доверию, но без китайского детектора в истории.
- Локальные open-weight модели (Laguna XS 2.1, GLM-5.2, Qwen) в связке с open-source агентами — единственный вариант, где вы физически контролируете, что исполняется: нет сервера вендора, нет скрытых проверок, всё крутится у вас.
Вердикт
Пользоваться Claude Code дальше — окей, код откатили, и как инструмент он по-прежнему один из лучших. Но выводов из истории два, и оба серьёзные. Первый: если вы даёте агенту полный доступ к машине, вы доверяете вендору на уровне «он может сделать что угодно» — и минимум ставьте Claude Code за прокси/контейнер, а на проде мониторьте его трафик. Второй: для регулируемых индустрий и всего, что связано с чувствительным кодом, история — прямой аргумент в пользу локальных open-weight моделей, где нечему быть скрытым по определению.
Что сделать прямо сейчас
- Обновите Claude Code до релиза после 1 июля — детектор откачен именно там:
npm install -g @anthropic-ai/claude-code - Хотите проверить сами: попросите Claude Code или Codex отреверсить свой же бинарник и поискать логику вокруг таймзоны и подмены апострофа (в 2.1.196 это функции
Crt(),Rrt(e),e0t()— имена минифицированы и меняются между релизами) - Запускаете через прокси для смешивания моделей — проверьте, не режется ли у вас remote control, и держите тул в изолированном окружении
- Для чувствительных проектов попробуйте локальный стек:
ollama run laguna-xs-2.1+ терминальный агент — ничего не уходит с машины