КИБЕРБЕЗОПАСНОСТЬ

Уязвимость Cursor сводит захват среды разработки к двум кликам

Два клика в Cursor могут привести к установке вредоносного MCP-сервера и запуску команд с правами разработчика.

✍️ Редакция iTech News | 16.07.2026 | ⏱ 5 мин | Источник: Dark Reading

Два клика в популярном AI-редакторе кода могут закончиться захватом среды разработки: исследователи показали сценарий, в котором уязвимость Cursor позволяет подсунуть разработчику вредоносный MCP-сервер и выполнить команды с его правами. Для команд, которые уже пустили AI-инструменты в повседневную разработку, это не академическая история про «где-то там нашли баг», а вполне приземленный риск утечки токенов, исходников и доступа к внутренним системам.

Как пишет Dark Reading, 15 июля исследователи из Adversa AI описали цепочку из двух старых и хорошо известных классов ошибок, которая позволяет маскировать установку вредоносного компонента под рутинное действие внутри IDE. Речь идет о deeplink-механизме Cursor: через специальную ссылку можно инициировать установку MCP-сервера, а тот уже запускается с теми же правами, что и пользователь. Иными словами, если разработчик подтвердил установку, злоумышленник получает не просто «плагин в редакторе», а код, исполняемый на машине с доступом к файлам, токенам, ключам и рабочему окружению.

Сценарий выглядит неприятно именно потому, что не требует сложной социальной инженерии. Исследователи спрятали deeplink на установку MCP-сервера внутрь ссылки, которая внешне выглядела как обычный запрос на ревью pull request. Для этого использовалось двойное URL-кодирование: пользователь видит привычный рабочий контекст, кликает по ссылке, после чего Cursor показывает диалог установки MCP-сервера. На этом месте атака еще не становится «бесшумной», но включается вторая проблема: поле с аргументами команды в окне подтверждения слишком узкое и фактически не показывает всю строку. В результате жертве можно показать безобидный фрагмент команды, а вредоносную часть увести за пределы видимой области.

Именно эта комбинация и делает уязвимость Cursor особенно неприятной. По словам исследователя Adversa AI Рони Утевского, это не экзотическая дыра из мира генеративного ИИ, а старый класс argument injection, который индустрия уже видела много раз. Проблема в том, что AI-инструменты для разработки быстро собирают знакомые механизмы заново, но без того слоя защит, который браузеры и ОС наращивали два десятилетия: от внятных предупреждений и безопасного отображения параметров до более жестких ограничений на то, что вообще можно запускать по клику. В статье Dark Reading Утевский прямо сравнивает ситуацию с уже закрытым в мае случаем в Claude Code, где тоже фигурировал one-click argument injection RCE. На этом фоне Codex, по его словам, выглядит менее рискованно по самой конструкции deeplink-механики: ссылка только подставляет текст в поле запроса, а не запускает действие немедленно.

Для Cursor история болезненна еще и из-за масштаба продукта. По данным, приведенным в публикации, сервисом пользуются более 50 тысяч компаний, включая 64% из списка Fortune 500. Чем шире проникновение AI-редактора в корпоративную разработку, тем выше цена подобных огрехов. Машина разработчика давно перестала быть просто ноутбуком с IDE: это вход в Git-репозитории, облако, CI/CD, секреты для тестовых и продовых окружений, внутренние пакеты и сервисы. Если вредоносный MCP-сервер запускается с пользовательскими правами и без песочницы, атака может выйти далеко за рамки локального редактора. В теории злоумышленник получает путь к краже исходного кода, токенов и дальнейшему закреплению внутри инфраструктуры компании.

Контекст тоже важен. За день до публикации Adversa другая компания, Mindgard, раскрыла отдельную проблему в Cursor, где вредоносный код можно было скрыть в поддельном Git-файле. То есть речь уже не об одном неудачном баге, а о серии находок вокруг самой среды AI-разработки. Несколько лет индустрия спорила в основном о том, не вытащит ли LLM секрет в ответе и не поддастся ли агент prompt injection. Теперь фокус смещается: атаковать можно не только модель или ее вывод, но и саму оболочку, в которой разработчик с этой моделью работает. И если в классическом IDE вредоносное расширение обычно проходило через более привычные точки контроля, то у MCP-экосистемы пока заметно меньше зрелых барьеров.

Cursor сообщил Dark Reading, что компания рассматривает описанные проблемы как одну уязвимость. Представитель вендора признал, что баг сначала попал к стороннему поставщику услуг по безопасности и был ошибочно закрыт, после чего его вновь открыли и начали расследование. Это важная деталь: даже когда риск уже пришел в баг-репорт, нормальный процесс триажа не гарантирован. Для корпоративных заказчиков такой эпизод звучит как лишний аргумент не полагаться на дефолтные настройки и красивые обещания про «умного помощника для команды».

Практический вывод для разработчиков и ИТ-руководителей довольно скучный, а значит полезный. Если MCP уже используется, его нужно воспринимать не как невинный способ подключить еще один инструмент к агенту, а как потенциальный канал исполнения кода. Adversa рекомендует белые списки разрешенных серверов, фильтрацию путей установки и запуска внутри Cursor и детектирование подозрительных цепочек действий как запасной вариант. Проще говоря, контролировать надо не одну кнопку «подтвердить», а весь маршрут: от ссылки и всплывающего окна до того, какая именно команда в итоге исполнилась и какой MCP-сервер оказался в системе. Для российских команд это особенно актуально в тех случаях, где AI-редакторы уже успели встроиться в процессы быстрее, чем службы ИБ успели обновить свои модели угроз.

Уязвимость Cursor в этой истории важна не только сама по себе. Она показывает, что рынок AI-инструментов для разработки входит в ту стадию, где выиграет не тот, кто быстрее добавит еще одну агентную функцию, а тот, кто научится делать опасные действия скучно и предсказуемо безопасными. Пока же у отрасли слишком много доверия к одному диалогу подтверждения и слишком мало инженерной дисциплины вокруг того, что именно происходит после второго клика. Подробности кейса — Dark Reading.

Поделиться: Telegram X LinkedIn