Бэкдор в расширении Claude Code для Cursor: проверка и очистка

Проверьте, могло ли расширение Claude Code из каталога Cursor заразить ваш компьютер. Сопоставьте версии и время установки, найдите SSH-ключ и следы автозапуска, запустите официальный скрипт с нужными правами. Затем отзовите доступные с компьютера ключи и сеансы и установите расширение из проверенного источника.

Содержание
Бэкдор в расширении Claude Code для Cursor: проверка и очистка

Если вы установили или обновили расширение Claude Code 2.1.312 или 2.1.313 через Cursor в указанный ниже период, проверьте компьютер до продолжения работы. При признаках заражения изолируйте и очистите компьютер, а доступные на нём ключи отзовите и замените с доверенного устройства. Одно обновление расширения не удаляет механизмы, которые позволяют бэкдору запускаться снова.

Как понять, затронута ли ваша установка

Сначала сопоставьте источник, версию, платформу и время установки с таблицей. При обнаружении признака заражения проверка нужна независимо от времени установки. По состоянию на 2026-11-02 уведомление Cursor о безопасности указывает такие условия:

Что проверитьДанные из уведомления
РасширениеAnthropic.claude-code из Cursor VS Code Extension Marketplace
ВерсииВредоносно изменённые копии 2.1.312 и 2.1.313
ПлатформыmacOS и Windows
Период установки или обновленияПримерно 02:27–13:35 PDT, 2026-10-29
Тот же период в UTCПримерно 09:27–20:35 UTC, 2026-10-29

По сообщению Cursor, эти изменённые пакеты не разрабатывала Anthropic. Учитывайте автоматические обновления: текущая версия может отличаться от установленной во время инцидента.

Если подозреваете заражение, не запускайте Cursor. Проверьте журналы установки или метаданные расширения на диске, включая package.json, без загрузки самого расширения. Запишите версию, платформу, источник пакета и время установки.

Команда claude --version не проверяет версию расширения. По документации Anthropic, расширение содержит собственный CLI — интерфейс командной строки. В терминале может запускаться другая, отдельно установленная копия.

Независимый разбор Microsoft подтверждает: этот инцидент не затронул пакеты из Microsoft Visual Studio Marketplace и npm. Номер версии сам по себе не отличает оригинальный пакет от подменённого.

Для Linux оценивайте следы отдельно. Phorion обнаружила в коде ветки для Linux, но подтверждённый Cursor список затронутых платформ включает macOS и Windows. Расследуйте совпавшие признаки на Linux, не считая распространение там подтверждённым. Скрипт очистки для macOS на Linux не запускайте.

Как проверить SSH-ключ по инструкции Cursor

Запустите проверку для той учётной записи, под которой работало расширение. Сопоставьте результат с историей установки и следами автозапуска. Сообщение при найденном маркере: svc-telemetry key found.

Ниже приведены команды Cursor. Отрицательный результат не доказывает, что компьютер не был заражён.

macOS: проверка в Bash

Выполните команду в терминале под затронутой учётной записью:

grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"

Команда ищет одну метку в одном файле. Её параметр -s скрывает сообщения об отсутствующих файлах и ошибках чтения. Если файл недоступен для чтения, сначала выясните причину: отрицательный вывод команды не снимает подозрение.

Windows: проверка в PowerShell

Запустите команду Cursor для профиля затронутого пользователя:

$files = "$HOME\.ssh\authorized_keys", "C:\ProgramData\ssh\administrators_authorized_keys" | Where-Object { Test-Path $_ }
if ($files -and (Select-String svc-telemetry $files)) { "svc-telemetry key found" } else { "No key found; machine not impacted" }

При проверке общего файла ключей администраторов устраните ошибки доступа. Если повышение прав выполнено под другой учётной записью, $HOME изменится. Проверьте также исходный профиль, под которым работало расширение.

Если нашли маркер, изолируйте компьютер и проверьте сам ключ. Cursor опубликовал такой отпечаток ключа, разрешающего злоумышленнику вход по SSH:

SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk

На macOS сравнить отпечатки поможет команда OpenSSH, которая только читает файл:

ssh-keygen -lf "$HOME/.ssh/authorized_keys" -E sha256

Если файл не удалось разобрать или комментарии отличаются, сравните сам ключ с данными из уведомления. Скрипты очистки учитывают случай, когда злоумышленник дописал свой ключ в существующую строку. Не удаляйте всю совпавшую строку вслепую: в ней может находиться и нужный вам ключ.

