Claude Code — spyware? Разбор скрытого Unicode-fingerprint Anthropic

Тихая browser injection · Prompt steganography · Anti-distillation · 6-шаговый protection runbook

System prompt Claude Code с U+2019 apostrophe steganography

Если вы гоняете Claude Code или Claude Desktop, два инцидента 2026 года стоит знать. По данным reverse engineering, Claude Code тихо переписывает строку Today's date is..., когда ANTHROPIC_BASE_URL смотрит не на официальный endpoint — и кодирует China timezone + proxy signals через визуально идентичные Unicode-апострофы. Параллельно Claude Desktop якобы инжектил Native Messaging manifests в несколько браузеров. Разбираем оба кейса, таблицу Unicode mapping, мотив anti-distillation, HN-дебат и 6-шаговый runbook + 8 FAQ.

01

Claude Code — spyware? Два разных инцидента

Короткий ответ: не классический spyware, но Anthropic, по отчётам, гонял undisclosed user classification внутри dev-tool — намеренно спрятанный. Intent (anti-distillation) и method (steganography) оцениваем отдельно. Не мешайте две related, но distinct истории — HN и security-читатели ловят factual errors мгновенно.

  1. A

    Инцидент A · Тихая browser injection Claude Desktop (апрель 2026): Privacy-консультант Alexander Hanff (The Register) заявил, что установка Claude Desktop на macOS тихо пишет com.anthropic.claude_browser_extension.json в Chrome, Edge, Brave, Arc, Vivaldi, Opera и Chromium — три extension ID pre-authorized вызывать chrome-native-host вне browser sandbox с full user privilege. Директории создаются даже для неустановленных браузеров; удалённый файл может вернуться после рестарта. Noah Kenney (Digital 520) подтвердил reproducibility; Antiy Labs выпустил risk analysis. Anthropic публично не ответил формально; поздние builds добавили authorization toggle, permission model остаётся controversial.

  2. B

    Инцидент B · Prompt steganography в Claude Code (30 июня 2026): Dev reverse-engineered Claude Code binaries, опубликовал на thereallo.dev, разошлось через Reddit и Hacker News. При ANTHROPIC_BASE_URL ≠ api.anthropic.com date line в system prompt меняется — не в каждом разговоре по умолчанию. HN thread за пару часов на front page: 350+ points, 100+ comments.

  3. 03

    Лейблы разные: Инцидент A получил «spyware» / «backdoor»; инцидент B — «prompt steganography» / «covert channel».

  4. 04

    Ответ Anthropic: На A — нет formal public response; на B медиа пишут, что Anthropic acknowledged code и убрал в Claude Code 2.1.197 (1 июля 2026) — без changelog mention.

  5. 05

    Version audit: Reverse engineers верифицировали 2.1.193, 2.1.195, 2.1.196. Domain/keyword lists — base64 + XOR(91) obfuscation, ~147 rules.

Wording note: Везде «per reports», «alleged», «reverse-engineering findings». Vendor intent не утверждаем как proven fact.

02

Как работает Claude Code fingerprint?

Precondition: триггер только когда ANTHROPIC_BASE_URL указывает на proxy, gateway, reseller или OpenAI-compatible layer. Официальный api.anthropic.com — prompt untouched.

Сравнение инцидентов A vs B

ИзмерениеИнцидент A: Browser injectionИнцидент B: Prompt steganography
ПродуктClaude Desktop (macOS)Claude Code (CLI)
ИсточникAlexander Hanff / The Registerthereallo.dev → Reddit → HN
TimelineАпрель 2026 (с ~18.04)30 июня 2026
ТриггерInstall/start Claude DesktopТолько non-official Base URL
ПоведениеNative Messaging manifest + chrome-native-hostDate separator + Unicode apostrophe swap

Unicode apostrophe mapping (инцидент B)

УсловиеДатаАпострофUnicode
Default (no match)2026-06-30' ASCII apostropheU+0027
China-linked org/reseller domain2026-06-30' right single quoteU+2019
AI-lab keyword2026-06-30ʼ modifier letter apostropheU+02BC
Domain + lab2026-06-30ʹ modifier letter primeU+02B9
+ China timezone2026/06/30(как выше)Asia/Shanghai · Asia/Urumqi

Keywords: deepseek, moonshot, zhipu, minimax, baichuan, stepfun, 01ai — хранятся с base64 + XOR(91). Для human prompt выглядит обычным; для Anthropic backend один apostrophe code point раскрывает: VPN user, China timezone, возможно Chinese AI lab. Textbook covert channel.

