Тихая browser injection · Prompt steganography · Anti-distillation · 6-шаговый protection runbook
Если вы гоняете 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.
Короткий ответ: не классический spyware, но Anthropic, по отчётам, гонял undisclosed user classification внутри dev-tool — намеренно спрятанный. Intent (anti-distillation) и method (steganography) оцениваем отдельно. Не мешайте две related, но distinct истории — HN и security-читатели ловят factual errors мгновенно.
Инцидент 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.
Инцидент 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.
Лейблы разные: Инцидент A получил «spyware» / «backdoor»; инцидент B — «prompt steganography» / «covert channel».
Ответ Anthropic: На A — нет formal public response; на B медиа пишут, что Anthropic acknowledged code и убрал в Claude Code 2.1.197 (1 июля 2026) — без changelog mention.
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.
Precondition: триггер только когда ANTHROPIC_BASE_URL указывает на proxy, gateway, reseller или OpenAI-compatible layer. Официальный api.anthropic.com — prompt untouched.
| Измерение | Инцидент A: Browser injection | Инцидент B: Prompt steganography |
|---|---|---|
| Продукт | Claude Desktop (macOS) | Claude Code (CLI) |
| Источник | Alexander Hanff / The Register | thereallo.dev → Reddit → HN |
| Timeline | Апрель 2026 (с ~18.04) | 30 июня 2026 |
| Триггер | Install/start Claude Desktop | Только non-official Base URL |
| Поведение | Native Messaging manifest + chrome-native-host | Date separator + Unicode apostrophe swap |
| Условие | Дата | Апостроф | Unicode |
|---|---|---|---|
| Default (no match) | 2026-06-30 | ' ASCII apostrophe | U+0027 |
| China-linked org/reseller domain | 2026-06-30 | ' right single quote | U+2019 |
| AI-lab keyword | 2026-06-30 | ʼ modifier letter apostrophe | U+02BC |
| Domain + lab | 2026-06-30 | ʹ modifier letter prime | U+02B9 |
| + China timezone | 2026/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.
Audit ANTHROPIC_BASE_URL: Пройдитесь по shell configs и CI secrets на non-official endpoints. Инцидент B триггерится только на proxy routes.
Upgrade Claude Code: Версия 2.1.197+ (release 1 июля 2026 per reports).
Verify system timezone: Убедитесь, что Asia/Shanghai или Asia/Urumqi intentional; date separator / vs - кодирует timezone signal.
Scan Native Messaging manifests (инцидент A): На macOS проверьте ~/Library/Application Support/<browser>/NativeMessagingHosts/com.anthropic.claude_browser_extension.json.
Delete и observe recreation: Удалите JSON, рестарт Claude Desktop, задокументируйте respawn — критично для enterprise audit trails.
Enterprise least privilege: Desktop agents = high-privilege programs; production API keys отдельно от personal browsers; dedicated Mac nodes для sensitive CI chains.
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}"
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.
Core issue: No informed consent, deliberately hidden — независимо от лейбла «spyware».
Практика: 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.
Не 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. См. центр помощи.