Стеганография Claude Code
Как Anthropic метит вас одним апострофом (2026)

TL;DR: конец июня 2026, thereallo.dev реверсит бинарь Claude Code и находит text steganography в system prompt — строка Today's date is... при неофициальном ANTHROPIC_BASE_URL кодирует таймзону и China domain/AI lab hits через разделитель даты и Unicode-апострофы, визуально неотличимые от обычных. Anthropic вырезал код в 2.1.197. Вероятная цель — anti-distillation / anti-resale, но реализация — огонь. Разбираем событие A (Claude Desktop Native Messaging) vs B (Claude Code prompt steganography): Unicode-таблица, 147 правил base64+XOR(91), версии 2.1.193–197, HN 350+ points, injection stats 23,6 %/11,2 %, 6-step runbook, hard data и 8 FAQ.

01

Claude Code = spyware? Два независимых инцидента

Хайп — это два разных, но связанных события. Смешивать их на HN / в security-твиттере — мгновенный минус к E-E-A-T. Разделяем жёстко:

  • A

    Событие A (апрель 2026, Alexander Hanff): после установки Claude Desktop (macOS) приложение, по The Register, без ведома юзера пишет Native Messaging config com.anthropic.claude_browser_extension.json в Chrome, Edge, Brave, Arc, Vivaldi, Opera — три extension ID получают доступ к chrome-native-host вне browser sandbox с полными user privileges. Директории создаются даже без установленного браузера; ручное удаление откатывается рестартом Desktop. Noah Kenney (Digital 520) подтвердил repro; Antiy Labs выпустила risk report. Security-комьюнити: alleged spyware / backdoor.

  • B

    Событие B (30 июня 2026, thereallo.dev): реверс Claude Code — prompt steganography в system prompt. Reddit → Hacker News: тред на frontpage за часы, 350+ points, 100+ комментов.

  • !

    Ключевое отличие: A — Claude Desktop, триггер при install/start. B — Claude Code CLI, только если ANTHROPIC_BASE_URL ≠ api.anthropic.com (proxy/gateway/resale). Anthropic признал код B, убрал 1 июля в 2.1.197 (changelog молчит). По A — официального ответа нет; позже добавили opt-in, permission model по репортам не изменился.

warning

Compliance wording: везде «по репорту / alleged / reverse engineering finding» — не выдавать vendor intent за established fact. Цель (anti-distillation) и средство (steganography) оценивать отдельно.

02

Как работает steganography: Unicode-таблица и 147 правил

Предусловие: ANTHROPIC_BASE_URL указывает на неофициальный endpoint (proxy, gateway, third-party resale, OpenAI-compatible layer). Официальный api.anthropic.com — hands off.

При триггере два действия в безобидной строке Today's date is ...:

  1. 1

    Разделитель даты: при таймзоне Asia/Shanghai или Asia/Urumqi2026-06-302026/06/30.

  2. 2

    Swap апострофа: апостроф в Today's заменяется на визуально идентичные Unicode-символы — encoding hit status.

ДетектФормат датыАпострофUnicode
Default (no hit)2026-06-30' ASCII apostropheU+0027
China institution/reseller domain2026-06-30' right single quotationU+2019
China AI lab keywords (deepseek/moonshot/zhipu/minimax/baichuan/stepfun/01ai и др.)2026-06-30ʼ modifier apostropheU+02BC
Domain + lab одновременно2026-06-30ʹ modifier letterU+02B9
+ China timezone2026/06/30(апостроф-правила как выше)

Списки доменов и keywords: obfuscation base64 + XOR(91), ~147 правил. Реверсеры проверили 2.1.193 / 2.1.195 / 2.1.196 — логика во всех трёх.

« Request выглядит как обычный English prompt — но backend сканирует date separator и Unicode апострофа и тегает тебя в фоне. Классический covert channel. »

Событие A vs B: сравнительная таблица

ИзмерениеA: silent browser injectionB: system prompt steganography
ПродуктClaude Desktop (macOS)Claude Code (CLI)
ИсточникAlexander Hanff / The Registerthereallo.dev → Reddit → HN
Дата2026-04 (с ~18.04.)2026-06-30
ТриггерInstall/start Claude DesktopТолько неофициальный ANTHROPIC_BASE_URL
Лейблspyware / backdoorprompt steganography / covert channel
AnthropicНет официального ответа; позже opt-inКод подтверждён; убран в 2.1.197 (changelog silent)
03

Anti-distillation motive и spyware debate

Консенсус комьюнити (сдержанно): цель = anti-distillation + anti-resale. Anthropic, OpenAI, Google публично бьют тревогу по API distillation. China-related proxies, resellers, labs — prime suspects, отсюда tagging logic.

Цель ок, средства — нет: classification signal сделать невидимым, obfuscate код, вшить в каждый request — для dev-trust tool это red line. HN расколот: «legit anti-distillation defense» vs «malware-adjacent для dev tools».

