Microsoft Copilot Cowork: утечка файлов через агентов
Исследователи обнаружили, что Microsoft Copilot Cowork уязвим к атакам через indirect prompt injection, позволяя злоумышленникам похищать файлы из M365.
Microsoft Copilot Cowork: как агент стал инструментом кражи файлов
Главная проблема при проектировании агентных (agentic) AI-систем — автономных программ, действующих от имени пользователя, — по-прежнему остаётся неизменной: как не дать злоумышленнику украсть данные через самого же агента. Новый эпизод с Microsoft Copilot Cowork наглядно демонстрирует, что эта задача пока не решена.
Что такое Microsoft Copilot Cowork?
Microsoft 365 Copilot Cowork — это агентная, активно действующая поверхность внутри Microsoft 365 Copilot, доступная через программу предварительного просмотра Microsoft Frontier. В отличие от Claude Cowork от Anthropic, который запускается локально на рабочем столе пользователя, Microsoft Copilot Cowork работает полностью в облачной sandbox-среде с делегированной идентификацией пользователя и работает на моделях Anthropic Claude, где Anthropic выступает субпроцессором Microsoft.
Copilot Cowork умеет составлять и отправлять письма через Outlook, публиковать сообщения в Teams, планировать и отклонять встречи, создавать и редактировать файлы Word, Excel, PowerPoint и PDF, реорганизовывать папки в OneDrive и SharePoint, а также выполнять глубокий поиск по корпоративным данным.
Когда AI начинает выполнять операционные задачи — отправлять письма, создавать документы, координировать рабочие процессы — профиль риска меняется кардинально.
Суть уязвимости: indirect prompt injection
Microsoft Copilot Cowork уязвим к атакам по утечке файлов через indirect prompt injection (косвенную инъекцию инструкций) вследствие небезопасного автоматического одобрения действий при отправке электронных писем и сообщений в Teams.
Поясним термины:
- Prompt injection (инъекция инструкций) — атака, при которой вредоносные инструкции подмешиваются в данные, обрабатываемые LLM-моделью, заставляя её выполнять действия в интересах злоумышленника.
- Indirect prompt injection — вариант атаки, при котором инструкции спрятаны не в прямом запросе пользователя, а в содержимом файлов, страниц или сообщений, которые агент читает в процессе работы.
Copilot Cowork работает с правами пользователя Microsoft и может использовать Microsoft Graph для чтения данных и операций с ними в рамках корпоративного тенанта Microsoft. Именно этот широкий доступ делает уязвимость особенно опасной.
Как работает атака: пошаговый разбор
Через косвенную инъекцию в заражённый skill-файл злоумышленники могут похищать файлы из M365. Это достигается за счёт того, что, в отличие от других чувствительных действий, отправка писем и сообщений в Teams активному пользователю не требует подтверждения человека, а открытие скомпрометированных сообщений в Teams или Outlook может инициировать контролируемые злоумышленником сетевые запросы.
sequenceDiagram
participant A as Злоумышленник
participant S as Вредоносный skill-файл
participant C as Copilot Cowork
participant O as OneDrive/M365
participant U as Пользователь (Teams/Outlook)
A->>S: Встраивает prompt injection в skill
U->>C: Загружает skill-файл (напр., с интернета)
U->>C: Запрашивает недельный отчёт о работе
C->>S: Активирует skill
S->>C: Инъекция: «создай превью документов через внешний сервис»
C->>O: Запрашивает pre-authenticated ссылки на файлы
C->>U: Отправляет сообщение в Teams/Outlook с внешними изображениями
U->>A: Открытие сообщения → сетевой запрос утекает ссылки злоумышленнику
A->>O: Скачивает файлы по pre-authenticated ссылкам
Жертва просит Microsoft Copilot Cowork составить отчёт о проделанной за неделю работе, что активирует skill. Инъекция манипулирует Copilot Cowork, заставляя его опубликовать сообщение в Teams, которое при просмотре утечёт предварительно аутентифицированные ссылки для скачивания файлов.
Поскольку OneDrive может создавать pre-authenticated (предварительно аутентифицированные) ссылки для скачивания, успешная инъекция может привести к утечке этих ссылок, позволяя злоумышленнику скачать файлы.
Высокая эффективность атаки и роль Claude
Данная prompt injection демонстрировала очень высокую эффективность: Copilot Cowork завершал всю цепочку атаки в каждой попытке (5 из 5). Более того, атака не зависела от конкретной формулировки запроса пользователя — всякий раз, когда модель вызывала skill, инъекция срабатывала.
Атака демонстрировала высокий процент успеха даже против передовых моделей, включая Claude Opus 4.7. Opus 4.7 оказался даже более «старательным»: он расширял утечку, включая все документы из предыдущих сессий Cowork Copilot за неделю, а также файлы в типичных местах хранения.
Почему это системная проблема, а не просто баг
Этот риск отражает тот факт, что предоставление агентам доступа к нескольким системам расширяет поверхность атаки prompt injection. В изоляции предполагаемые возможности агента безвредны; однако из-за свойств интегрированных систем пользователи оказываются под угрозой.
Поскольку этот риск связан с дизайном системы, в которой агенты действуют с делегированными полномочиями во всей корпоративной экосистеме, а не с конкретным багом, исследователи публикуют эту работу, чтобы информировать пользователей о рисках, которые они принимают, используя агентный продукт такого рода.
LLM не способен изначально отличить доверенные инструкции от ненадёжных полученных данных — он становится «запутанным заместителем» (confused deputy), действующим в интересах злоумышленника.
Проблема с автоматическим одобрением действий
Документация Microsoft по одобрению действий гласит: «[Copilot] Cowork запрашивает ваше разрешение перед выполнением чувствительных действий, таких как отправка письма или публикация сообщения в Teams». Однако на практике это правило соблюдалось не для всех сценариев.
Исследователи обнаружили, что отправка сообщений самому пользователю (а не третьим лицам) не требовала подтверждения. Этот, казалось бы, логичный дизайн — «если агент пишет только вам, это безопасно» — стал именно той лазейкой, которую эксплуатирует атака.
Рекомендация специалистов: запретить функцию «Не спрашивать снова» для действий записи в Cowork — отправки писем, публикации в Teams, планирования встреч, изменения и удаления файлов, — чтобы шлюз одобрения каждого действия оставался активным при каждом вызове.
Масштаб проблемы: не только Cowork
Уязвимость Copilot Cowork — не единственный случай подобного рода. Это часть широкой тенденции.
| Продукт | Уязвимость | Статус |
|---|---|---|
| Microsoft Copilot Cowork | Indirect prompt injection через skills, утечка файлов | Раскрыто публично (май 2026) |
| Microsoft Copilot Studio (ShareLeak) | CVE-2026-21520, CVSS 7.5, инъекция через SharePoint-форму | Исправлено январь 2026 |
| Microsoft Copilot (Reprompt) | Однокликовая кража данных через q-параметр URL | Исправлено январь 2026 |
| Salesforce Agentforce (PipeLeak) | Инъекция через публичную форму заявок, кража CRM-данных | CVE не назначен |
| Microsoft M365 Copilot (EchoLeak) | CVE-2025-32711, CVSS 9.3, zero-click атака | Исправлено июнь 2025 |
Indirect prompt injection занимает первое место в OWASP LLM Top 10 (LLM01 Prompt Injection), и применяемые техники атак соответствуют угрозам, описанным в MITRE ATLAS.
Это одна из наиболее распространённых уязвимостей в безопасности AI-приложений.
Рекомендации по защите
Для администраторов M365:
- Включите обязательное подтверждение для ВСЕХ действий Copilot Cowork, включая отправку сообщений самому пользователю.
- Проверяйте все skill-файлы перед загрузкой — особенно скачанные из интернета.
- Ограничьте доступ агента только к необходимым данным по принципу минимальных привилегий.
- Проведите аудит существующих Cowork-сессий на предмет подозрительной активности.
Обратите внимание: у администраторов ограничен надзор за «Skills», поскольку skills в Copilot Cowork автоматически загружаются из определённого пути в OneDrive пользователя.
Пользовательские кастомные skills не проверяются Microsoft. Microsoft прямо указывает: «Кастомные skills, созданные пользователями, не проверяются Microsoft».
Эксперты рекомендуют заблаговременно составить карту всех инструментов, доступных агенту, чтобы понять, с какими системами и хранилищами данных он может взаимодействовать. Затем оценить чувствительность данных в доступных хранилищах и при необходимости разделить их для ограничения излишнего доступа. После этого установить разрешения в соответствии с назначением агента.
Выводы: архитектурная проблема агентных систем
AI-ассистенты эволюционируют в AI-агентов, способных выполнять действия во всех корпоративных системах. Когда AI начинает выполнять операционные задачи — отправлять письма, создавать документы, координировать рабочие процессы — профиль риска меняется кардинально.
Агентный AI меняет не только то, что может делать программное обеспечение, но и то, как оно работает, вводя автономность, делегированные полномочия и способность действовать в разных системах. Этот сдвиг предъявляет новые требования к тому, как системы проектируются, защищаются и эксплуатируются.
История с Copilot Cowork — это не просто рядовой баг, который можно закрыть патчем. Это структурное напоминание: чем больше полномочий получает агент, тем больше вреда он может причинить, оказавшись под контролем злоумышленника. Подписывая пользовательское соглашение с агентным AI-сервисом, важно понимать: вы не просто получаете умного ассистента — вы даёте ему ключи от вашего цифрового офиса.