Claude Code скрытая проверка: что откатывает Anthropic

Anthropic откатывает скрытую проверку Claude Code: что нашли в CLI, зачем ловили реселлеров и чем это опасно для доверия разработчиков.

Claude Code скрытая проверка: скриншот официальной страницы Claude Code Docs Overview
Официальная страница Claude Code Docs: инструмент читает кодовую базу, редактирует файлы и запускает команды. Скриншот проверен 1 июля 2026 года. Источник: Claude Code Docs / Anthropic.

Факты проверены 1 июля 2026 года. В Claude Code нашли скрытую проверку, которая, по сообщениям The Decoder и автора Reddit-разбора, помечала часть пользователей с китайским часовым поясом или китайским proxy. Сигнал якобы передавался не отдельным видимым логом, а через малозаметные изменения в системном prompt: другой формат даты и похожие, но технически разные символы апострофа.

Anthropic не стала спорить с самим существованием эксперимента. Сотрудник команды Claude Code Тарик Шихипар написал в X, что это был эксперимент против злоупотреблений со стороны неавторизованных реселлеров и против distillation abuse, а соответствующий PR на откат уже merged и должен выйти в следующем релизе. Редакционно это не стоит называть доказанным spyware, но для инструмента с доступом к репозиторию, shell и корпоративному коду история всё равно неприятная.

Короткая формула для поискового интента такая: Claude Code скрытая проверка - это обнаруженный в CLI механизм, который, по утверждению исследователя, кодировал признаки региона и proxy в системном prompt. Спор не только про Китай. Он про то, может ли разработчик доверять закрытому AI coding agent, если клиентский инструмент передаёт дополнительные сигналы способом, который обычный пользователь не видит.

Что именно обнаружили

Поводом стал пост пользователя LegitMichel777 в r/ClaudeAI. Автор пишет, что изучал Claude Code 2.1.196 после отключения Remote Control при proxy и нашёл логику, которая существовала, по его словам, с версии 2.1.91. Официальный changelog подтверждает, что Claude Code 2.1.91 вышел 2 апреля 2026 года, но в релиз-нотах этой версии перечислены MCP, deep links, transcript fixes, plan mode и другие изменения, а региональная проверка там не упоминается.

По описанию Reddit-разбора и The Decoder, проверка срабатывала при активном proxy и смотрела на два типа признаков: системный часовой пояс Asia/Shanghai или Asia/Urumqi, а также китайские домены, URL proxy и признаки китайской AI-лаборатории. Дальше результат кодировался в системном prompt. Если часовой пояс выглядел китайским, дата могла перейти из формата 2026-06-30 в 2026/06/30. Для разных proxy-сигналов менялся символ апострофа в строке про сегодняшнюю дату.

Это называют стеганографией: сигнал прячется в обычном на вид тексте. Для человека символы почти неотличимы, но сервер может прочитать их однозначно. Автор Reddit-поста также утверждает, что часть строк была XOR-обфусцирована с ключом 91, чтобы их сложнее было найти простым поиском по бинарнику. Toolarium не воспроизводил reverse engineering бинарника, поэтому эту часть корректно считать техническим утверждением автора разбора, а не нашей независимой экспертизой.

Что говорит Anthropic

В публичной реакции, которую цитируют The Decoder, Techmeme и другие агрегаторы, Шихипар описал механизм как мартовский эксперимент. Заявленная цель: остановить злоупотребление аккаунтами через неавторизованных реселлеров и защититься от дистилляции. По его словам, с тех пор команда внедрила более сильные меры и давно собиралась убрать старую проверку.

Контекст у Anthropic действительно есть. В феврале 2026 года компания опубликовала отдельный материал о distillation attacks: по её данным, DeepSeek, Moonshot и MiniMax сгенерировали более 16 млн обменов с Claude примерно через 24 000 мошеннических аккаунтов. Anthropic также пишет, что не предоставляет коммерческий доступ к Claude в Китае по соображениям национальной безопасности, а лаборатории обходят ограничения через proxy-сервисы и сети аккаунтов.

Эта линия объясняет мотив, но не закрывает вопрос прозрачности. Одно дело - серверная антифрод-система, rate limits, верификация аккаунтов и блокировка proxy-сетей. Другое - скрытый маркер внутри prompt, который пользователь не согласовывал и в обычном интерфейсе не увидит. Для разработчика разница не философская: Claude Code работает рядом с кодом, ключами, локальными файлами и командами shell.

Почему скрытый prompt-сигнал опасен для доверия

У Claude Code высокий кредит доверия по самой природе продукта. Официальная документация описывает его как agentic coding tool, который читает codebase, редактирует файлы, запускает команды и работает с терминалом, IDE, desktop app и браузером. Мы уже разбирали соседний технический слой в материале про source map Claude Code: часть рисков таких инструментов живёт не в модели, а в клиенте, system prompt, permissions и hooks.

Именно поэтому скрытый канал выглядит хуже, чем обычная telemetry. Telemetry можно описать в документации, дать переменную окружения для отключения, показать поля в логах и включить в enterprise-политику. Prompt-маркер труднее аудировать: он проходит через тот же канал, что и рабочий контекст модели, а его смысл зависит от соглашения между клиентом и сервером.

