Prompt injection в Microsoft Copilot Cowork: риск утечки файлов
PromptArmor показала цепочку prompt injection в Microsoft Copilot Cowork: poisoned skill, Teams/Email, внешние изображения и ссылки OneDrive.
По состоянию на 27 мая 2026 года Microsoft Copilot Cowork prompt injection стал хорошим примером того, почему корпоративных AI-агентов нельзя оценивать только по качеству ответа модели. PromptArmor показала цепочку, где отравленный custom skill мог заставить Copilot Cowork отправить пользователю сообщение в Teams или Outlook, а внешние изображения в этом сообщении уносили pre-authenticated ссылки на файлы из OneDrive и SharePoint.
Корректная формулировка здесь важна: исследователи описали условный, но практичный сценарий, а не массовую подтверждённую утечку у всех пользователей Copilot. Агент работает с правами пользователя, читает непроверенный skill-файл, получает доступ к ссылкам на документы и может отправить сообщение без отдельного подтверждения, если получатель — тот же активный пользователь. В момент открытия сообщения клиент загружает внешнее изображение, а вместе с ним уходит полезная для атакующего строка запроса.
Для Toolarium это продолжение темы, которую мы уже разбирали в материалах про рост Microsoft 365 Copilot в enterprise, function hijacking в MCP и риски автономных AI-агентов. Чем больше агент действует от имени сотрудника, тем важнее не только «что он ответил», но и какие действия он может выполнить между входом и выходом.
Что показала PromptArmor
PromptArmor описала атаку на Microsoft Copilot Cowork через indirect prompt injection в skill-файле. В их сценарии пользователь хранит чувствительные документы в SharePoint или OneDrive, добавляет custom skill с вредоносной инструкцией, а затем просит Cowork сделать недельный обзор работы. Skill подмешивает агенту скрытую задачу: найти недавно использованные документы, получить ссылки на них и вставить эти ссылки в запросы к внешним изображениям.
Ключевой момент не в самом факте чтения файлов. Microsoft Learn пишет, что Cowork наследует разрешения пользователя: агент может обращаться только к тем файлам и письмам, к которым уже имеет доступ человек. Проблема появляется дальше, когда доступные данные превращаются в действие и выходят за пределы Microsoft 365.
По данным PromptArmor, отправка письма или Teams-сообщения самому активному пользователю в их тестах проходила без отдельного human approval. Microsoft в документации к Cowork пишет, что перед чувствительными действиями, включая отправку письма или публикацию сообщения в Teams, появляется запрос на разрешение. Поэтому формулировка должна быть аккуратной: исследователи заявляют о конкретном обходном поведении для self-recipient сценария, а не о том, что все approval-гейты Microsoft не работают.
| Шаг | Что происходит | Почему это важно |
|---|---|---|
| Poisoned skill | В OneDrive появляется SKILL.md с prompt injection |
Microsoft Learn разрешает custom skills, но прямо предупреждает: пользовательские skills не валидируются Microsoft |
| Delegated access | Cowork ищет файлы в OneDrive и SharePoint с правами пользователя | Чем шире доступ сотрудника, тем больше blast radius у агента |
| Message action | Агент отправляет Teams/Email сообщение активному пользователю | PromptArmor утверждает, что в этом self-recipient случае approval не требовался |
| External image | В сообщении есть внешнее изображение с параметрами URL | При открытии сообщения клиент делает сетевой запрос к атакующему домену |
| Pre-authenticated links | В параметрах уходят ссылки на файлы | По описанию PromptArmor, такие ссылки позволяют скачать документ тому, у кого есть URL |

Почему это риск AI-агента, а не просто риск модели
Обычная prompt injection часто выглядит как испорченный ответ: модель игнорирует инструкцию, раскрывает лишнее или выполняет не тот шаг. В Copilot Cowork граница опаснее, потому что агент не просто пишет текст. Он работает с почтой, Teams, календарём, файлами, enterprise search, custom skills и plugins. Microsoft Learn описывает Cowork как preview-функцию Microsoft 365 Copilot, которая выполняет задачи от имени пользователя: отправляет письма, создаёт документы, планирует встречи и ищет по организации.
Именно поэтому атака упирается в связку действий. Один элемент сам по себе выглядит допустимым: прочитать skill, найти документы, составить обзор, отправить сообщение, отрисовать HTML с изображением. Вместе они превращаются в канал утечки. Безопасность такого агента нельзя проверить одним фильтром на входе или одной модерацией ответа.
PromptArmor в своём guide формулирует threat model шире: email, Teams, SharePoint/OneDrive, plugin responses, web search, code execution, adaptive cards и calendar invites становятся и источниками непроверенного контента, и каналами действий. Это близко к тому, что в agent security называют excessive agency: агенту дают нормальные рабочие права, но не всегда ограничивают цепочку, в которой эти права комбинируются.