«Spyware» — эмоциональный лейбл. Точнее:

  • Событие A: «unauthorized third-party software tampering + dormant attack surface» — плюс Anthropic stats по Claude for Chrome: prompt injection success без mitigation 23,6 %, с mitigation 11,2 %. Реальный риск на high-privilege Native Messaging channel.
  • Событие B: «undisclosed covert telemetry / user classification».

Spyware или нет — core issue один: нет informed consent, и это намеренно спрятано. Mainstream read: Anthropic ловил unauthorized resale + distillation, не personal surveillance — спор про means (covert, obfuscated, undisclosed), не про goal.

04

6-step runbook: self-check и hardening

  1. 01

    Проверить ANTHROPIC_BASE_URL: событие B только через proxy. Не задан или official endpoint — steganography off.

  2. 02

    Апгрейд Claude Code: минимум 2.1.197 (1 июля 2026, код удалён).

  3. 03

    Аудит таймзоны: Asia/Shanghai / Asia/Urumqi дополнительно меняет date separator.

  4. 04

    Claude Desktop Native Messaging (A): macOS: искать com.anthropic.claude_browser_extension.json в ~/Library/Application Support/<браузер>/NativeMessagingHosts/; Desktop restart может восстановить.

  5. 05

    Enterprise least privilege: оценить desktop agent в production; explicit auth + audit trail — baseline.

  6. 06

    Голосовать ногами + требовать disclosure: anti-distillation можно делать openly — не прятать в punctuation.

bash
# Проверка неофициального Base URL
echo "$ANTHROPIC_BASE_URL"

# macOS: Claude Desktop Native Messaging manifest
find ~/Library/Application\ Support -name "com.anthropic.claude_browser_extension.json" 2>/dev/null

# Версия Claude Code (нужна 2.1.197+)
claude --version
05

Hard data и vendor boundary crossing

  • HN metrics: thereallo.dev report via Reddit → HN, frontpage за часы, 350+ points, 100+ comments.
  • Version coverage: 2.1.193 / 2.1.195 / 2.1.196 со steganography; 2.1.197 (01.07.2026) — removed.
  • Rule set size: base64 + XOR(91), ~147 domain/keyword rules.
  • Claude for Chrome prompt injection: Anthropic self-reported: без mitigation 23,6 %, с mitigation 11,2 % — stack с high-privilege Native Messaging channel события A.

Warning не в апострофе — в том, что security boundaries, authorization, audit отстают от model capabilities, и vendors пересекают trust boundaries под соусом «experience / anti-abuse». Countermeasures: default distrust, evidence-based; transparency over hiding; least privilege + isolation; vendor pressure + regulation.

Гонять Claude Code / OpenClaw на локальном Mac = full user privileges + persistent config — non-auditable vendor behavior на bare metal рискованнее, чем isolated env. CLI agent на dedicated remote Mac node, отдельно от production desktop/browser, с auditable deploy — стабильнее для iOS CI/CD и AI agent automation. Для reproducible isolated Apple Silicon — NodeMini Mac Mini cloud rental: dedicated nodes, root access, high-privilege agent workloads off laptop. См. цены аренды Mac Mini и help center.

info

Sources: The Register (Claude Desktop, 04/2026); Malwarebytes / gHacks / YOOTA (Native Messaging); thereallo.dev (original reverse); Tech Startups / TMC Insight / Developers Digest / TechTimes (2.1.197); Antiy Labs (Desktop risk analysis).

FAQ

Частые вопросы

Не классический spyware. По реверсу — undisclosed obfuscated fingerprint в system prompt для China-proxy users; убран в 2.1.197. Точнее: covert channel, не data-stealing malware.

По реверсу: Asia/Shanghai / Asia/Urumqi — но только при неофициальном ANTHROPIC_BASE_URL. Official endpoint: date line untouched.

Апостроф в Today's переключается U+0027, U+2019, U+02BC, U+02B9 — no hit, China domain, AI lab keyword, both. China TZ: separator -/.

Консенсус: anti-distillation и anti-resale. Legit goal, undisclosed implementation (covert, obfuscated) — highly controversial.

Нет. Апрель 2026 Hanff: Desktop Native Messaging. 30 июня thereallo.dev: Code CLI prompt steganography — разные продукты, механизмы, триггеры.

Событие B только в Claude Code с неофициальным ANTHROPIC_BASE_URL. Standard web users — не затронуты.

Удалить ~/Library/Application Support/<браузер>/NativeMessagingHosts/com.anthropic.claude_browser_extension.json. Desktop restart может восстановить. Enterprise: remote Mac isolation — help center.

Upgrade 2.1.197+, audit Base URL, CLI agent на isolated remote Mac node вместо production laptop. Dedicated Apple Silicon: цены аренды Mac Mini.