Что проверялось Зачем это могло быть нужно Почему это риск для разработчика
Часовой пояс Asia/Shanghai или Asia/Urumqi Понять, похож ли пользователь на обход регионального доступа. Часовой пояс сам по себе слабый сигнал: он может задеть легитимных пользователей, командировки, VM и удалённые среды.
Proxy URL, домены и признаки китайских AI-лабораторий Найти реселлеров, gateway и массовые distillation-сценарии. Proxy часто используют не только нарушители, но и компании с внутренними шлюзами, compliance и сетевой сегментацией.
Формат даты и похожие символы апострофа в системном prompt Передать серверу машинно-читаемый маркер без отдельного поля. Пользователь видит обычный текст, но не видит служебный смысл сигнала. Это ломает ожидание аудируемости.
Скриншот страницы Claude Code Docs Data usage с политикой обучения данных для consumer и commercial users
Официальная документация Claude Code отдельно описывает data usage, data retention, telemetry и feedback. Скриншот проверен 1 июля 2026 года. Источник: Claude Code Docs / Anthropic.

Где проходит нормальная граница защиты

Anthropic вправе защищать свои модели от незаконной дистилляции. Дистилляция сама по себе нормальная техника: менее сильную модель обучают на выходах более сильной. Но когда конкурент массово собирает ответы закрытой модели через подставные аккаунты, это уже конфликт с правилами доступа и IP-защитой. Мы писали об этом в разборе ограничений Meta на Claude Code и Codex: крупнейшие AI-компании всё чаще относятся к ответам моделей как к стратегическому сырью.

Нормальная граница защиты держится на явных механизмах. Например: Terms of Service, аккаунтная верификация, server-side abuse detection, лимиты, risk scoring, публичная документация по telemetry, enterprise-настройки и журналы. Если клиентский CLI добавляет скрытый сигнал в prompt, пользователи вправе спросить три вещи: что именно собиралось, сколько времени это работало и какие ещё служебные маркеры есть в запросах.

Официальная документация Claude Code уже показывает, как можно делать это прозрачнее. На странице Data usage Anthropic пишет, что commercial users по Team, Enterprise, API и другим коммерческим условиям не используются для обучения генеративных моделей, если клиент сам не выбрал программу улучшения. Там же указаны retention-сроки, локальное хранение transcript под ~/.claude/projects/, operational metrics, Sentry и способы отключения части несущественного трафика.

Что это меняет для команд, которые используют AI coding agents

Главный вывод для команды разработки: доверие к AI coding agent нельзя строить только на репутации вендора. Нужны свои guardrails. Если Claude Code или похожий инструмент работает в чувствительном репозитории, стоит отдельно решить, какие директории он может читать, какие команды запускать, какие proxy и gateway разрешены, где хранятся transcripts и кто видит telemetry.

Официальная страница Security у Anthropic говорит, что Claude Code по умолчанию работает с read-only permissions, запрашивает явное разрешение на редактирование файлов, тесты и команды, а Bash-команды, которые могут менять систему, требуют approval. Но там же ответственность частично лежит на пользователе: нужно проверять предлагаемые команды, не отдавать недоверенный контент напрямую агенту и использовать VM или dev containers для более рискованных сценариев.

Скриншот страницы Claude Code Docs Security с разделом Permission-based architecture
Claude Code заявляет permission-based architecture: чтение по умолчанию, отдельные разрешения на действия и approval для опасных команд. Скриншот проверен 1 июля 2026 года. Источник: Claude Code Docs / Anthropic.

Практический минимум для компаний после этой истории:

  • закрепить Claude Code и другие coding agents за dev containers или VM для чувствительных проектов;
  • запретить авторазрешения на shell-команды, которые трогают сеть, секреты, home directory и CI-конфиги;
  • вести allowlist/denylist команд и MCP-серверов в version control, а не в личных настройках разработчика;
  • проверить, какие переменные отключают telemetry, error reporting, feedback survey и несущественный сетевой трафик;
  • обновить внутренний security review: отдельный пункт для скрытых prompt-маркеров, gateway и vendor-side policy enforcement.

У этой темы есть связь с рабочими привычками. В материале про workflow Бориса Черни в Claude Code видно, насколько глубоко инструмент встраивается в разработку: долгие сессии, параллельные агенты, hooks, permissions, проверка результата. Чем удобнее агенту работать «как члену команды», тем строже должен быть аудит его канала связи.

Что пока не доказано

Нужно отделить подтверждённое от недоказанного. Подтверждено: есть публичный Reddit-разбор с техническими деталями; The Decoder опубликовал новость 1 июля; сотрудник Claude Code объяснил механизм экспериментом против реселлеров и distillation abuse; официальный changelog показывает версию 2.1.91 от 2 апреля без упоминания региональной проверки; в документации Claude Code есть отдельные разделы про data usage, telemetry, feedback и security permissions.

Не доказано публично: сколько пользователей реально было затронуто, что сервер делал с маркером, попадал ли сигнал в долгосрочные логи, была ли эта логика в других продуктах Anthropic и полностью ли откат уже вышел в установленную у пользователей версию. Без постмортема Anthropic на эти вопросы нельзя отвечать за компанию.

Поэтому сильный вывод другой: скандал с Claude Code - не повод кричать, что любой закрытый coding agent вредоносен. Это повод требовать проверяемости. Если вендор хочет, чтобы разработчики давали агенту репозиторий, shell и корпоративный контекст, скрытые служебные сигналы должны быть исключением с публичным объяснением, а не способом тихо решать антифрод-задачи.

Источники

Telegram-канал @toolarium