Что говорит Microsoft о Cowork
В документации Microsoft Cowork помечен как prerelease / preview feature. Для доступа нужен Frontier preview program, а возможности могут меняться. Это важная оговорка: речь идёт о ранней поверхности Microsoft 365 Copilot, которую компании должны включать осознанно, а не как ещё одну обычную кнопку в офисном пакете.
Microsoft Learn описывает несколько защитных идей. Cowork действует через Microsoft 365 account, наследует пользовательские разрешения, показывает sensitivity labels, просит approval перед чувствительными действиями и даёт пользователю возможность просмотреть детали некоторых approval-запросов. Документация также говорит, что Cowork работает в изолированной среде.
Но та же документация подтверждает элементы, которые делают сценарий PromptArmor реалистичным: custom skills создаются через SKILL.md в OneDrive, Cowork обнаруживает их автоматически в начале разговора, а пользовательские skills Microsoft не валидирует. Scheduled prompts тоже поддерживаются: пользователь может описать повторяющуюся задачу, а Cowork будет запускать её по расписанию.
Для безопасников это означает простую вещь: полагаться только на обещание approval недостаточно. Нужно смотреть, какие действия считаются чувствительными, где работает «Don't ask again», какие случаи не показывают предпросмотр содержимого, какие сообщения уходят самому пользователю, и как клиент Outlook или Teams отрисовывает внешние ресурсы.
Что делать компаниям прямо сейчас
Первый слой защиты — уменьшить лишний доступ до включения Cowork. Если у сотрудника годами копились stale Teams memberships, общедоступные SharePoint-сайты и «anyone with the link» расшаривания, агент унаследует этот багаж. PromptArmor рекомендует Restricted Access Control для чувствительных сайтов, Restricted Content Discovery для контента, который не должен попадать в tenant-wide grounding, регулярные Site Access Reviews и auto-labeling в Microsoft Purview.
Второй слой — ограничить саму возможность унести скачиваемый файл по ссылке. PromptArmor предлагает использовать SharePoint Block Download Policy, например `Set-SPOSite -Identity <SiteURL> -BlockDownloadPolicy $true`, или включать `BlockDownloadPolicy` через sensitivity label. Это не бесплатная мера: Microsoft предупреждает, что пользователи под такой политикой получают browser-only access без скачивания, печати и синхронизации, а доступ через приложения Microsoft 365 тоже ограничивается. Поэтому её стоит применять к действительно чувствительным зонам, а не ко всему тенанту вслепую.
Третий слой — governance для skills и plugins. Пользовательские SKILL.md не должны попадать в рабочий контур без ревью. Для plugins нужен allowlist: особенно для тех, что умеют писать во внешние сервисы или менять данные. PromptArmor guide отдельно советует отправлять custom skills на admin review перед использованием и блокировать partner plugins с чувствительными write actions там, где риск выше пользы.
Четвёртый слой — политика approvals. Если в Cowork используется «Don't ask again» для похожих действий в текущем разговоре, это нужно учитывать в threat model. Для ролей с доступом к финансам, юридическим документам, HR и руководительской переписке разумнее запретить привычку массово подтверждать действия агента и требовать отдельного просмотра получателей, содержания и параметров.
Чего не стоит писать в корпоративном отчёте
Эта история легко превращается в кликбейт, но для работы с риском полезнее точные формулировки. Нельзя утверждать, что Microsoft признала массовую утечку файлов или что любой пользователь Copilot Cowork уже пострадал. Нельзя называть это классической CVE-уязвимостью с готовым патчем, если такого статуса нет. Нельзя говорить, что «модель украла данные»: цепочка завязана на агентные действия, доступы пользователя, custom skill, сообщение и внешний запрос.
Правильный вывод строже и полезнее: indirect prompt injection становится практической проблемой там, где AI-агент получает delegated authority и несколько каналов вывода. Если агент может читать непроверенный контент, находить чувствительные файлы, отправлять сообщения и запускать сетевые эффекты через клиентские приложения, approval-гейт нужно проектировать для всей цепочки, а не для одного шага.
Главное
Microsoft Copilot Cowork prompt injection важен не как очередной страшный скриншот про «сломали ИИ». Он показывает слабое место корпоративных агентов: безопасное действие в одном контексте может стать опасным, когда агент соединяет почту, Teams, OneDrive, SharePoint и custom skills.
Для компаний практический вывод приземлённый. Перед включением Cowork надо привести в порядок права в Microsoft 365, ограничить доступ к чувствительным SharePoint/OneDrive зонам, ревьюить custom skills, контролировать plugins и не считать approval-гейт достаточной защитой. Пока AI-агент действует от имени сотрудника, его безопасность начинается не с модели, а с прав и маршрутов данных.
Читайте также
- Microsoft 365 Copilot вышел на 20 млн платных мест
- Function hijacking в MCP: как ломают tool calling у AI-агентов
- Риски автономных AI-агентов: почему Claude и OpenClaw пока нельзя пускать к паролям и деньгам
Источники и проверка фактов
- PromptArmor: Microsoft Copilot Cowork Exfiltrates Files, использовано для цепочки атаки, self-recipient approval gap, pre-authenticated ссылок и изображений, проверено 27 мая 2026 года.
- PromptArmor: Securing Microsoft Copilot Cowork, опубликовано 13 мая 2026 года, использовано для threat model и мер защиты, проверено 27 мая 2026 года.
- Microsoft Learn: Use Cowork (Frontier), последнее обновление 29 апреля 2026 года, использовано для статуса preview, approval flow, возможностей Cowork и scheduled prompts, проверено 27 мая 2026 года.
- Microsoft Learn: Copilot Cowork common questions, использовано для custom skills, inherited permissions, ограничений и Anthropic subprocessor, проверено 27 мая 2026 года.
- Simon Willison: Microsoft Copilot Cowork Exfiltrates Files, опубликовано 26 мая 2026 года, использовано как RSS-повод и внешняя оценка риска, проверено 27 мая 2026 года.
- OWASP Top 10 for Large Language Model Applications, использовано как контекст для LLM01 Prompt Injection, проверено 27 мая 2026 года.