Уязвимость Copilot в корпоративной версии Microsoft 365 позволяла увести письма, коды MFA, заметки встреч и файлы из OneDrive и SharePoint буквально после одного клика по ссылке. Баг уже закрыт, но история важна не только для админов Microsoft-стека: она показывает, как корпоративные AI-ассистенты превращают старые веб-ошибки в новый и довольно неприятный класс атак.
О проблеме 15 июня 2026 года сообщил Dark Reading со ссылкой на исследование Varonis Threat Labs. Речь идет о цепочке SearchLeak, которую Microsoft исправила под идентификатором CVE-2026-42824. Компания пометила уязвимость как critical, хотя указанная оценка CVSS составляет 6,5. Для пользователя хорошая новость в том, что дополнительных действий после патча не требуется. Для команд безопасности новость хуже: это не единичный прокол в одном продукте, а пример того, как LLM-интерфейсы начинают ломать привычную модель защиты.
Сама атака состояла из трех этапов. На первом злоумышленник отправлял жертве ссылку на Microsoft 365 Copilot Search с подставленным параметром q. Формально это обычный поисковый запрос, но в данном случае Copilot интерпретировал содержимое параметра не просто как текст, а как инструкцию. Дальше ассистенту можно было велеть найти конкретное письмо, вытащить тему, фрагмент содержимого или другой интересующий артефакт и встроить эти данные в URL. И все это без плагинов, без повышенных привилегий и без второго клика. Достаточно того, что у пользователя уже есть доступ к нужным письмам, документам и встречам внутри организации.
На втором этапе срабатывала старая добрая гонка, только теперь в AI-обертке. У Microsoft были защитные механизмы, которые должны были нейтрализовать опасный HTML в ответе Copilot, оборачивая его в безопасный блок. Проблема в том, что ответ рендерился потоково. Если в сгенерированном тексте появлялся тег img, браузер успевал обработать его и отправить запрос еще до того, как санитайзер доводил дело до ума. Исследователь Varonis Долев Талер описал это предельно приземленно: защита срабатывает слишком поздно, потому что браузер не ждет, пока модель закончит «думать». Для тех, кто строит собственные AI-интерфейсы, это неприятное напоминание: потоковая выдача удобна для UX, но резко усложняет безопасность вывода.
Третий этап делал эксфильтрацию почти незаметной. Напрямую слать картинку на сервер атакующего мешала политика Content Security Policy, но в allowlist был Bing. Исследователи использовали ссылку на поиск по картинке в Bing, куда в параметр подставлялся URL злоумышленника с уже зашитыми данными. Дальше происходил трюк, знакомый любителям SSRF: Bing со своей стороны запрашивал указанный адрес, а сервер атакующего просто логировал путь запроса. Так из корпоративного Copilot можно было увести темы писем, коды подтверждения, ссылки на сброс пароля, детали встреч и содержимое документов, которые индексирует Microsoft 365. Если в компании любят считать, что «это всего лишь ассистент для поиска», тут как раз тот случай, когда поиск внезапно становится каналом утечки.
Уязвимость Copilot интересна еще и тем, что она укладывается в новую категорию атак, которую исследователи называют parameter-to-prompt injection, или P2P. В обычном веб-приложении параметр URL был бы просто входными данными. В LLM-системе тот же параметр внезапно превращается в исполняемую инструкцию для модели. Директор по security research в Varonis Дор Ярдени прямо сказал Dark Reading, что проблема шире одного бага в одном приложении. По его словам, под удар попадает любой корпоративный AI-ассистент, где в одном потоке встречаются внешний ввод, доступ к внутренним данным и рендеринг результата. И это уже не теория для конференций, а вполне практическая схема: жертве не нужно запускать макрос, скачивать файл или обходить MFA. Достаточно нажать на ссылку с доверенного домена Microsoft.
Для разработчиков и продуктовых команд здесь несколько выводов, и все довольно приземленные. Во-первых, prompt injection больше нельзя считать экзотикой из лаборатории red team. Если ваш AI-продукт принимает параметры из URL, чатов, писем или тикетов и потом действует от имени пользователя, у вас уже есть поверхность атаки. Во-вторых, защита на уровне «потом почистим вывод» выглядит все слабее, особенно при потоковой генерации. В-третьих, корпоративные AI-сервисы нужно включать в threat model наравне с почтой, браузером и внутренними порталами, а не относиться к ним как к умной надстройке поверх поиска. И, наконец, старый принцип минимизации доступа снова выглядит скучно, но работает: чем меньше данных реально доступно пользователю и индексируется помощником, тем меньше радиус поражения, если цепочка все-таки найдется.
Уязвимость Copilot уже закрыта, но SearchLeak вряд ли останется последним сюжетом такого типа. Чем активнее в корпоративные продукты встраивают LLM, которые одновременно читают, ищут, интерпретируют и что-то рендерят, тем чаще баги на стыке prompt injection, HTML, CSP и SSRF будут собираться в рабочие эксплуатационные цепочки. Для индустрии это неприятный, но полезный сигнал: AI-ассистент пора перестать считать просто интерфейсом и начать рассматривать как полноценный элемент attack surface.