В расширении Claude Code для VS Code обнаружили вредоносную версию: она распространялась под настоящим идентификатором Anthropic через маркетплейс Cursor и при запуске редактора добавляла в систему ключ атакующего, обратный SSH-туннель и механизмы автозапуска. Anthropic выпустила версию 2.1.314, Cursor временно отключил маркетплейс и оценил охват не более чем в 5000 пользователей.
Разбор опирается на расхождения между источниками: часть данных о каналах распространения противоречит друг другу, и это важнее самого перечня версий.
Что именно изменилось
Скомпрометированной была версия anthropic.claude-code 2.1.313; позже Cursor расширил список затронутых до 2.1.312 и 2.1.313 — обе распространялись через маркетплейс Cursor для Windows и macOS. Anthropic заменила заражённую сборку на 2.1.314 и удалила её.
Каналы описаны по-разному. 3DNews пишет, что версия распространялась через Open VSXоткрытый реестр расширений VS Code, альтернативный маркетплейсу Microsoft и попала в маркетплейс Cursor, но в Microsoft Visual Studio Marketplace не появлялась. The Hacker News со ссылкой на Socket и Microsoft утверждает обратное: версия 2.1.313 не была публично доступна через Open VSX и не публиковалась ни в Microsoft Visual Studio Marketplace, ни в npm-пакетепакете для менеджера пакетов Node.js anthropic-ai/claude-code. Инженер по безопасности Anthropic Дэвид Дворкен заявил, что официальные каналы, включая VS Code и OpenVSXОткрытый реестр расширений VS Code, альтернативный маркетплейсу Microsoft., не затронуты, а инцидент касается только пользователей Cursor.
Вредоносный код — загрузчик из 66 строк, вставленный в основной JavaScript-бандлсобранный в один файл код расширения, который исполняется при его запуске расширения перед легитимным кодом. Он срабатывал после запуска VS Code и при открытии webviewвстроенной веб-панели внутри редактора.
Как работал бэкдор
После активации код добавлял в ~/.ssh/authorized_keys ключ атакующего под меткой svc-telemetry, чтобы тот выглядел служебным. Затем он пытался включить локальный SSH-сервис и поднять обратный SSH-туннельсоединение, инициируемое с заражённой машины к серверу атакующего, через которое к ней можно подключаться снаружи к 134.209.82[.]225. Туннель давал оператору путь к SSH-сервису жертвы — возможность отдавать команды и передавать файлы.
Для персистентностиспособность вредоносного кода сохраняться в системе после перезапуска и удаления породившего его приложения использовались штатные механизмы автозапуска ОС: LaunchAgentслужба macOS, запускающая программу при входе пользователя в систему, запланированная задачазадание в планировщике Windows, выполняемое по расписанию или при входе в систему с попыткой запуска от имени SYSTEMвстроенная учётная запись Windows с максимальными правами в системе и резервным скриптом автозагрузки на Windows, crontabтаблица заданий планировщика cron в Linux, выполняемых по расписанию. Разные механизмы выбраны потому, что каждый из них штатный для своей платформы. Фоновые скрипты повторяли попытку туннеля примерно каждые 60 секунд. Сведения о хосте, включая операционную систему и архитектуру процессора, отправлялись POST-запросом на /beacon (порт 8099) — на сервер атакующего, который таким образом получал сигнал о заражённой машине и её состоянии.
Ключевое ограничение атаки: включение локального SSH-сервиса требует прав администратора, которых у расширения на большинстве хостов macOS и Windows нет. Там этот шаг завершался неудачей, и войти через туннель злоумышленник не мог. Но ключ, механизмы закрепления и отправка данных о хосте срабатывали и в этом случае.
Что остаётся на машине после обновления
Артефакты записаны вне каталога установки расширения: подтверждённые неавторизованные SSH-ключи, идентичности туннелейсохранённые параметры обратного SSH-туннеля, по которым его можно опознать и удалить, скрипты и записи автозапуска. Поэтому удаление или обновление расширения их не убирает — версия 2.1.314 очищает сам бандл, но не удаляет SSH-бэкдор из уже заражённых систем и не устраняет последствия предшествовавшей активности. Microsoft Security Research рекомендует удалять эти артефакты отдельно.
Для проверки Cursor предлагает искать в authorized_keys посторонний ключ с пометкой svc-telemetry. Компания опубликовала скрипты очистки для macOS и Windows, а при обнаружении следов атаки советует изолировать компьютер и заменить доступные с него учётные данные.
Предыстория и причины
Это атака на цепочку поставоккомпрометация через внедрение в продукт или компонент, которому организация доверяет, вместо прямого взлома целевой системы. Вредоносное обновление распространялось под легитимной идентичностью издателя и под настоящим идентификатором расширения Anthropic, а не как отдельное поддельное расширение — то есть подмена произошла на стороне верифицированного аккаунта Anthropic в маркетплейсе Cursor. По данным Kevin Beaumont, версия была загружена именно как аккаунт Anthropic с подтверждённой верификацией.
Точный метод, которым атакующие внедрили несанкционированное обновление, остаётся неясным.
Что это меняет на практике
Обновление до 2.1.314 закрывает канал распространения, но не является средством очистки. Порядок действий для тех, у кого могла стоять затронутая версия, — проверка authorized_keys на ключ svc-telemetry, удаление подтверждённых неавторизованных SSH-ключей, идентичностей туннелей, скриптов и записей автозапуска, затем ротациязамена учётных данных на новые с отзывом старых учётных данных, доступных с машины.
Сетевые индикаторыпризнаки в сетевом трафике, по которым ищут следы атаки ограничены: Kevin Beaumont называет обращения к сервисам определения публичного IP ifconfig[.]me и api[.]ipify[.]org, но прямо указывает, что это легитимные сервисы и сам факт обращения к ним признаком компрометации не является.
Ограничения и открытые вопросы
Сроки восстановлены лишь фрагментарно: публикация вредоносной версии датируется днём ранее относительно материала, удаление зафиксировано по состоянию на 30 октября 2026 года, замена на 2.1.314 описана как произошедшая за 8 часов до текста. Точных интервалов между публикацией, обнаружением и удалением нет. Первой вредоносную активность на конечных точках заметила Phorion.
Оценка «до 5000 пользователей» исходит от Cursor; данных, которыми она обоснована, например статистики загрузок, в источниках не приводится.
Меры Cursor: удаление вредоносной версии и блокировка её распространения, временное полное отключение маркетплейса VS Code, аудит доступа, подтвердивший, что другие расширения не скомпрометированы, обновление ключей доступа, пересборка маркетплейса и возобновление работы, отключение вредоносного сервера.
Отдельно остаётся вопрос о границах безопасности AI-агентов: в источниках есть лишь общая формулировка, что граница начинается там, где даже ошибившийся агент физически не может добраться до секретов, промышленной инфраструктуры и произвольной сети, и что главный вопрос — что останется недоступным после его ошибки.