Claude Code:
скрытый fingerprint
в system prompt
Обвинение: Claude Code кодирует ANTHROPIC_BASE_URL, timezone КНР и reseller-домены невидимыми символами в строке даты. Что это значит для Gateway и multi-vendor.
В конце июня 2026 разработчики обвинили Claude Code в скрытой маркировке маршрута API: клиент якобы кодирует признаки «Китай / прокси / reseller» прямо в строку Today's date is … системного промпта — через невидимые Unicode-символы и формат даты. Обвинение стартовало с Reddit, затем появился технический отчёт на GitHub; материал подхватили International Cyber Digest и независимый разбор Vincent Schmalbach.
Суть: если Claude Code ходит не на api.anthropic.com, а через ANTHROPIC_BASE_URL (корпоративный шлюз, OpenRouter, reseller, IRI Gateway) — в system prompt могут попадать скрытые маркеры timezone и hostname. Anthropic молчит; механизм описан reverse-engineering бандла 2.1.193–2.1.196.
Что именно обнаружили
По отчёту исследователей, логика срабатывает при кастомном API endpoint:
- Читается
ANTHROPIC_BASE_URL. Если переменная пустая или указывает наapi.anthropic.com— обычная строка даты. - Иначе из URL извлекается hostname и сверяется с декодированным списком из ~147 доменов: китайские cloud/AI (Baidu, Alibaba, ByteDance, Moonshot, MiniMax, StepFun и др.) и зеркала/reseller Claude API.
- Параллельно проверяется локальный timezone:
Asia/ShanghaiилиAsia/Urumqi. - Результат кодируется в строку даты в system prompt — без отдельного поля телеметрии.
Версии с упоминанием в отчёте: 2.1.193, 2.1.195, 2.1.196; по словам авторов, похожая логика есть с 2.1.91 (апрель 2026).
Covert channel: как выглядит «невидимая» метка
Ключевая деталь — не отдельный JSON, а правки в тексте, который пользователь не редактирует:
| Сигнал | Как кодируется (по отчёту) |
|---|---|
| Timezone КНР | Разделитель даты: 2026-06-30 → 2026/06/30 |
| Hostname в «известном» списке | Апостроф в «Today's date»: обычный ' vs ’ / ʼ / ʹ |
| AI-lab keyword в домене | Комбинация тех же Unicode-вариантов апострофа |
Между ', ’, ʼ и ʹ глаз не видит разницы — но downstream (Anthropic или прокси) может классифицировать маршрут на каждом запросе.
Почему это не «просто телеметрия»
Вендоры собирают метрики — нормально. Export controls и борьба с несанкционированным resale Claude в Китае после directive Commerce Department — контекст июня 2026 (multi-vendor, дайджест 26.06).
Проблема — метод:
- Документированная телеметрия → можно принять политику, отключить, аудировать.
- Скрытые символы в system prompt → пользователь не видит, что именно уходит в модель.
Claude Code — не чат в браузере. Это агент с доступом к файлам, bash, git. Anthropic сама пишет про риск «approval fatigue» и кейсы, когда агент удалял remote branches или трогал production DB. Доверие к клиенту здесь = доверие к продукту.
Кого это касается в России
Механизм привязан не к «VPN из РФ», а к кастомному base URL + timezone. Практически:
- Claude Code → IRI Gateway (
ANTHROPIC_BASE_URL=https://api-ru.agi-iri.ru/v1) — попадает под условие «не api.anthropic.com». Гайд: Claude Code через Gateway. - Cursor / Cline / OpenRouter с proxy — та же категория.
- Только VPN + официальный Anthropic endpoint — по отчёту, этот code path не активируется.
- Timezone Asia/Shanghai — усиливает сигнал; для Новосибирска/Москвы — другая ветка формата даты.
Мы не знаем, как Anthropic использует маркер на сервере (блок, rate limit, audit, игнор). Но для архитектуры закупки факт важен: клиент может неявно помечать ваш routing.
Связанные известные механизмы Claude Code
Отдельно от «китайского» fingerprint в issue tracker Anthropic обсуждают:
- Attribution block /
cch=в начале system prompt приANTHROPIC_BASE_URL— ломает prompt cache у third-party провайдеров (#68900). CLAUDE_CODE_ATTRIBUTION_HEADER=0— документированный способ убрать attribution; по issue #50085 в новых версиях работает не полностью.- Документация предупреждает: недоверенный LLM proxy может менять prompts и tools (#62383) — симметричный trust argument.
Что делать команде
- Считать gateway доверенным контуром. Свой шлюз с политиками, логами, р/с — не «случайный reseller». Enterprise Gateway.
- Multi-vendor. Не строить dev pipeline только на Claude Code + один upstream. Hedge: GLM, DeepSeek, GPT через тот же API-слой — сравнение frontier.
- Инспектировать system prompt при смене версии Claude Code (mitm своего gateway, debug log) — особенно строку даты.
- Политика секретов. Агент не должен видеть prod credentials независимо от fingerprint — baseline security.
- Следить за ответом Anthropic. Пока это allegation + reverse engineering, не policy document.
На практике
Речь не о «Anthropic зло», а о скрытом канале в system prompt. Кастомный ANTHROPIC_BASE_URL — включая легальный IRI Gateway — теоретически попадает под эту логику. Свой шлюз с логами и р/с, multi-vendor и проверка system prompt после апдейта CLI — не паранойя, а нормальная гигиена на фоне export controls.
Источники: International Cyber Digest · Vincent Schmalbach · Tech Startups
Подключить LLM API для команды?
Запросите счёт на р/с: после оплаты — ключ, баланс и каталог моделей в одном endpoint.