Где искать закрепление бэкдора и что сохранить

Проверьте перечисленные файлы и задания автозапуска, прежде чем считать компьютер очищенным. Это признаки для расследования; удалять объекты только из-за совпавшего имени нельзя.

ОбластьПризнаки из уведомления Cursor
Файлы macOS~/.config/.smt, ~/.config/.smtk, ~/Library/LaunchAgents/com.apple.sysmond.plist
Автозапуск macOSЗадание LaunchAgent с меткой com.apple.sysmond
Файлы Windows%USERPROFILE%\.config\smt.cmd, %USERPROFILE%\.config\smtk
Автозапуск WindowsЗадание планировщика SysMon; запасной вариант: %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\sysmon.cmd
Временные файлы$TMPDIR/.stk_<10 hex> на macOS; %TEMP%\.stk_<10 hex> на Windows
СетьПодключения к 134[.]209[.]82[.]225, в том числе SSH по TCP 22 и HTTP-запросы к /beacon на порту 8099

Суффикс <10 hex> описывает шаблон имени файла, а не буквальное имя с угловыми скобками. До удаления задания автозапуска проверьте, какую команду оно выполняет и какие файлы использует.

Для расследования в команде сохраните пакет расширения, файлы ключей, настройки автозапуска и журналы событий компьютера. Изолируйте компьютеры со следами выполнения вредоносного кода или установки бэкдора. Закрытие редактора не удаляет отдельные фоновые скрипты.

Phorion установила, что внедрённый код выполняется, когда Node загружает модуль, ещё до обычного вызова activate. Отправлять запрос Claude для запуска этого кода не требуется.

Cursor сообщил об отключении сервера злоумышленника. Это прерывает описанный канал связи, но не удаляет локальные следы. Неудачная попытка включить SSH тоже не доказывает отсутствие добавленного ключа, автозапуска или сбора сведений о компьютере.

Как запустить очистку и проверить результат

Сначала сохраните нужные материалы расследования, затем скачайте скрипт по ссылке из уведомления Cursor. Прочитайте его перед запуском и закройте редакторы.

Скрипты завершают процессы туннеля и удаляют изменённые каталоги расширения, созданные файлы, механизмы автозапуска и ключ злоумышленника. API-ключи отзовите отдельно, а активность на компьютере проверьте независимо от результата скрипта.

Очистка macOS

Скачайте скрипт очистки macOS от Cursor. Откройте папку с файлом в терминале. Выполните команду под каждой затронутой учётной записью, без sudo:

bash remediate-macos.sh
echo "Exit status: $?"

Скрипт отказывается работать от root. Очистка охватывает LaunchAgent com.apple.sysmond, соответствующие процессы и файлы, а также пакеты расширения, содержащие svc-telemetry. Ключ злоумышленника удаляется по точному совпадению текста.

Очистка Windows

Скачайте скрипт очистки Windows от Cursor. Откройте PowerShell с правами администратора (Run as Administrator) и выполните команду из папки с файлом:

powershell -ExecutionPolicy Bypass -File .\remediate-windows.ps1
$LASTEXITCODE

Скрипт перебирает зарегистрированные профили пользователей. Он удаляет задание с вредоносной командой, связанные каталоги расширений, созданные файлы и ключ злоумышленника из профилей. Соответствующие процессы также завершаются.

После очистки отдельно проверьте C:\ProgramData\ssh\administrators_authorized_keys, если файл существует. Если в нём остался ключ злоумышленника, попросите администратора удалить именно эту запись, не затронув легитимные ключи.

Ненулевой код завершения или сообщение incomplete требуют дополнительной проверки. Устраните указанные ошибки и повторите соответствующую проверку.

Код 0 означает лишь, что скрипт не сообщил об оставшихся признаках из своего набора проверок. Проверьте нестандартные каталоги расширений по опубликованным индикаторам. Отдельно убедитесь, что настройки локальной службы SSH соответствуют вашей рабочей конфигурации.

Если следы появляются вновь, обнаружен неожиданный доступ по SSH или вы не можете объяснить дальнейшую активность, держите компьютер изолированным. Прежде чем возвращать на него учётные данные, поручите специалистам по реагированию оценить необходимость переустановки системы.

Какие ключи и сеансы нужно отозвать

С доверенного устройства отзовите учётные данные, доступные с заражённого компьютера, в том числе не связанные с Claude Code. Новые ключи не сохраняйте на нём до завершения очистки или переустановки системы.

