Claude Code стеганография: скрытый Unicode-отпечаток Anthropic (2026)
В конце июня 2026 reverse engineering Claude Code (не веб-приложения) выявил: при прокси (ANTHROPIC_BASE_URL ≠ api.anthropic.com) строка Today's date is... в системном промпте переписывалась текстовой стеганографией — разделитель даты и Unicode-апостроф кодируют китайский часовой пояс и совпадения прокси. Anthropic удалил код в 2.1.197. Статья разделяет событие A (Native Messaging Desktop) и B, даёт таблицу Unicode, объясняет base64+XOR(91), дебаты HN и runbook из 5 шагов.
Содержание
I. Боли: три риска доверия для разработчиков
- Два события смешаны: медиа путают Claude Desktop (апрель, Native Messaging) и Claude Code (июнь, стеганография промпта) — это бьёт по E-E-A-T и ведёт к неверным мерам защиты.
- Невидимая классификация: согласно отчёту о reverse engineering U+2019/U+02BC/U+02B9 в
Today'sкодируют китайские домены, ключевые слова AI-лабораторий и часовой поясAsia/Shanghai— без согласия и раскрытия. - Слепота в production: кто настраивает
ANTHROPIC_BASE_URLна OpenRouter, SiliconFlow или внутренние gateway, запускает событие B; облачный API на Linux VPS без аудита создаёт compliance-риски.
II. Событие A vs B — два отдельных инцидента
| Измерение | Событие A: Native Messaging | Событие B: стеганография промпта |
|---|---|---|
| Продукт | Claude Desktop (macOS) | Claude Code (CLI) |
| Источник | Alexander Hanff (*The Register*, апрель 2026) | Reverse на thereallo.dev (30 июня 2026) |
| Поведение | Тихо пишет com.anthropic.claude_browser_extension.json в Chrome/Edge/Brave/Arc/Vivaldi/Opera — 3 ID расширений вызывают chrome-native-host вне sandbox; файл возвращается после удаления | При прокси: стеганография в Today's date is... |
| Триггер | Установка/запуск Claude Desktop | Только если ANTHROPIC_BASE_URL ≠ api.anthropic.com |
| Метка | Spyware / backdoor (по обвинениям) | Prompt steganography / covert channel |
| Anthropic | Нет формального ответа; позже добавлен переключатель авторизации | Код признан, удалён в 2.1.197, changelog молчит |
Согласно отчётам независимый консультант Noah Kenney (Digital 520) подтвердил технические утверждения Hanff по событию A. Antiy Labs опубликовала анализ рисков браузерного канала.
III. Как работает стеганография
Условие: согласно reverse engineering событие B срабатывает только если ANTHROPIC_BASE_URL указывает на прокси, gateway или OpenAI-совместимый слой — не на api.anthropic.com.
Два изменения в безобидной строке даты:
- Разделитель даты: при часовом поясе
Asia/ShanghaiилиAsia/Urumqi2026-06-30становится2026/06/30. - Замена апострофа: символ в
Today'sзаменяется визуально идентичными Unicode-вариантами.
Списки доменов и ключевых слов обфусцированы через base64 + XOR(91) — около 147 правил доменов, ключевые слова: deepseek, moonshot, zhipu, minimax, baichuan, stepfun, 01ai.
IV. Таблица Unicode-mapping
| Обнаруженное условие | Формат даты | Апостроф | Unicode |
|---|---|---|---|
| По умолчанию (нет совпадений) | 2026-06-30 | ' ASCII | U+0027 |
| Домен org/реселлера, связанный с Китаем | 2026-06-30 | ' right single quote | U+2019 |
| Ключевое слово AI-лаборатории | 2026-06-30 | ʼ modifier letter apostrophe | U+02BC |
| Домен + лаборатория одновременно | 2026-06-30 | ʹ modifier letter prime | U+02B9 |
| + китайский часовой пояс | 2026/06/30 | (как выше) | — |
Простыми словами: промпт выглядит нормально — backend читает из апострофа и разделителя, сидит ли пользователь за VPN, но в китайском часовом поясе и вероятно привязан к AI-лаборатории. Классический covert channel.
V. Мотив: anti-distillation — цель vs метод
Консенсус сообщества (осторожно сформулирован): цель — anti-distillation и обнаружение несанкционированной перепродажи. Anthropic, OpenAI и Google неоднократно предупреждали о distillation; прокси и лаборатории, связанные с Китаем, — приоритетные подозреваемые.
На Hacker News тред достиг согласно отчётам 350+ points и 100+ комментариев, разделившись между «разумной anti-distillation defense» и «поведением близким к malware для dev-tool».
Согласно отчётам Anthropic признал код и удалил его 1 июля 2026 в версии 2.1.197 — без упоминания в changelog.
VI. Дебаты о spyware — более точная формулировка
- Событие A: ближе к несанкционированному вмешательству в ПО третьих лиц + заранее подготовленной attack surface вне sandbox. По данным Anthropic: prompt injection Claude for Chrome 23,6 % (без mitigation) / 11,2 % (с mitigation).
- Событие B: ближе к нераскрытой телеметрии / скрытой классификации пользователей.
Ключевая проблема в обоих случаях: нет информированного согласия, намеренно скрыто.
VII. Жёсткие факты (цитируемые)
- Обфускация: списки доменов base64 + XOR-ключ 91, около 147 правил.
- Версии: код проверен в 2.1.193 / 2.1.195 / 2.1.196; удалён в 2.1.197.
- HN: 350+ points, 100+ комментариев; Reddit → HN как усилитель.
- Часовые пояса:
Asia/Shanghai,Asia/Urumqi→ разделитель/.
VIII. Runbook из 5 шагов: проверка и защита
- Проверить ANTHROPIC_BASE_URL: только пользователи прокси запускают событие B. Использовать официальный endpoint или явно документировать.
- Claude Code ≥ 2.1.197: принудительное обновление; проверять версию в CLI, не только changelog.
- Инспектировать системный промпт: апостроф в
Today'sна U+0027/U+2019/U+02BC/U+02B9 (Unicode-inspector или hex). - Событие A — Native Messaging: искать
com.anthropic.claude_browser_extension.jsonв~/Library/Application Support/<браузер>/NativeMessagingHosts/; Claude Desktop может пересоздать. - Enterprise: desktop-агенты как программы с высокими привилегиями — least privilege, явная авторизация, аудируемые логи на выделенных хостах.
IX. Что это значит для доверия к AI-вендорам
Урок не в «одном апострофе», а в том, что когда возможности моделей опережают границы безопасности и аудита, вендоры пересекают границы доверия во имя UX или борьбы с злоупотреблениями. Облачный API на generic Linux VPS даёт колебания цен, незаметные манипуляции промптом и отсутствие изоляции Apple toolchain. Self-hosted gateway на GPU VPS добавляет отладку CUDA и недокументированное поведение вендора.
Для аудируемого production Claude Code / Agent с Xcode, Cursor и launchd 7×24 выделенный Mac cloud VPSMAC M4 часто стабильнее: нативный macOS stack, изолированные API keys, JSONL-логи — чтобы proxy routing и аудит промптов оставались воспроизводимыми, а не исчезали в невидимых Unicode-битах.
X. FAQ
Является ли Claude Code шпионским ПО?
Не в классическом смысле, но согласно reverse engineering содержал нераскрытый отпечаток — удалён в 2.1.197. Точнее: covert channel, не trojan для кражи данных.
Отслеживает ли Claude Code мой часовой пояс?
Согласно отчёту только при proxy base URL; проверяет Asia/Shanghai и Asia/Urumqi для разделителя даты.
Что за трюк с апострофом?
U+0027, U+2019, U+02BC, U+02B9 кодируют совпадения domain/lab — см. таблицу выше.
Зачем Anthropic это сделал?
Вероятно anti-distillation и anti-reselling — легитимная цель, нелегитимно скрытая реализация.
Это та же история про spyware Claude Desktop?
Нет — событие A (апрель, Hanff) vs событие B (июнь, thereallo.dev).
Какие версии были затронуты?
2.1.193–2.1.196 согласно reverse engineering; fix в 2.1.197 без записи в changelog.
XI. Источники
- The Register — Claude Desktop меняет права ПО без согласия (апрель 2026)
- Malwarebytes, gHacks, YOOTA — Claude Desktop Native Messaging
- thereallo.dev — оригинальный reverse engineering стеганографии промпта
- Tech Startups, TMC Insight, Developers Digest, TechTimes — событие B, fix 2.1.197
- Antiy Labs — анализ риска браузерного канала
- Hacker News — дебаты anti-distillation vs этика dev-tool