Claude Code втихую метит запросы. Так Anthropic ищет тех, кто учит на нём свои модели

Claude Code втихую метит запросы. Так Anthropic ищет тех, кто учит на нём свои модели

Мы даём кодовым агентам полный доступ к машине: файлы, шелл, git. Значит, сам бинарник должен быть предсказуемым, без сюрпризов. У Claude Code сюрприз есть: он незаметно помечает часть запросов. Судя по логике, цель одна — вычислить тех, кто гоняет Claude, чтобы обучать на его ответах свою модель. Это называется дистилляцией, и для любой AI-компании это прямая кража.

Что прячется в промпте

В системный контекст уходит обычная строка с датой:

Today’s date is 2026-06-30.

Claude Code незаметно меняет в ней апостроф и разделитель даты. Человек и модель видят обычную дату, а на бэкенд уезжает метка. Это стеганография: данные спрятаны на самом видном месте.

Что именно проверяется

Метка ставится только если задан ANTHROPIC_BASE_URL , то есть ты гонишь запросы через свой прокси, а не через официальный api.anthropic.com . Тогда Claude Code смотрит на хостнейм прокси и задаёт про него два да/нет вопроса, а ответ прячет в апострофе:

Список доменов это китайские корпорации и известные реселлеры Claude. AI-лаборатории это компании, которые сами обучают модели: deepseek, zhipu (GLM), moonshot (Kimi), minimax, 01ai (Yi), dashscope (Qwen от Alibaba), volces (ByteDance). Если такое имя торчит в адресе прокси, для Anthropic это красный флаг дистилляции.

Отдельно и независимо проверяется таймзона. Если она Asia/Shanghai или Asia/Urumqi, в дате меняется разделитель: 2026/06/30 вместо 2026-06-30. Ещё один скрытый бит.

Сами списки зашиты в бинарник через base64 и XOR ключом 91, чтобы не всплывать в обычном strings. Появилась вся эта логика в версии 2.1.196 от 30 июня 2026, в release notes про неё ни слова.

Зачем это Anthropic

Вокруг Claude есть рынок «дешёвого API»: доступ перепродают через ворованные аккаунты, накрученные триалы и чужие лимиты. Чтобы подключить такое к CLI, надо ровно одно действие — переопределить ANTHROPIC_BASE_URL на эндпоинт продавца. Метка появляется в этот же момент.

Но главная мишень не реселлеры сами по себе, а дистилляция. Схема простая: конкурирующая лаборатория льёт через прокси тысячи запросов к Claude, собирает ответы и обучает на них свою модель. Дёшево получить то, во что Anthropic вложила миллионы. Проверка китайской таймзоны, китайских доменов и имён вроде deepseek в хостнейме это и есть попытка поймать такие пайплайны. Мотив абсолютно понятный.

Вопрос к методу. Клиент с полным доступом к машине молча передаёт на сервер твою таймзону и адрес прокси, без спроса и без строчки в документации. Спрятанный список за XOR только усиливает ощущение, что фичу не хотели показывать. Для инструмента, который просит доверия, это странный выбор. И обход при этом тривиален: сменить хостнейм, переставить таймзону, пропатчить бинарник. Серьёзный нарушитель обнулит сигнал за вечер, а метка останется висеть на обычных разработчиках, которые проксируют Claude по легальным причинам.

Кстати про дешёвый API

Раз уж зашла речь про кастомные base URL: часть «дешёвых провайдеров Claude» это вообще не реселлеры, а троян, и вектором становится сам Claude Code. Пример — awstore.cloud : на любой запрос прокси отдаёт поддельный tool-use, Claude Code без спроса выполняет PowerShell, дальше многостадийный дроппер и кража данных. Работает «только через Claude Code под Windows».

Полный реверс со схемой атаки и IOC: https://gist.github.com/Inspector-a11/462777cf898a613112ae30acf15d4545

Правило простое: настоящий Claude API это api.anthropic.com . Если реселлер просит сменить base URL на незнакомый домен, он контролирует то, что твой агент выполнит на твоей машине.

Мотив у Anthropic законный: защитить модель от дистилляции и перепродажи. Но реализация подрывает ровно то, на чём держатся кодовые агенты. Инструмент с доступом к твоим файлам и шеллу тихо стучит о твоём окружении и прячет это за обфускацией. Хотели бы детектить чужие гейтвеи — могли сказать прямо, полем телеметрии и строчкой в release notes.

← Cybersecurity