Разрабатываемая технология на основе ИИ от команды AppSec Research Positive Technologies помогла найти критическую уязвимость в ИИ-проекте от Microsoft – Prompty. Этот open source проект объединяет инструмент для работы с промптами и специализированный формат файлов .prompty. Его используют для разработки, управления, отладки и оценки промптов – запросов к большим языковым моделям (LLM). Уязвимость затрагивала TypeScript-пакет @prompty/core. Недостаток был обнаружен в ходе тестирования новой разработки, которая автоматизирует поиск уязвимостей и проверку возможности их эксплуатации, ускоряя анализ по сравнению с традиционными подходами. AppSec-инженеру потребовалось всего две минуты на триаж результатов сканирования.
Уязвимость получила идентификатор CVE-2026-73299 и максимальную оценку — 10 из 10 по шкале CVSS. Она затрагивала версии @prompty/core до 0.1.4 и 2.0.0-beta.4 включительно. Microsoft устранила проблему в версиях 0.1.5 и 2.0.0-beta.5. По открытым данным npm, PyPI и Visual Studio Marketplace, экосистемой Prompty пользуются десятки тысяч разработчиков, поэтому уязвимость потенциально могла затронуть большое число корпоративных и пользовательских систем.
Недостаток относился к классу внедрения кода через серверные шаблоны (Server-Side Template Injection, SSTI). При обработке файлов.prompty компонент Nunjucks не ограничивал доступ шаблона к объектам JavaScript. Подготовив специальный .prompty-файл, злоумышленник мог выйти за рамки обычной работы с шаблоном и добиться выполнения произвольного JavaScript-кода в процессе Node.js – с теми же правами, с которыми было запущено приложение.
Для компании последствия такой атаки зависят от привилегий процесса и окружения, в котором работает Prompty. В потенциальном сценарии атакующий мог получить доступ к данным приложения и секретам, изменить файлы или настройки, вмешаться в работу сервиса либо полностью нарушить его доступность. Именно возможность выполнения кода в системе с правами процесса Node.js стала причиной максимальной оценки уязвимости по CVSS.
При этом речь не идет о ситуации, когда любой текстовый запрос пользователя к языковой модели позволяет выполнить код на сервере. Для эксплуатации приложение должно использовать уязвимый TypeScript-runtime @prompty/core с Nunjucks и обработать подготовленный злоумышленником .prompty-файл. В зоне риска могут оказаться сценарии, в которых такие файлы загружают из внешних репозиториев, получают от сообщества или формируют автоматически с помощью LLM. В официальном описании Microsoft отдельно указывает на риск обработки недоверенных, полученных из сообщества, клонированных или сгенерированных LLM файлов .prompty.


