Исследователи из компании LayerX (специализирующейся на кибербезопасности браузеров) обнаружили серьёзную проблему в среде разработки Cursor, которая использует искусственный интеллект для написания кода. Эта уязвимость получила название CursorJacking, а её оценка по шкале CVSS (общей системе оценки уязвимостей) составила 8,2 балла из десяти. Она ставит под угрозу всех разработчиков, применяющих Cursor в своей повседневной работе. Дело в том, что любое установленное расширение может получить доступ к ключам API (программным интерфейсам приложений) и токенам сеансов пользователя, не запрашивая особых разрешений и не требуя действий со стороны жертвы.
В чём суть проблемы?
Стандартные правила безопасности диктуют, что приложения должны хранить конфиденциальные данные в защищённых системных хранилищах, таких как macOS Keychain (системная связка ключей в macOS) или Windows Credential Manager (диспетчер учётных данных Windows). Однако Cursor обходит эту критически важную меру защиты. Он сохраняет учётные данные аутентификации в локальной незашифрованной базе данных SQLite (лёгкой реляционной базе данных). Эта база располагается по предсказуемому пути на локальном диске пользователя. И самое главное - приложение не разграничивает доступ между расширениями и этим файлом. Другими словами, любое установленное расширение может напрямую прочитать базу и извлечь из неё учётные данные, независимо от того, какие разрешения у него заявлены.
Атака требует от злоумышленника минимальных усилий. Сначала он размещает в маркетплейсе Cursor безобидное на вид расширение, например кастомную тему оформления или утилиту для форматирования кода. Разработчик устанавливает его, не видя никаких предупреждений безопасности или запросов на доступ. После этого вредоносное расширение автоматически обращается к локальной базе SQLite и извлекает из неё ключи API и токены сеансов в читаемом виде. Затем похищенные данные незаметно передаются на внешний сервер, контролируемый злоумышленником.
Последствия такой утечки могут быть катастрофическими. Поскольку разработчики используют мощные ключи API для доступа к облачным сервисам, ущерб выходит далеко за рамки самой среды Cursor. Злоумышленник может запустить дорогостоящие вычисления на чужих ключах OpenAI или Anthropic (популярных сервисах искусственного интеллекта), что приведёт к крупным финансовым потерям. Кроме того, под угрозой оказывается исходный код, метаданные и другие конфиденциальные данные, которые разработчик ранее отправлял через ИИ-подсказки. Вредоносное расширение может получить доступ к сторонним интеграциям (например, к репозиториям кода, облачным провайдерам), а также скомпрометировать серверные сервисы. В конечном счёте злоумышленник способен полностью выдать себя за пользователя Cursor и проводить дальнейшие атаки на связанные системы.
LayerX официально сообщила об этой уязвимости разработчикам Cursor 1 февраля 2026 года. Через четыре дня компания-разработчик ответила, что расширения находятся в той же границе доверия, что и любые другие локальные приложения. Cursor заявил, что ответственность за проверку устанавливаемых расширений лежит исключительно на пользователе. Иначе говоря, автор продукта не считает сложившуюся ситуацию своей ошибкой, полагая, что разработчики сами должны решать, каким расширениям доверять.
На конец апреля 2026 года компания так и не выпустила обновление или архитектурное исправление этой проблемы. Эксперты по безопасности настоятельно рекомендуют Cursor переработать свою конструкцию, введя строгую изоляцию между расширениями и системой хранения учётных данных. Все конфиденциальные данные должны обрабатываться исключительно через защищённые системные связки ключей. Пока же заплатка не появилась, разработчикам приходится проявлять крайнюю осторожность при установке сторонних дополнений. Стоит тщательно проверять каждое расширение на предмет легитимности, а по возможности вообще избегать установки любых дополнений, не прошедших независимый аудит безопасности.
Эта ситуация лишний раз напоминает, что хранение чувствительных данных в обычных файлах без шифрования - серьёзная архитектурная ошибка. Даже если разработчик уверен в безопасности своей платформы, злоумышленники всегда ищут обходные пути. В случае с Cursor таким путём стали расширения, которые по определению должны иметь ограниченные возможности. Из-за отсутствия контроля доступа любой вредоносный модуль может превратиться в инструмент для кражи ключей API. Остаётся надеяться, что компания всё же пересмотрит свою позицию и выпустит обновление, которое защитит разработчиков от подобных атак.
Ссылки