Чем мощнее модель, тем сильнее vendor должен себя ограничивать — и это не должно быть секретом, найденным только через binary reverse engineering.

03

Проверка и защита: 6-шаговый runbook

  1. 01

    Audit ANTHROPIC_BASE_URL: Пройдитесь по shell configs и CI secrets на non-official endpoints. Инцидент B триггерится только на proxy routes.

  2. 02

    Upgrade Claude Code: Версия 2.1.197+ (release 1 июля 2026 per reports).

  3. 03

    Verify system timezone: Убедитесь, что Asia/Shanghai или Asia/Urumqi intentional; date separator / vs - кодирует timezone signal.

  4. 04

    Scan Native Messaging manifests (инцидент A): На macOS проверьте ~/Library/Application Support/<browser>/NativeMessagingHosts/com.anthropic.claude_browser_extension.json.

  5. 05

    Delete и observe recreation: Удалите JSON, рестарт Claude Desktop, задокументируйте respawn — критично для enterprise audit trails.

  6. 06

    Enterprise least privilege: Desktop agents = high-privilege programs; production API keys отдельно от personal browsers; dedicated Mac nodes для sensitive CI chains.

bash
claude --version
for b in "Google/Chrome" "Microsoft Edge" "BraveSoftware/Brave-Browser"; do
  f="$HOME/Library/Application Support/$b/NativeMessagingHosts/com.anthropic.claude_browser_extension.json"
  [ -f "$f" ] && echo "FOUND: $f"
done
echo "${ANTHROPIC_BASE_URL:-not set}"
04

Зачем Anthropic это сделал? Это реально spyware?

Community consensus сдержанный: почти наверняка anti-distillation и anti-unauthorized reselling. Anthropic, OpenAI и Google публично беспокоились о конкурентах, harvesting API outputs. China-linked resellers, proxies и labs — prime suspects. HN split hard: reasonable anti-distillation defense vs malware-adjacent behavior для dev tool.

Intent defensible; method — нет. Invisible punctuation, obfuscated binary code, zero disclosure — в tool, который живёт на developer trust.

  • Инцидент A: Unauthorized tampering с third-party software + dormant, pre-positioned attack surface. Собственные цифры Anthropic Claude for Chrome: 23,6% prompt-injection success unmitigated, 11,2% mitigated.
  • Инцидент B: Undisclosed telemetry / covert user classification.

Core issue: No informed consent, deliberately hidden — независимо от лейбла «spyware».

05

Что это значит: trust к AI vendors в 2026

  • HN signal: thereallo.dev findings — 350+ points и 100+ comments за часы.
  • Rule set scale: ~147 base64 + XOR(91) obfuscated domain/keyword patterns на Chinese AI lab endpoints.
  • Combined risk: High-privilege Native Messaging channel (A) + undisclosed prompt fingerprinting (B) расширяет trust surface для desktop AI agents.

Практика: default distrust, demand evidence; distillation борем открыто с toggles и docs; enforce least privilege; vote feet + regulation.

Claude Desktop + personal browsers + production API keys на одном laptop — blurred boundaries, deleted manifests могут respawn. Для production-grade iOS CI/CD и AI agent automation VpsMesh Mac Mini cloud rental даёт isolated macOS nodes, root-level control, 24/7 uptime — стабильнее, чем миксовать personal desktop agents с production secrets.

Источники

The Register; Malwarebytes; gHacks; YOOTA; thereallo.dev; Tech Startups; TMC Insight; Developers Digest; TechTimes (fix 2.1.197); Antiy Labs risk analysis.

FAQ

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

Не classic spyware, но undisclosed prompt fingerprinting для China-proxy users убрали в 2.1.197. Лучше label: undisclosed covert channel.

Только с non-default ANTHROPIC_BASE_URL — проверял Asia/Shanghai и Asia/Urumqi, менял date separators. Official endpoint users не затронуты.

Нет. Апрель 2026 Desktop Native Messaging injection (Hanff) — отдельный product и trigger от июньской Code steganography (thereallo.dev).

U+0027, U+2019, U+02BC, U+02B9 кодируют default, China domain match, AI-lab keyword match или both — visually identical для humans.

Likely anti-distillation и anti-reselling. Legit goal, illegitimate concealment.

Инцидент B — только Claude Code с custom Base URL, не standard web Claude users.

Удалите com.anthropic.claude_browser_extension.json под NativeMessagingHosts; Desktop может пересоздать. Для isolated agent hosting — цены аренды Mac Mini M4.

Не mandatory, но 24/7 Claude Code, OpenClaw или MCP agents выигрывают от launchd-backed Mac Mini M4 rental с Keychain isolation. См. центр помощи.