Microsoft 365 Copilot сам раскрыл параметр, который позволял красть пароли одним кликом
Исследователи Varonis просто расспросили Microsoft 365 Copilot Enterprise о его защитных механизмах — и чат-бот сам раскрыл недокументированный параметр ?autorun=1. С его помощью можно было украсть пароли из почты одним кликом по ссылке. Microsoft закрыл уязвимость, но не сразу.
Уязвимость в Microsoft 365 Copilot Enterprise нашли не через реверс-инжиниринг и не через фаззинг. Нужный параметр исследователям рассказал сам Copilot.
Как Copilot выдал собственную уязвимость
Команда из security-фирмы Varonis хотела собрать эксплойт, который срабатывает без каких-либо действий пользователя — только клик по ссылке. Copilot отказывался выполнять мощные команды без явного подтверждения (нажатия клавиши). Тогда исследователи начали задавать вопросы: почему автозапуск невозможен? Какие URL-структуры и deep-ссылки задействованы? Что происходит, если страница загружается с уже заполненным полем ввода?
Каждый отказ раскрывал новые технические детали архитектуры. В итоге Copilot выдал недокументированный параметр, который полностью обходил требование пользовательского согласия.
«В начале Copilot продолжал отказывать, но каждый отказ раскрывал технические детали его внутренней архитектуры», - рассказал старший исследователь Varonis Lior Adar. «В итоге Copilot раскрыл недокументированные параметры. Я взял их и использовал для запуска промптов автоматически».
Параметр ?autorun=1 и как он работал
Секретная строка - ?autorun=1. В связке с известным параметром ?q= промпт срабатывал в момент загрузки страницы, без каких-либо жестов со стороны пользователя.
URL атаки выглядел примерно так:
https://copilot.microsoft.com/?q=&autorun=1
Дальше в параметре ?q= размещался промпт: найти в почтовом ящике последнее письмо, извлечь адрес отправителя, собрать URL с этим адресом и «открыть» его. В итоге данные уходили на сервер атакующего. Отдельный вариант промпта искал в переписке пароли и другие учётные данные.
При этом эксфильтрованные данные конвертировались в base64 - чтобы скрыть кражу и избежать ошибок передачи.
Цепочка атаки по шагам
Varonis описала схему в блог-посте, опубликованном во вторник:
- Жертва кликает по специально сформированному URL (из письма, чата, QR-кода и т.д.)
- Браузер открывает copilot.microsoft.com в активной авторизованной сессии пользователя
- Параметр
?autorun=1запускает автоисполнение, промпт из?q=срабатывает без жеста - Copilot обрабатывает внедрённый промпт с полным доступом к сессии, подключённым приложениям и памяти
- Промпт выполняется до конца - включая сетевые запросы и многошаговые цепочки - даже если вкладка Copilot сразу закрыта
Отдельная атака через «вечную память» Copilot
Параллельно Varonis нашла ещё один вектор. Copilot умеет сохранять информацию о пользователе, предпочтениях и инструкциях в постоянное хранилище памяти - чтобы использовать их в будущих сессиях.
Атакующий мог встроить скрытый промпт в метаданные веб-страницы. Когда пользователь просил Copilot «сделай саммари этой страницы», ассистент параллельно выполнял инструкции из метаданных и записывал нужное в память. Такая «отравленная» память сохранялась даже после смены пароля, отзыва сессий и перерегистрации устройства. Обнаружить подделку можно было только вручную просмотрев содержимое хранилища.
С помощью этого метода атакующий мог переадресовывать ответы, фильтровать информацию, смещать ответы в нужную сторону или выполнять заданные действия при определённых триггерах.
Когда Microsoft исправил проблему
Varonis сообщила об уязвимости в ноябре. Microsoft тихо применил первое исправление в феврале - убрал возможность инжектировать текст через ?q=. Это сломало и часть легитимного функционала: сторонние браузерные интеграции перестали использовать параметр по назначению. Более комплексные исправления Microsoft выпустил во вторник (дата публикации материала на Ars Technica - 18 августа).
Атака получила название Co-Snitch. Это продолжение серии: ранее Varonis показала аналогичную одноклик-атаку на Copilot Personal, а в июне продемонстрировала эксфильтрацию под названием SearchLeak.
Что это значит
Если ты используешь Microsoft 365 Copilot Enterprise - убедись, что обновления от вторника применены в вашем тенанте. До этого момента достаточно было кликнуть по ссылке из письма или чата.
Более широкий вывод: LLM-ассистенты с доступом к почте, календарю и другим корпоративным данным - отдельная категория риска. Сам инструмент может стать источником информации об уязвимостях в себе же, если его расспрашивать достаточно настойчиво.
Полная техническая разбивка опубликована в блоге Varonis (вышел во вторник). Источник: Ars Technica, 18 августа.