Исследователь обнаружил, что скрытые инструкции в документах запускают атаку класса Cross-Domain Prompt Injection Attacks (XPIAs) и заставляют Microsoft Copilot для Word не только подменять содержимое, но и самораспространяться на новые файлы. Координация с MSRC длилась 144 дня, однако на момент публикации класс уязвимости так и остаётся открытым — надёжного исправления нет.
Атакующему достаточно подсунуть жертве безобидный на вид документ, в котором вредоносный промпт записан белым текстом на белом фоне. Copilot при обработке убирает всё форматирование, поэтому скрытые инструкции становятся для модели полноценной командой, даже если человек их не видит. В тестах такой JSON-пейлод предписывал вдвое уменьшать все финансовые показатели в отчёте. Одновременно Copilot добавлял те же вредоносные строки в конец сгенерированного документа — снова белым шрифтом и мелким кеглем. Так черновик сам превращался в новый носитель атаки.
Для заражения не требуется, чтобы жертва вручную прикрепляла файл. Функция «Edit with Copilot» может самостоятельно найти зловредный документ в OneDrive, посчитать его релевантным и включить в контекст. После этого атака переходит на стадию самокопирования: коллега использует уже заражённый внутренний отчёт как источник для своего Copilot — скрытые инструкции срабатывают вновь, меняют цифры во втором документе и копируют себя дальше. Исходный файл злоумышленника больше не нужен, распространение идёт через обычные рабочие цепочки в SharePoint и Teams. Так возникает документный AI-worm.
Microsoft пыталась закрыть проблему. Первый фикс изменил работу «Edit with Copilot» в апреле 2026 года, но атаку удалось воспроизвести с модифицированным промптом. В июле обновили модель до GPT-5.5, однако свежая GPT-5.6 всё равно поддалась эксплойту. Дату раскрытия переносили дважды, и 28 июля 2026 года информация была опубликована. Пользователям пока советуют считать внешние документы недоверенными, просматривать приложения перед запуском генерации и тщательно вычитывать сгенерированные Copilot файлы до передачи коллегам.
Главная беда — архитектурная. LLM не умеет отделять внешние данные от системных инструкций: и те и другие попадают в одно окно контекста. Модель вынуждена «читать» зловредное содержимое, чтобы понять, не опасно ли оно, но сами читаемые токены уже влияют на результат. Ставить перед моделью ещё одну LLM-защиту бессмысленно — получится рекурсия, где каждый защитник сам нуждается в защите. Поэтому любая рабочая среда, встраивающая большую языковую модель в доверенный процесс, должна исходить из неизбежности компрометации при попадании в контекст контента, контролируемого атакующим.