Разработчик, проводивший обратную разработку бинарного файла Claude Code от Anthropic, обнаружил 30 июня 2026 года, что этот инструмент как минимум три месяца незаметно встраивал скрытые сигналы в системные запросы своей ИИ-системы. Это делалось для тайного выявления пользователей, чьи запросы маршрутизировались через прокси, связанные с Китаем, или инфраструктуру ИИ-лабораторий, с последующей пометкой этой информации о маршрутизации внутри невидимых символов Unicode, выглядящих как обычная пунктуация. Anthropic признала наличие кода и заявила, что будет выпущена новая версия для его удаления. Эта версия, 2.1.197, была опубликована рано утром в среду, хотя в официальном списке изменений об удалении стеганографического кода не упоминалось.
Этот инцидент стал последним в череде нераскрытых технических решений, которые поставили Anthropic — компанию, позиционирующую себя как альтернативу менее принципиальным ИИ-лабораториям, ставящую безопасность на первое место, — в противоречие с сообществом разработчиков, от доверия которого она зависит. Инструмент, имеющий доступ к исходным репозиториям и разрешение на выполнение системных команд, несет более высокую обязанность по прозрачности, чем чат-интерфейс. По мнению разработчиков, Anthropic поступила наоборот.
Что на самом деле делал этот код
Механизм отслеживания Claude Code работал по четырехэтапному конвейеру, который активировался только тогда, когда пользователь направлял свои запросы через пользовательский конечный IP-адрес, а не через собственные серверы Anthropic. Когда переменная окружения ANTHROPIC_BASE_URL указывала на что-либо, кроме api.anthropic.com, клиент извлекал имя хоста прокси, считывал системный часовой пояс пользователя и сопоставлял оба значения с двумя скрытыми, обфусцированными списками.
Первый список содержал 147 записей, охватывающих китайские корпоративные сети, регионы китайской облачной инфраструктуры, китайские ИИ-лаборатории и длинный каталог сервисов-посредников или зеркальных сервисов API Claude. Второй список содержал одиннадцать строковых ключевых слов ИИ-лабораторий, включая deepseek, moonshot, minimax, zhipu, baichuan, stepfun и dashscope. Оба списка хранились в бинарном файле в виде строк, закодированных в base64, и декодировались во время выполнения с использованием XOR с ключом 91 — метод, который чаще ассоциируется с обфускацией вредоносного ПО от инструментов статического анализа, чем с производственным программным обеспечением, распространяемым среди разработчиков.
Полезная нагрузка этого процесса обнаружения заключалась не в отдельном поле телеметрии. Это была строка «Today’s date is…» («Сегодняшняя дата —…»), которую Claude Code вставлял в каждый системный запрос. Клиент изменял две вещи в этом предложении. Разделитель даты менялся со стандартного дефиса (2026-06-30) на слэш (2026/06/30), если системный часовой пояс пользователя был установлен как Asia/Shanghai или Asia/Urumqi. Апостроф в слове “Today’s” переключался между четырьмя визуально идентичными символами Unicode — стандартным ASCII-апострофом, правым одинарным кавычкой (U+2019), модифицирующим буквенным апострофом (U+02BC) и модифицирующей буквенной штрихом (U+02B9) — для кодирования того, соответствовал ли прокси-хост известному списку доменов, соответствовал ли он списку ключевых слов ИИ-лабораторий, обоим или ни одному.
В результате получался скрытый трехбитный отпечаток, встроенный в то, что выглядело как временная метка, передаваемый с каждым затронутым системным запросом. Читатель, просматривающий отображаемый текст, видел дату и апостроф. Сырые байты сообщали Anthropic нечто иное.
Независимый исследователь, обнаруживший этот механизм, опубликовал полный технический анализ с кодом на уровне функций, извлеченным из бинарного файла. Отдельный отчет о верификации, размещенный на GitHub, подготовленный исследователем безопасности Аднаном Ханом, подтвердил этот механизм в версиях Claude Code 2.1.193, 2.1.195 и 2.1.196 и назвал его «скрытым каналом информации, встроенным в системные запросы», добавив, что это утверждение «подтверждено как истинное во всех существенных деталях».
Скрытый канал внутри инструмента, который уже имеет ваш исходный код
Техническая находка немедленно привлекла внимание не только из-за того, что она делала, но и из-за того, где она работала. Claude Code — это не веб-чат-бот. Это агент командной строки, который, согласно собственной документации Anthropic, имеет разрешения на чтение файлов, выполнение системных команд и редактирование файлов. Anthropic опубликовала инженерные заметки, описывающие, как усталость от одобрений приводит к тому, что пользователи предоставляют большинство запросов на разрешения, и задокументировала примеры серьезных сбоев в работе Claude Code — удаление удаленных git-веток, загрузка токенов аутентификации и попытки миграции против работающих производственных баз данных.
Разработчик, использующий Claude Code, предоставляет ему такой уровень доступа к своим системам, которого нет у окна чата. Скрытый канал работал в этом контексте доступа. Исследователи и комментаторы быстро указали на асимметрию: раскрытую телеметрию разработчики могут оценивать, блокировать или одобрять. Модификация невидимых символов запроса — это то, что разработчики не могут проверить без обратной разработки бинарного файла.
В проблеме GitHub #72518, поданной в репозиторий anthropics/claude-code 30 июня 2026 года, был задан прямой вопрос: «Почему это было скрыто? Что именно выводится? Какие версии затронуты? Кто может декодировать эти сигналы запросов? Могут ли пользователи проводить аудит или отключать это? Будет ли это удалено или задокументировано? Защита интеллектуальной собственности модели не оправдывает тайное отслеживание машин разработчиков».
Почему Anthropic, вероятно, это создал
Исследователи безопасности и комментаторы-разработчики в основном сошлись во мнении о том, что послужило причиной существования этого механизма: Anthropic пыталась обнаружить несанкционированное использование своей модели, в частности, кампании по «атаке дистилляции», которые она публично документировала четырьмя месяцами ранее.
В феврале 2026 года Anthropic сообщила, что три китайские ИИ-лаборатории — DeepSeek, Moonshot AI и MiniMax — совместно выполнили более 16 миллионов сеансов связи с Claude через примерно 24 000 мошеннических учетных записей, используя результаты для обучения конкурирующих моделей. В июне 2026 года Anthropic отдельно сообщила законодателям, что лаборатория Qwen от Alibaba осуществила то, что компания назвала крупнейшей известной атакой дистилляции на ее модели на сегодняшний день. Компания заявила Конгрессу, что эта практика равносильна проблеме национальной безопасности, а не спору о соблюдении условий обслуживания.
Пользовательский ANTHROPIC_BASE_URL, указывающий на домен из известной китайской ИИ-лаборатории, в сочетании с китайским часовым поясом — это правдоподобный сигнал того, что пользователь направляет запросы Claude через инфраструктуру лаборатории в целях дистилляции. Логика может быть обоснованной. Исполнение — нет. Как написал независимый исследователь, впервые задокументировавший этот механизм, инструменты для разработчиков могут обеспечивать соблюдение условий, поставщики API могут обнаруживать злоупотребления, а компании могут защищать свои модели — но правильная реализация заключается в раскрытии информации, а не в невидимой пунктуации.
Механизм также не справляется со своей заявленной целью. В отчете независимой проверки отмечалось, что обход тривиален: изощренный злоумышленник может изменить имя хоста прокси, настроить параметр часового пояса, пропатчить бинарный файл или обернуть процесс. Любой серьезный конвейер дистилляции легко обойдет этот контроль за секунды. Население, которое он надежно охватывает, — это не враждебные китайские ИИ-лаборатории. Это легитимные разработчики, которые используют корпоративные API-шлюзы, локальные маршрутизаторы моделей, сторонние прокси для управления затратами или исследовательскую инфраструктуру.
Проблема прозрачности Anthropic больше, чем один бинарный файл
Этот инцидент не единичный. В мае 2026 года исследователь безопасности Аонань Гуань сообщил, что сетевая песочница Claude Code содержала уязвимость внедрения нулевого байта в SOCKS5-хост примерно в 130 выпусках и около пяти с половиной месяцев, с момента запуска песочницы в октябре 2025 года по апрель 2026 года. Anthropic устранила эту ошибку, не опубликовав бюллетень по безопасности, не присвоив идентификатор Common Vulnerabilities and Exposures продукту Claude Code и не уведомив пользователей. Вердикт Гуаня: «Выпуск песочницы с дырой хуже, чем не выпускать ее вообще. Пользователь без песочницы знает, что у него нет границ. Пользователь со сломанной песочницей думает, что они есть».
Это был второй обход песочницы, а не первый. Более ранняя ошибка — из-за которой песочница интерпретировала пустой список разрешений как «разрешить весь трафик», а не «заблокировать весь трафик» — также была устранена молча. Две отдельные уязвимости обхода песочницы, обе устранены без CVE, без бюллетеней, без уведомления пользователей.
В июне 2026 года запуск Claude Fable 5 от Anthropic вызвал отдельную волну критики после того, как выяснилось, что компания незаметно перенаправляла помеченные запросы на более слабую модель, вместо того чтобы сообщить о понижении запрошенной пользователем возможности. Anthropic принесла извинения и добавила видимые индикаторы отката, но шаблон уже был задокументирован: когда инструменты Anthropic ведут себя не так, как ожидают пользователи, информация об этом исходит извне компании, а не от нее самой.
Стеганографическое отслеживание точно вписывается в этот шаблон. Оно было обнаружено разработчиком, проводившим рутинную проверку конфиденциальности своей локальной установки — не было объявлено, не задокументировано ни в каких списках изменений, не упоминалось ни в одном списке изменений, начиная с версии 2.1.91.
Что разработчикам следует сделать прямо сейчас
Обновитесь до версии Claude Code 2.1.197. Она была опубликована в реестре npm рано утром 1 июля 2026 года. Подтвердите обновление с помощью команды claude –version. Поскольку официальный список изменений для 2.1.197 явно не подтверждает удаление стеганографического кода, разработчики, которым нужна уверенность перед обновлением, могут также дождаться явной заметки в списке изменений или публичного ответа Anthropic.
Разработчики, которые сохраняли журналы системных запросов в затронутый период — примерно с 2 апреля 2026 года по 30 июня 2026 года — могут провести их аудит на предмет аномалий в форматировании даты. Любая запись в журнале, где дата в строке «Today’s date is…» использует разделитель-слэш вместо дефиса, была сгенерирована, когда ветвь обнаружения часового пояса была активна.
В более широком смысле, этот инцидент служит напоминанием о том, что агенты для кодирования ИИ занимают иную поверхность угроз, чем браузерные ИИ-инструменты. Claude Code, GitHub Copilot, Cursor, Windsurf и аналогичные инструменты работают с доступом к оболочке, видимостью файловой системы и во многих случаях способностью отправлять коммиты от имени пользователя. Инструмент с таким уровнем разрешений, который незаметно изменяет свое поведение на основе обнаружения клиентской среды, не ведет себя как пассивный помощник. Разработчики должны спрашивать — и продуктовые команды этих компаний должны быть готовы ответить — что еще считывается, кодируется или выводится из окружения и куда эта информация попадает.
Anthropic не выпустила официального публичного заявления, кроме признания в социальных сетях от члена технической команды Claude Code. TechTimes обратилась к Anthropic за официальным комментарием и обновит эту статью после получения ответа.
Часто задаваемые вопросы
Что на самом деле делал скрытый код отслеживания Claude Code?
Когда Claude Code был настроен на использование пользовательского конечного IP-адреса вместо собственных серверов Anthropic, он считывал системный часовой пояс пользователя и извлекал имя хоста прокси, а затем сравнивал их с двумя закодированными списками: один содержал 147 китайских корпоративных доменов, доменов облачных сервисов и ИИ-лабораторий, а другой содержал ключевые слова, такие как “deepseek”, “moonshot” и “minimax”. Результаты кодировались в виде невидимых вариаций символов Unicode внутри строки системного запроса “Today’s date is…” — скрытый канал, который передавал информацию о классификации прокси в Anthropic при каждом запросе без какого-либо уведомления пользователя.
Какие версии Claude Code были затронуты?
Независимый анализ бинарного файла подтвердил наличие механизма как минимум в версиях 2.1.193, 2.1.195 и 2.1.196. Сообщается, что код был добавлен в версии 2.1.91, выпущенной 2 апреля 2026 года. Версия 2.1.197, опубликованная 1 июля 2026 года, — это версия, в которой, по указанию команды Anthropic, механизм должен быть удален, хотя официальный список изменений для этого выпуска пока явно не подтверждает удаление.
Почему Anthropic это добавила и работает ли этот подход на самом деле?
Наиболее правдоподобное объяснение — это обеспечение защиты от дистилляции. Anthropic публично документировала крупномасштабные кампании китайских ИИ-лабораторий — включая DeepSeek, Moonshot AI, MiniMax и Qwen от Alibaba — по извлечению возможностей Claude посредством миллионов мошеннических вызовов API. Обнаружение имен хостов прокси и часовых поясов, связанных с этими лабораториями, является правдоподобным сигналом. Проблема в том, что этот контроль не выполняет свою функцию, подрывая доверие: любой изощренный конвейер дистилляции легко обходит его, изменяя имя хоста или настройки часового пояса, в то время как легитимные разработчики, использующие корпоративные шлюзы, исследовательские прокси или сторонние маршрутизаторы затрат, тайно помечаются.
Что этот инцидент выявляет о том, как следует оценивать агентов для кодирования ИИ?
Он выявляет, что к агенту для кодирования — инструменту с доступом к оболочке, разрешениями на файлы и возможностью отправлять код от имени пользователя — следует применять более высокие стандарты прозрачности, чем к чат-боту. Раскрытая телеметрия — это то, что разработчик может оценить и заблокировать. Скрытое поведение, встроенное в невидимые символы запроса, — нет. Этот инцидент, наряду с двумя ранее нераскрытыми уязвимостями обхода песочницы Claude Code, предполагает, что разработчики должны относиться к бинарному файлу своего агента для кодирования ИИ с тем же вниманием, которое они применяют к любому другому привилегированному системному процессу: внимательно читать списки изменений, проводить аудит того, к каким данным окружения имеет доступ инструмент, и спрашивать у поставщиков, что они с ними делают.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Richard L. Wells




