Wystarczył jeden link, żeby Twój Copilot zaczął pracować dla kogoś innego

Wyobraź sobie taką scenę. Dostajesz link w Teamsie. Adres zaczyna się od microsoft.com, więc Twój filtr antyphishingowy przepuszcza go bez mrugnięcia okiem. Klikasz. Otwiera się Microsoft 365 Copilot, miga przez sekundę, jakby się nad czymś zastanawiał. Wracasz do pracy.
W tym samym momencie Copilot przeszukał Twoją pocztę, kalendarz, SharePoint i OneDrive, wyciągnął tytuł maila z kodem MFA i wysłał go na serwer kogoś, kogo nigdy nie poznasz. Jedno kliknięcie. Bez wtyczek, bez dodatkowych uprawnień, bez drugiego kliknięcia.
To nie scenariusz z konferencji o „zagrożeniach przyszłości”. To SearchLeak, realny łańcuch podatności, który badacze z Varonis Threat Labs znaleźli w Microsoft 365 Copilot Enterprise. Microsoft już go załatał (CVE-2026-42824). NIST wycenił go na 7.5 w skali CVSS, czyli poziom wysoki. Sam Microsoft punktuje go niżej, na 6.5. Nie są one „krytyczne”, ale historia jest zbyt dobra, żeby ją przemilczeć, bo świetnie pokazuje, gdzie naprawdę leży problem z AI w firmie.
Trzy ogniwa, z których dwa pamiętają poprzednią dekadę
Tu jest najciekawsze. Większość ludzi słyszy „podatność w AI” i wyobraża sobie jakiś nowy, magiczny atak. A SearchLeak to w dużej mierze stare, znane od lat błędy, które AI dopiero teraz ożywiła.
Łańcuch ma trzy ogniwa:
- Parameter-to-Prompt Injection (P2P). Copilot Enterprise Search czyta z adresu URL parametr q. Miał to być zwykły tekst wyszukiwania. Tyle że Copilot traktuje jego zawartość nie jak frazę do znalezienia, ale jak polecenie do wykonania. Czyli: cokolwiek napiszesz w linku, Copilot to po prostu zrobi.
- Race condition przy renderowaniu HTML. Microsoft wie, że odpowiedź AI może zawierać niebezpieczny kod, więc opakowuje ją w blok
<code>, żeby przeglądarka potraktowała ją jako tekst. Problem w tym, że to opakowanie przychodzi po tym, jak Copilot skończy „myśleć”. W trakcie streamowania odpowiedzi tag<img>zdąży się wyrenderować i wystrzelić zapytanie HTTP, zanim sanitizer w ogóle się obudzi. - SSRF przez Bing. Polityka bezpieczeństwa strony (CSP) nie pozwala ładować obrazków z attacker.com. Ale *.bing.com jest na białej liście, bo to przecież Microsoft. A Bing ma funkcję „szukaj po obrazku”, która pobiera podany URL po stronie serwera. Wystarczy więc kazać przeglądarce poprosić Binga, a Bing grzecznie pójdzie na serwer atakującego i po drodze wyniesie skradzione dane zaszyte w adresie.
SSRF ma na karku ponad dekadę. Race condition w sanitizerach to klasyka opisana w setkach prezentacji. Każde z tych ogniw z osobna da się rozwiązać. Dopiero sklejone razem, a sklejone właśnie przez ten kawałek AI, dają komuś możliwość cichego wyniesienia maili, kodów bezpieczeństwa i firmowych plików.
Gdzie tu jest żart i gdzie jest niuans
Najmniej śmieszny moment całej historii: Microsoft zrobił zabezpieczenie. Naprawdę zrobił. Opakowuje odpowiedź w <code>, żeby kod się nie wykonał. Tylko że przeglądarka nie czeka na „wersję finalną”, renderuje na bieżąco. Więc obrazek wylatuje, dane już są u atakującego, a sekundę później przyjeżdża piękne, troskliwe opakowanie ochronne. Na obrazek, którego już nie ma. Zabezpieczenie zadziałało wzorowo. Tyle że na pustym miejscu...
I tu zaczyna się niuans, bo łatwo z tego zrobić tani strach przed AI. Copilot bywa świetny. Skraca godziny grzebania w mailach do jednego zdania. Naprawdę przyspiesza pracę. Jednocześnie ten sam Copilot operuje z pełnymi uprawnieniami użytkownika i widzi dokładnie to, co Ty: skrzynkę, kalendarz, dokumenty, plany akwizycji, arkusz z wynagrodzeniami. Gdzie więc przebiega granica między narzędziem, które oszczędza czas, a narzędziem, które oszczędza czas również atakującemu?
Granica leży w jednym zdaniu, które warto sobie przykleić nad biurkiem: AI nie tworzy nowych danych, tylko nowe drogi do tych, które już masz. Blast radius to nie kreatywność modelu. To Twoje uprawnienia w Microsoft 365, które ktoś przejął jednym linkiem.
Co z tym realnie zrobić
Bo wyliczanka zagrożeń bez recepty to nie analiza, tylko straszenie dla samego straszenia. Microsoft tę konkretną dziurę załatał, ale logika ataku zostaje, a kolejne łańcuchy tego typu dopiero powstają. Praktyczne minimum:
Jeśli odpowiadasz za bezpieczeństwo:
- Patrz na podejrzane URL-e prowadzące do Copilota. Długie, zakodowane parametry q, a w środku tagi HTML albo polecenia w stylu „wstaw to do adresu obrazka”, to czerwona flaga.
- Przejrzyj białe listy w CSP. Każda dozwolona domena, która pobiera adresy podane przez użytkownika po stronie swojego serwera, to gotowy kanał wycieku. Bing był tylko jednym z wielu możliwych.
- Traktuj strumieniowaną odpowiedź AI jako niezaufaną. Sanityzacja musi działać w momencie renderowania, nie jako sprzątanie po fakcie. Race condition powstaje dokładnie w tej szczelinie.
Jeśli po prostu używasz Copilota:
- Zerknij na link, zanim klikniesz. Zwłaszcza jeśli prowadzi do usług Microsoft 365 i ciągnie za sobą kilometr zakodowanych znaków.
- Zgłaszaj dziwne zachowanie. Jeśli Copilot zaczyna sam z siebie przeszukiwać Twoją pocztę, choć o to nie prosiłeś, to nie funkcja. To objaw.
A jeśli chcesz wiedzieć, gdzie w Twojej organizacji AI dostało dostęp szerszy, niż ktokolwiek świadomie zatwierdził, to właśnie od tego są testy i przeglądy uprawnień. Lepiej dowiedzieć się tego od kogoś po Twojej stronie, na spokojnie, w raporcie, niż z komunikatu o naruszeniu danych.
Morał jest banalny i właśnie dlatego prawdziwy: AI integrujemy ze wszystkim szybciej, niż ktokolwiek zdąży sprawdzić, co ono naprawdę widzi i komu może to pokazać. Nowa technologia, te same stare drzwi zostawione otworem. Zanim podłączysz kolejnego asystenta na pełnych uprawnieniach, sprawdź, do czego naprawdę dostaje dostęp.
Umów bezpłatną konsultację, a zaplanujemy testy i przegląd uprawnień, które pokażą, gdzie AI w Twojej organizacji widzi więcej, niż ktokolwiek świadomie zatwierdził.