30 октября 2026 г.
svc-telemetry в authorized_keys: троянское расширение Claude Code 11 часов ставило чужой SSH-ключ
Расширение уже обновилось до чистой версии, а ключ атакующего и персистенс остались на машине: чистить нужно руками.

Ключ с комментарием svc-telemetry в файле `~/.ssh/authorized_keys` означает, что на машине чужой доступ.
Троянскую сборку расширения Claude Code под номером 2.1.313 реестры отдавали 29 октября около 11 часов, с 2:27 до 13:35 по тихоокеанскому времени. Cursor оценивает круг затронутых в 5000 человек и связывается с ними напрямую. У расширения в VS Code Marketplace 29,1 млн установок.
Не хотите разбираться сами? Внедряем ИИ в ваш бизнес: задачи без лимита, одна цена в месяц, отмена в любой момент.
Автообновление не лечит. Кевин Бомонт, известный в сети как GossiTheDog, проверил ночные замещающие версии Anthropic: ранее поставленные бэкдоры они не удаляют, обратный SSH продолжает звонить наружу. Чистить нужно каждую машину с VS Code и Cursor руками.
Нажимать для заражения ничего не требовалось. Вредоносный код лежал в `extension.js` и исполнялся обычным Node.js при загрузке модуля, без диалога с Claude.
Он дописывал в `authorized_keys` ключ Ed25519 с комментарием svc-telemetry, поднимал обратный туннель на чужой сервер с повтором каждые 60 секунд и отправлял слепок машины: hostname, имя пользователя, ОС, рабочие каталоги, настроенную git-почту, публичный IP и до 40 имён переменных окружения по фильтру KEY|TOKEN|SECRET|PASS|AWS|GCP. Значения не уходили, уходила карта того, какие секреты лежат на машине.
Вход через туннель на большинстве машин не состоялся, потому что включение SSH-сервиса требует прав администратора. Ключ, персистенс и отправка данных ставились всегда.
Как проверить машину
На macOS и Linux хватает одной команды: `grep -qs svc-telemetry ~/.ssh/authorized_keys`. На Windows ищите строку svc-telemetry в `$HOME\.ssh\authorized_keys` и `C:\ProgramData\ssh\administrators_authorized_keys`. Ключ нашёлся, значит машина скомпрометирована.
Что делать, если ключ нашёлся
Снести расширение недостаточно. Загрузчик кладёт отдельный персистенс, который живёт после удаления: `~/Library/LaunchAgents/com.apple.sysmond.plist`, задача `SysMon`, запись cron `@reboot`, файлы `.smt`, `.smtk`, `smt.cmd`.
Cursor выложил готовые скрипты чистки. `remediate-macos.sh` запускается командой `bash remediate-macos.sh` от имени затронутого пользователя, не от root. На Windows это `powershell -ExecutionPolicy Bypass -File .\remediate-windows.ps1` из PowerShell с правами администратора. Скрипты снимают расширение, персистенс, процессы туннеля и ключ атакующего, а если что-то осталось, выходят с ненулевым кодом.
После чистки ставьте 2.1.314 или новее и с чистой машины ротируйте токены GitHub и GitLab, CI/CD, облачные и SSH-ключи, токены реестров пакетов.
Ряд версий выстроился за три дня. Чистая 2.1.312 вышла 27 октября в 20:26 UTC, троянская 2.1.313 жила 29 октября, чистая 2.1.314 появилась 30 октября в 01:07 UTC. Сейчас и в Open VSX, и в VS Code Marketplace стоит 2.1.314, а 2.1.313 в обоих реестрах отдаёт 404.
Заявления Anthropic на 30 октября нет: последняя запись в GitHub security advisories Claude Code датирована 26 октября, на status.claude.com за 29 и 30 октября инцидентов не числится. Бомонт пишет, что бэкдор убрали молча.
До ручной чистки каждая машина, где побывала версия 2.1.313, считается скомпрометированной.
Первоисточник