Cursor раскрыла подробности атаки, из-за которой 29 октября в её магазине расширений появилась вредоносная версия Anthropic.claude-code. По данным компании, всё началось с утечки ключа доступа, который Cursor выдала Fireworks AI: злоумышленник скопировал данные из read-only бакета, где хранились трейсы кодинг-агентов. В некоторых оставались незачищенные учётные данные - затронуты менее 0,01% клиентов. По данным Cursor, в бакете лежали ограниченные трейсы в основном за 2025 год от сессий вне Privacy Mode, разрешённые для обучения моделей. С украденными учётными данными атакующий добрался до отдельных SaaS-инструментов Cursor и получил доступ к архивным копиям репозиториев исходного кода вне продакшена, части данных поддержки и переписке, метрикам использования, контактам, сводкам некоторых диалогов с агентом, а также учётным данным, которые пользователи присылали в поддержку.
Мониторинг заметил активность: Cursor отключила ключ, запустила расследование и начала отзывать и менять учётные данные. На время проверки компания отключила часть внутренних и продуктовых сервисов сверх необходимого, из-за чего некоторые функции временно не работали. Последняя активность атакующего зафиксирована 1 ноября и была заблокирована.
29 октября атакующий использовал украденные данные, чтобы подложить вредоносные копии расширения Anthropic Claude Code прямо в кэш, из которого работает маркетплейс Cursor. Anthropic их не публиковала, уязвимости в её продукте не было, а в Open VSX вредоносных файлов не было вовсе. Вредоносную сборку могли получить до 5 000 пользователей, запросивших конкретные кэшированные версии; прожила она около 11 часов.
По уведомлению Cursor от 29 октября, расширение версий 2.1.312 и 2.1.313 собирало данные о хосте и пользователе, пыталось добавить SSH-ключ атакующего в authorized_keys, включить локальный SSH и открыть обратный туннель. Заодно оно прописывало автозапуск через LaunchAgent на macOS или задачу SYSTEM на Windows, а скрипты повторяли попытку примерно раз в минуту. На большинстве хостов не хватало прав администратора, поэтому попытка проваливалась; сервер атакующего уже отключён.
30 октября Cursor выпустила уведомление с индикаторами компрометации и скриптами проверки, начала оповещать пользователей и админов по почте и в приложении. Компания перевела весь инференс с Fireworks, сменила все открытые и внутренние учётные данные, проверила остальные расширения и пересобрала маркетплейс, расширила сетевые ограничения, включила сканирование секретов и переразвернула инфраструктуру; для расследования привлекли внешних экспертов. Cursor извинилась и предупредила: удалить расширение может быть недостаточно, пострадавшим нужно выполнить шаги из уведомления.