Взлом расширения Anthropic в среде Cursor длился почти 12 часов: вредоносная версия 2.1.313 была доступна с 5:27 до 16:35 по восточному времени США в четверг и могла попасть максимум на 5 000 машин разработчиков. Это не просто неудачный релиз плагина: расширения IDE обычно имеют доступ к исходникам, локальным файлам и рабочим инструментам — то есть к тому набору, который атакующие особенно любят находить на ноутбуках инженеров.
По данным Ars Technica, скомпрометирована оказалась официальная VS Code-совместимая надстройка Anthropic для Claude, опубликованная в маркетплейсе Cursor. Версию 2.1.313 выпустили через верифицированный аккаунт Anthropic, а спустя несколько часов заменили на 2.1.314. Как злоумышленники получили контроль над официальным аккаунтом распространения, ни Anthropic, ни Cursor публично не объяснили. На момент публикации Anthropic также не выпустила публичного уведомления для клиентов.
Код в заражённой сборке пытался собрать сведения о машине: имя хоста и пользователя, ОС и архитектуру, путь к домашнему каталогу, имена переменных окружения, рабочие директории, настроенный Git email и публичный IP-адрес. Особенно показателен интерес к именам переменных окружения. Сами секреты в перечне не упоминаются, но названия переменных помогают быстро понять, где на устройстве могут лежать облачные учётные данные и API-токены, а затем выбрать более ценные цели для следующего этапа атаки.
Дальше вредоносный код пытался закрепиться в системе через добавление контролируемого атакующим SSH-ключа в authorized_keys, включение локальной SSH-службы и создание обратного SSH-туннеля. Для macOS предусматривался LaunchAgent, для Windows — задача планировщика с попыткой запуска от имени SYSTEM и резервным стартовым сценарием. Скрипты должны были повторно поднимать туннель примерно раз в минуту. Данные об устройстве и статусе бэкдора отправлялись HTTP-запросом на endpoint /beacon через порт 8099.
Код был рассчитан на Windows, macOS и Linux. При этом часть механики оказалась написана с ошибками: без необычного запуска Cursor с правами администратора добавление SSH-ключа и включение службы, вероятно, не сработали бы, а отдельные баги мешали бэкдору на Windows и macOS. Это, однако, не повод считать инцидент несостоявшимся. Даже неполная разведка окружения и попытка обеспечить постоянный доступ — достаточный риск для машины, на которой хранятся репозитории, ключи доступа к облаку, CI-конфигурации и внутренние инструменты.
Cursor сообщил, что связался с провайдером инфраструктуры, где размещался сервер для обратного подключения, чтобы заражённые устройства больше не могли до него достучаться. Компания также сняла вредоносную версию с публикации, остановила её дальнейшее распространение и временно закрыла VSCode Marketplace: нужно было сменить ключи, проверить контроль доступа и убедиться, что другие расширения не затронуты. Затем маркетплейс вновь открыли.
Для команд разработки этот случай — неприятное напоминание, что доверенная цепочка поставки заканчивается не на npm-пакете или контейнерном образе. Плагин из официального аккаунта, да ещё и с автоматическим обновлением по умолчанию, легко проходит мимо привычного скепсиса. Пользователям, которые установили или обновили расширение Anthropic в Cursor в указанное окно, Cursor и исследователи рекомендуют считать себя затронутыми; осторожный подход — расширить проверку на всех, кто обновлял этот плагин недавно. Новая безопасная версия сама по себе не удаляет возможные последствия уже выполненного вредоносного кода.
Практический минимум после такого взлома расширения Anthropic — проверить историю установки и обновлений, поискать признаки добавления чужого SSH-ключа, нестандартные задания планировщика и LaunchAgent, а также пересмотреть токены и облачные ключи, доступные на рабочей машине. В организациях полезно заранее решить, кто и как реагирует на компрометацию IDE-плагина: от изоляции устройства до ротации секретов. Главный открытый вопрос здесь не в качестве вредоносного кода, а в том, как был захвачен верифицированный канал Anthropic. Пока ответа нет, взлом расширения Anthropic остаётся примером того, почему подпись «официальное» не должна заменять контроль обновлений и готовность к инцидентам. Подробнее о технических индикаторах и хронологии пишет .