Cursor сообщает о сборе имён переменных окружения. Это не доказывает кражу их значений. Рекомендация заменить ключи учитывает и возможный последующий доступ через бэкдор.

Назначьте ответственного за каждый пункт и отметьте выполнение:

Учётные данныеЧто сделать
API-ключи AnthropicНа странице API keys в Claude Console откройте меню затронутого ключа, выберите Delete API key и создайте новый.
API-ключи OpenAIУдалите затронутые ключи в панели управления API-ключами, создайте новые и проверьте историю использования на необычную активность.
Токены Git-хостинговОтзовите персональные токены доступа и другие доступные с компьютера учётные данные у сервиса, который их выдал. Обновите ключи в нужных автоматизированных процессах.
Клиентские SSH-ключиЗамените закрытые ключи, которые могли стать доступны злоумышленнику. Удалите их старые открытые ключи из списков разрешённых на Git-хостингах и других серверах.
Учётные данные облачных сервисовОтзовите ключи доступа, которые могли быть раскрыты, и отдельно разберитесь с временными сеансами. Проверьте ресурсы, права доступа и историю использования на постороннюю активность.
Сеансы аккаунтовВ соответствующем сервисе отзовите затронутые сеансы браузера, CLI и единого входа (SSO). При необходимости обратитесь к администратору учётных записей.

Инструкция Anthropic при компрометации API-ключа описывает удаление и выпуск нового ключа. Рекомендации OpenAI по защите аккаунта охватывают удаление API-ключей и проверку истории использования.

На GitHub удалите затронутые токены через настройки персональных токенов доступа. Отдельно проверьте SSH-ключи и активные сеансы.

Для AWS выполните инструкции при раскрытии ключа доступа. Для сеансов ролей используйте отдельные рекомендации по временным учётным данным.

В список включите и ключи API-шлюзов. Если вы использовали BetterToken, учтите его API-ключ. Его консоль позволяет создать новый ключ, но создание замены само по себе не отзывает старый. Прежде чем считать замену завершённой, подтвердите отзыв старого ключа у сервиса.

Удаление svc-telemetry с компьютера не прекращает доступ по вашим собственным SSH-ключам на удалённых сервисах. Удаление значения из локального файла настроек тоже не делает API-ключ недействительным.

Для более полного восстановления используйте план отзыва учётных данных и аудита. Убедитесь в отзыве на стороне сервиса, обновите ключи в нужных приложениях и проверьте, что рабочие запросы из доверенной среды проходят.

Как переустановить расширение после восстановления

После очистки либо переустановки системы установите актуальный выпуск из проверенного источника. При раскрытии инцидента Cursor попросил пользователей обновиться до 2.1.314.

Откройте страницу установки Anthropic и перейдите из неё к нужному расширению. Сверьте издателя, идентификатор Anthropic.claude-code, каталог распространения и установленную версию. После установки версия видна на панели расширений Extensions.

После входа в систему или перезагрузки снова проверьте опубликованные признаки заражения. Если следы закрепления появились вновь, прекратите работу на компьютере и возобновите расследование.

Версия для терминала устанавливается отдельно. Проверить её поможет руководство по установке и первому запуску Claude Code. Установка CLI не заменяет очистку заражённого компьютера.

Как проверять расширения перед следующей установкой

Перед установкой перейдите по ссылке с сайта разработчика и проверьте, из какого каталога скачивается пакет. Для одобренных в команде пакетов фиксируйте издателя, идентификатор, версию, платформу и источник загрузки.

Документация Cursor по расширениям предупреждает: одинаковое имя publisher.extension в разных каталогах может означать разных издателей или разный код.

Хеши сравнивайте только для одинакового типа файла, платформы и версии. Хеш пакета VSIX нельзя сравнивать с хешем extension.js. Несовпадение с одним известным вредоносным хешем не доказывает подлинность пакета.

По состоянию на 2026-11-02 Cursor документирует настройку задержки установки Marketplace Install Cooldown (hours) для владельцев команд и администраторов. Команды Enterprise также могут требовать действительные подписи Open VSX перед установкой расширений.

Дополните эти меры проверкой инструкций агента и скачанных настроек: они тоже могут влиять на выполняемые команды. Для этого используйте аудит AGENTS.md и конфигурации Claude Code.

Готовы оптимизировать LLM workflow?

Подключите единый API, управляйте ключами и контролируйте расходы на AI-модели в BetterToken.

Начать бесплатно