В магазине расширений Cursor одно из официальных обновлений Claude Code выглядело как обычный релиз. На деле версия 2.1.313 подмешала в систему SSH-ключ злоумышленника, закрепилась в автозапуске и отправила сведения о компьютере на удалённый сервер.

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

1) История инцидента

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

После запуска поддельное расширение ждало старта VS Code и открытия веб-панели, затем записывало в файл ~/.ssh/authorized_keys чужой публичный ключ. Чтобы он не бросался в глаза, его пометили как svc-telemetry.

Дальше модуль пытался открыть доступ по SSH на Windows, Linux и macOS, создавал обратный туннель и ставил механизмы закрепления — запланированную задачу, cron-задание или LaunchAgent, в зависимости от платформы. Параллельно он отправлял на внешний сервер данные о хосте по обычному HTTP.

В утечку уходили публичный IP, имя машины, локальный пользователь, версия ОС, архитектура процессора, домашний каталог, текущая рабочая папка, глобальный e-mail из настроек Git и до 40 имён переменных окружения, связанных с ключами, токенами и секретами. По словам исследователей, даже такие имена уже помогают понять, какие облака и какие учётные системы используют на машине.

2) Что пошло не так в защите

Главная проблема — доверие к магазину и к имени издателя. Злоумышленники не стали маскировать пакет под отдельную «левую» программу, а встроили вредоносный код в цепочку официального обновления.

Второй слабый участок — автоматическое обновление. Если расширение обновляется без ручной проверки, пользователь узнаёт о подмене только постфактум. Именно поэтому подобные истории опасны не только для разработчиков, но и для обычных сотрудников, которые просто ставят инструменты из встроенного каталога.

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

Похожую логику мы уже видели в других инцидентах с цепочкой поставок: в материале о вредоносном скрипте в стороннем ПО злоумышленники тоже использовали доверие к привычному каналу доставки кода. Разница только в цели — здесь атаковали рабочие станции разработчиков.

3) Уроки для читателя

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

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

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

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

4) Практические выводы и чек-лист

Ниже — короткий список того, что стоит проверить прямо сейчас, если вы ставите расширения для редакторов кода или других рабочих инструментов.

  • Проверьте, нет ли в системе недавно установленных или обновлённых расширений, которым вы не доверяете.
  • Удалите подозрительные плагины и перезапустите редактор, чтобы убрать активные процессы.
  • Посмотрите файл ~/.ssh/authorized_keys и удалите незнакомые ключи.
  • Проверьте автозапуск: планировщик задач, cron и LaunchAgent.
  • Смените пароли и отзовите активные сессии там, где вы входили с этой машины.
  • Переосмотрите права расширений и оставьте только те, что действительно нужны для работы.
  • Включите ручную проверку обновлений там, где это возможно.
  • Если вы работаете вне офиса, используйте средство для шифрования трафика в дороге только как часть общей гигиены безопасности, а не как единственную защиту.
  • Для рабочих машин держите отдельно учётки, где есть доступ к секретам, и обычные повседневные аккаунты.

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

Такие инциденты редко выглядят громко в моменте. Чаще всего всё начинается с обычного обновления, которое «просто поставилось» и тихо открыло атакующему дверь.

Поделиться: