Усиленные ИИ-системы для разработки поголовно уязвимы по умолчанию
Инъекции промптов вкупе с манипуляциями над собственным функциональностью IDE-сред позволяют красть из них данные или обеспечивать выполнение произвольных команд. Просто потому, что им слишком многое разрешается
24 CVE-индекса
Исследователь киберугроз по имени Ари Марзук (Ari Marzouk), также известный как MaccariTA, опубликовал статью под названием «IDEsaster: Новый класс уязвимостей в интегрированных средах разработки, усиленных искусственным интеллектом», где прямо говорит о катастрофическом положении дел в этих фреймворках. В общей сложности он идентифицировал 30 уязвимостей, которые позволяют выводить данные или осуществлять запуск произвольного кода.
Проблемы выявлены во множестве популярных интегрированных сред (IDE) и расширениях к ним: Cursor, Windsurf, Kiro.dev, GitHub Copilot, Zed.dev, Roo Code, Junie, Cline и других. 24 уязвимости получили идентификаторы CVE.
«Удивительнее всего, на мой взгляд, это что для каждой протестированной среды с ИИ-усилением существуют множественные варианты поэтапных атак», - заявил Марзук в интервью изданию The Hacker News. - «Все IDE-среды с ИИ (и интегрируемые с ними ИИ-ассистенты для программистов) фактически игнорируют программную базу - саму IDE - в своих моделях угроз. Все их функции рассматриваются как заведомо безопасные, потому что они там присутствуют на протяжении многих лет. Однако, стоит добавить автономного ИИ-ассистента, и те же самые функции могут быть превращены в источник угроз, в том числе - средства вывода данных или запуска произвольного кода».
В целом все эти сценарии атак можно распределить по трём разновидностям:
Первая - это обход защитных ограничений большой языковой модели (LLM) с захватом контекста и принуждением модели выполнять действия в интересах атакующего (т. н. инъекция промпта или запроса).
Вторая - это выполнение определённых действий без какого-либо взаимодействия с пользователем за счёт автоматически одобряемых вызовов со стороны инструментария ИИ-агента.
Третья - это активация легитимных функций IDE, которые позволяют потенциальному злоумышленнику выйти за пределы безопасной среды и для вывести чувствительные данные или выполнить произвольные команды.
Ранее уже описывались сценарии атак, подразумевавших применение инъекций промптов вместе с уязвимым инструментарием или вкупе со злоупотреблением легитимными инструментами: такие сценарии подразумевали изменение настроек ИИ-агента с целью добиться от него выполнения произвольного кода или иного незапланированного поведения.
IDEsaster отличается тем, что для достижения вредоносных результатов задействуются легитимные функции IDE-сред.
Перехват контекста может осуществляться множеством способов, в том числе через добавляемые пользователем контекстные ссылки — например, встроенные URL-адреса или текст со скрытыми символами, невидимыми для человека, но обрабатываемыми LLM.
Как вариант, контекст может быть «загрязнён» через сервер Model Context Protocol (MCP) посредством отравления инструментов (tool poisoning), rug pull-атак или в случаях, когда на легитимный MCP-сервер подаётся вредоносный ввод из внешнего источника (от злоумышленника).
Отправная инъекция
Инъекция промпта позволяет, например, считывать содержимое значимых файлов с помощью легитимных или уязвимых инструментов, а затем производить запись JSON-файла через легитимный инструмент (write_file или edit_file) с удалённой JSON-схемой, размещённой на домене, контролируемом атакующим. Это приводит к утечке данных в момент, когда IDE выполняет GET-запрос.
Эта уязвимость проявляется в таких разработках как Cursor (CVE-2025-49150), Roo Code (CVE-2025-53097), JetBrains Junie (CVE-2025-58335), а также GitHub Copilot (без присвоения CVE-индекса), Kiro.dev (без CVE) и Claude Code (В последнем случае пользователю выводится предупреждение о возможности атаки).
Уязвимости, позволяющие редактировать настройки IDE-системы с помощью инъекции промпта отмечены в GitHub Copilot (CVE-2025-53773), Cursor (CVE-2025-54130), Roo Code (CVE-2025-53536), Zed.dev (CVE-2025-55012) и Claude Code (выводится предупреждение безопасности, CVE-индекс не присвоен) Изменение настроек IDE (.vscode/settings.json или .idea/workspace.xml) позволяет добиться выполнения кода путём установки параметров php.validate.executablePath или PATH_TO_GIT для пути к вредоносному исполняемому файлу.
Уязвимости, которые позволяют использовать инъекцию промпта для редактирования файлов настроек рабочего пространства (*.code-workspace) присутствуют в GitHub Copilot (CVE-2025-64660), Cursor (CVE-2025-61590) и Roo Code (CVE-2025-58372). Перенастройка и переопределения настроек multi-root workspace могут приводить к выполнению произвольного кода.
Следует отметить, что два последних примера зависят от того, что ИИ-агент настроен на автоматическое одобрение операций записи файлов. Это, в свою очередь, позволяет инициировать запись вредоносных настроек рабочего пространства. Поскольку такое поведение по умолчанию автоматически одобряется для файлов внутри рабочего пространства, это приводит к произвольному выполнению кода без какого-либо участия пользователя и даже без необходимости повторного открытия workspace.
Марзук предлагает следующие меры для предотвращения подобных казусов. Во-первых, использовать IDE с ИИ-усилением и ИИ-агентов только для работы с доверенными проектами и файлами. Во-вторых, подключаться только к доверенным MCP-серверам и постоянно отслеживать изменения на них (даже доверенный сервер может быть скомпрометирован). В-третьих, анализировать потоки данных MCP-инструментов (например, легитимный MCP-инструмент может забирать данные из источника, контролируемого атакующим, такого как GitHub PR).
«Ключевой источник риска - избыточность привилегий ИИ-инструментов в отношении данных, с которыми их предлагается использовать, - считает Михаил Зайцев, эксперт по информационной безопасности компании SEQ. - IDE-средства, усиленные ИИ, призваны уменьшать количество проблем в разрабатываемом коде, но по существу они сами на данный момент выглядят проблемно».
Эксперт напомнил, что буквально на днях произошёл инцидент, когда ИИ «злоупотребил доверием» и необратимо уничтожил значимые данные у разработчика.
«Зрелости эти системы пока не достигли, а значит риск, который они представляют, необходимо иметь в виду постоянно», - добавил Зайцев.




