Jak oznaczać treści AI, by nie dostać kary? Zapisz się na bezpłatne szkolenie o AI Act

Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!

17 sierpnia startuję Dni Otwarte Sekurak.Academy. Dołącz bezpłatnie 🙂

 

Samopropagujący się atak na Microsoft Word – prompt injection w Copilot

17 sierpnia 2026, 19:11 | W biegu | 0 komentarzy

Badacz Håkon Måløy odkrył podatność w Microsoft Copilot dla Worda – polegała ona na przemycaniu ukrytych instrukcji w dokumentach wykorzystywanych jako źródła dla Copilota. Instrukcje te mogły powodować modyfikowanie innych tworzonych lub edytowanych dokumentów, a w efekcie umieszczanie także w ich treści złośliwych instrukcji. Finalnie “atakowany” dokument stawał się kolejnym nośnikiem, który mógł rozprzestrzeniać atak do następnych dokumentów podczas kolejnych sesji z Copilotem.

TLDR:

  • Badacz Håkon Måløy odkrył podatność prompt injection w Microsoft Copilot dla Worda.
  • Złośliwe instrukcje wpływają na dokument i mogą zostać skopiowane do nowego pliku, który następnie staje się kolejnym nośnikiem ataku.
  • Atak może propagować się przez zwykłe procesy pracy z dokumentami, m.in. gdy użytkownicy wykorzystują wcześniej zmodyfikowane pliki w kolejnych sesjach z Copilotem.
  • Microsoft wdrożył poprawki blokujące konkretne payloady, jednak według badacza nie wyeliminowały one całej klasy podatności.
  • Problem pokazuje ryzyko związane z traktowaniem treści dostarczanych do systemów AI jako zaufanych źródeł informacji.

Atak wykorzystywał XPIA (Cross-Domain Prompt Injection Attack) i mógł rozprzestrzeniać się poprzez zwykłe przepływy pracy oparte na dokumentach. Oznaczało to, że wystarczyło zainfekować jeden dokument i nakłonić ofiarę do załączenia go do Copilota, a reszta ataku działa się już bez bezpośredniego udziału atakującego – kolejne, pozornie zaufane pliki przenosiły złośliwe instrukcje dalej.

Badacz opisał problem na przykładzie pracownika przygotowującego raport finansowy. Mógłby on pobrać analizę rynku z zaufanej strony (nie wiedząc, że została ona przejęta, a w dokumencie wstrzyknięto złośliwe instrukcje). Następnie dołączyłby ją jako załącznik do Copilota. Ukryte instrukcje sprawiają, że Copilot zmienia treść w przygotowywanym raporcie i dodaje do niego ukryte instrukcje. Pracownik zapisuje i udostępnia wewnętrznie pozornie zwykły raport. 

Później jeden ze współpracowników może użyć go jako źródła do przygotowania innego dokumentu – gdy załączy go do Copilota, złośliwe instrukcje uruchamiają się ponownie, zmieniają nowy raport i zapewniają dalszą propagację. W miarę ponownego wykorzystywania dotkniętych raportów kolejne dokumenty mogą stać się nośnikami ataku.

Pomimo wdrożonych poprawek, scenariusz ten pozostaje możliwy do wykorzystania. Dwie próby zabezpieczenia – w tym aktualizacja modelu – nie wyeliminowały skutecznie tej klasy podatności. Håkon Måløy zdecydował się więc na ujawnienie problemu na poziomie klasy, a nie payloadu. 

Złośliwy dokument zawiera ukryty prompt w formacie JSON, który uruchamia atak w momencie, gdy dokument zostanie uwzględniony w kontekście Copilot. Prompt może zostać wyrenderowany jako biały tekst na białym tle oraz przy małym rozmiarze czcionki, aby ukryć go przed ofiarą. Ponieważ tekst przekazywany do LLM jest pozbawiony formatowania, prompt pozostaje w pełni czytelny dla Copilota, mimo że ofiara nie może go zobaczyć.

Atak wymaga, aby złośliwy dokument został uwzględniony jako część kontekstu Copilot w Word. W zależności od używanej wersji Copilot ofiara musi więc:

  • dołączyć lub przesłać dokument w Copilot for Word,
  • użyć funkcji “Edit with Copilot” w trybie Work/Work IQ (model może sam znaleźć odpowiednie dokumenty w OneDrive).

Atak przebiega w dwóch etapach. Na początku atakujący przygotowuje dokument, w którym ukrywa złośliwy prompt. W początkowym PoC badacz użył pliku, który zawierał wyłącznie złośliwy prompt (jako biały tekst na białym tle). Celem było pokazanie, że sama treść dokumentu nie musiała być związana z tworzonym dokumentem. Jeśli złośliwa treść została uwzględniona w kontekście, była brana pod uwagę, a zatem atak mógł zostać przeprowadzony.

Prompt PoC był podzielony na dwie części:

Pierwsza część zawierała instrukcje dotyczące wpływania na dokument. Obejmowała zarówno niewielkie zmiany znaczenia podsumowań, jak i modyfikowanie liczb w dokumentach finansowych. Kluczowe było sformułowanie promptu w sposób, który sprawiłby, że Copilot uznałby go za istotny dla zadania i nieszkodliwy. Badacz instruował model, aby wskazywał wprowadzone zmiany, ponieważ często były subtelne i trudne do zauważenia – choć wpływały na znaczenie tekstu.

Druga część zawierała instrukcje dotyczące dalszego rozprzestrzeniania ataku. Choć badacz nie podał użytego prompta, przedstawił go jako instrukcje dotyczące śledzenia źródeł w kolejnych dokumentach. Były również wskazówki dotyczące ukrycia tekstu – przedstawione jako poprawiające czytelność.

Rys. 1 – złośliwy dokument, źródło: enklypesalt.com
Rys. 2 – wygenerowany raport ze zmienionymi przez model danymi, źródło: enklypesalt.com
Rys. 3 – Copilot dodaje złośliwego prompta do tworzonego dokumentu, źródło: enklypesalt.com

Microsoft po zgłoszeniu problemu wdrożył wiele poprawek. Każda z nich utrudniała przeprowadzenie ataku,tl zamykając możliwość wykorzystania przetestowanego już payloadu, a odtworzenie niepożądanego zachowania Copilota wymagało ciągłych modyfikacji promptów.

Jednak po odpowiednich zmianach pełny łańcuch ataku był możliwy do odtworzenia mimo wszystkich wdrożonych zabezpieczeń. Sama podatność pozostaje zatem możliwa do wykorzystania w momencie publikacji. Problem ma charakter architektoniczny i może występować w wielu systemach opartych na LLM.

Pokazana podatność wskazuje ryzyko związane z nadmiernym zaufaniem do narzędzi AI. Warto pamiętać, że przekazując modelowi pliki, nad których zawartością nie mamy pełnej kontroli, w pewnym stopniu tracimy również kontrolę nad tym, w jaki sposób zostaną one zinterpretowane i jaki wpływ będą miały na wygenerowany rezultat.

Szczególnego znaczenia nabiera to w przypadku dokumentów pochodzących z zewnętrznych lub niezaufanych źródeł, które mogą zawierać treści mające na celu wpłynięcie na zachowanie modelu. Dlatego wyniki generowane lub modyfikowane przez AI powinny być traktowane jako wymagające weryfikacji, a nie jako zaufane źródło informacji.

Źródło: enklypesalt.com

~Tymoteusz Jóźwiak

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz