Cursor AI Code Editor — это популярный инструмент разработки с поддержкой искусственного интеллекта, который кардинально изменяет подход к написанию и обработке программного кода. Однако недавно была выявлена критическая уязвимость, способная поставить под угрозу безопасность пользователя и системы. Речь идет о баге, позволяющем злоумышленникам выполнить удалённое выполнение кода (Remote Code Execution, RCE) с помощью техники инъекции подсказок (prompt injection). Уязвимость получила обозначение CVE-2025-54135 и очень высокий уровень опасности с CVSS оценкой 8.6.
Корень проблемы заключался в особом механизме взаимодействия Cursor с внешними системами посредством Model Control Protocol (MCP), отвечающим за загрузку и исполнение дополнительных компонентов и подсказок, которые могли содержать вредоносный код. Cursor работает с привилегиями разработчика, что значит, что успешная эксплуатация этой ошибки открывала доступ к полномочиям пользователя, включая возможность запуска любых системных команд. Уязвимость также проявляется в том, что Cursor автоматически обрабатывает новые конфигурационные записи в файле mcp.json без дополнительного подтверждения пользователя. Именно этот механизм и был использован для атаки: внедряемая вредоносная подсказка могла переписать конфигурацию, например, добавить новый MCP-сервер с злонамеренными инструкциями, в том числе заставить систему создать файл с вредоносным полезным кодом или вызвать команду для его выполнения.
Подобный тип эксплойта становится особенно опасным, когда атака реализуется через сторонние сервисы, такие как Slack. Пользователь добавляет Slack MCP сервер через интерфейс Cursor, злоумышленник размещает в публичном Slack-канале сообщение с вредоносным полезным кодом, после чего во время обращения Cursor к Slack для обработки сообщений происходит инъекция подсказок, ведущая к выполнению команды под контролем злоумышленника. Этот сценарий подчёркивает уязвимость современных AI-инструментов, которые активно взаимодействуют с внешним, зачастую ненадёжным контекстом. Проблемы усугублялись тем, что даже отклонение внесённой в mcp.json записи не предотвращало уже произошедшее выполнение кода.
Одновременно с патчем в версии 1.3 Cursor изменил подход к фильтрации выполняемых команд, отказавшись от списков запрещённых команд (denylist) в пользу списков разрешённых (allowlist). Ранее обход фильтров осуществлялся с использованием обфускации команд через Base64 или оболочки с кавычками, что открывало путь для исполнения вредоносного сценария. Кроме того, исследователи выявили похожие проблемы в работе с GitHub-репозиториями. Вредоносная инструкция могла быть спрятана в README.
md и при попытке Cursor обработать файл повлиять на выполнение команд, например, через использование инструментов read_file и create_diagram для чтения приватных SSH-ключей и их эксфильтрации на удалённый сервер. Такой вид атаки объединяет несколько инструментов и позволяет обойти классические средства безопасности, эксплуатируя доверие к инструментам и автоматизацию AI-редактора. Сейчас все описанные уязвимости устранены в 1.3 версии Cursor. Аналогичные проблемы были обнаружены и в других AI-инструментах, таких как Gemini CLI, где инъекции подсказок позволяли скрытно выгружать конфиденциальные данные.
Это свидетельствует о том, что с появлением и распространением интеллектуальных помощников для программистов возникли новые векторы атак, ориентированные на манипулирование контекстом и взаимодействием с внешними ресурсами. Для защиты от подобных угроз организациям рекомендуется наладить строгие процессы проверки и лимитирования прав AI-помощников, мониторинг коммуникаций с внешними протоколами и аудит исходящих запросов и команд. Важно понимать, что стандартные механизмы безопасности, предоставляемые AI-платформами, зачастую не покрывают все возможные варианты атак, особенно если задействованы цепочки вызовов и внешние API. Таким образом, уязвимость в Cursor AI Code Editor стала показательной вехой для индустрии, продемонстрировав насколько критично внимание к безопасной обработке и валидации данных при интеграции интеллектуальных ассистентов и внешних сервисов. Обновление редактора до версии 1.
3 является обязательным для всех пользователей, чтобы предотвратить возможные атаки, обеспечить соблюдение принципов безопасности и устойчивость производственного окружения. В конечном счёте урок Cursor напоминает о необходимости строгого контроля над тем, как AI-модели взаимодействуют с внешним миром, и важности грамотного построения цепочек доверия при создании новых поколений программных продуктов с искусственным интеллектом.