Prompt injection: jak atakujący przejmują kontrolę nad modelami językowymi

Prompt injection: jak atakujący przejmują kontrolę nad modelami językowymi

Nowa klasa ataków na sztuczną inteligencję

Prompt injection to atak, w którym napastnik umieszcza specjalnie spreparowane instrukcje w danych, które model językowy przetwarza. Kiedy ChatGPT, Claude czy lokalny system agentów czyta dokument, stronę internetową lub wiadomość e-mail, złośliwy tekst może całkowicie przejąć kontrolę nad zachowaniem modelu. To nie jest problem teoretyczny — to realna podatność, którą specjaliści ds. bezpieczeństwa uznają za jedno z najtrudniejszych wyzwań w dziedzinie bezpieczeństwa sztucznej inteligencji.

Koncepcję ataku opisali po raz pierwszy badacze już w 2022 roku. Atak posługuje się tą samą mechaniką: zamiast atakować kod, atakuje się warstwę semantyczną modelu, jego rozumienie poleceń, wykorzystując fakt, że model językowy nie odróżnia wyraźnie instrukcji systemowych od treści użytkownika.

Różne formy ataku

Wyróżnia się kilka wariantów prompt injection:

  • Direct injection — bezpośrednie wpisanie do modelu instrukcji typu „Zignoruj poprzednie polecenia i zrób X”. Klasyczny atak, który wciąż działa na wielu niechronionych systemach.
  • Indirect injection — znacznie groźniejszy. Napastnik umieszcza złośliwy prompt w danych pobieranych przez agenta, na przykład na stronie internetowej, którą system przegląda automatycznie, albo w pliku PDF, który podsumowuje.
  • Prompt extraction — próba wydobycia ukrytych instrukcji systemowych, na przykład pytanie modelu o pełną treść polecenia systemowego.
  • Jailbreak — obejście ograniczeń modelu, by wygenerować treści, których twórcy platform starali się zabronić.

Badacze z Microsoft Research udokumentowali w 2024 roku atak typu indirect prompt injection, w którym agent przeglądarkowy badający złośliwą stronę WWW wykonał instrukcję z niej zawartą, uzyskując dostęp do sesji użytkownika.

Dlaczego to tak trudne do usunięcia

Problem z prompt injection polega na tym, że nie da się go łatwo załatwić. W przeciwieństwie do SQL injection, gdzie wystarczy używać parametryzowanych zapytań, tutaj nie ma jednego wejścia, które można sanityzować. Model językowy to stopniowa funkcja prawdopodobieństwa — nie odróżnia, co jest instrukcją, a co danymi. To fundamentalna własność architektur Transformer.

Firma Anthropic w swoim raporcie z 2024 roku przyznała, że prompt injection pozostaje otwartym problemem — nikt nie zaproponował jeszcze kompleksowej ochrony, która byłaby zarówno skuteczna, jak i nie psuła użyteczności modelu.

Atakowanie instrukcji systemowych

System prompt to pierwszy blok tekstu, który dostaje model, z instrukcjami dla niego, jak się zachowywać. Firmy wkładają w nie dużo wysiłku — zawierają ograniczenia, wytyczne bezpieczeństwa, czasem sekretne informacje. Badacze z University of Cambridge zademonstrowali w 2023 roku, że system prompt da się wyciągnąć nawet z modeli produkcyjnych OpenAI, prosząc model na przykład, aby powtarzał wszystko od początku rozmowy, albo tłumaczył instrukcje krok po kroku.

Wyciek system promptu to nie tylko utrata własności intelektualnej. Przeciwnik, który pozna wewnętrzne instrukcje, może dokładnie zaplanować ataki — wie, co model potrafi, jakich instrukcji nie wolno mu wykonywać, jaka logika kryje się za odmową.

Ryzyko dla systemów agentowych

Prawdziwe zagrożenie pojawia się, gdy procesy sztucznej inteligencji zaczynają samodzielnie wykonywać akcje. W ostatnich latach OpenAI, Anthropic oraz Google udostępniły platformy agentowe — Custom GPTs, Claude computer use, Gemini API agents — które czytają e-maile, przeglądają bazy danych, wykonują przelewy. Wtedy indirect injection z poziomu jednego złośliwego pliku PDF może:

  • Wykonać przelew zamiast zapisać tylko krótkie podsumowanie.
  • Odesłać potwierdzenia do osoby atakującej, fałszując nadawcę na poziomie treści.
  • Udostępnić całe dossier klienta.
  • Uzyskać dostęp do systemu na poziomie administratora.

Demo badacza bezpieczeństwa z 2024 roku pokazało, jak agent czytający stronę WordPressa może zostać przejęty, pozwalając atakującemu na kontrolę konta administratora.

Metody obrony

Brakuje jednego silnego rozwiązania, ale badacze zalecają warstwową obronę:

  1. Separacja kontekstu — instrukcje systemowe powinny być w osobnej przestrzeni z szczególną separacją od danych. Model powinien wiedzieć, co jest poleceniem, a co danymi. W praktyce modele jeszcze tego nie robią.
  2. Wykrywanie ewolucyjne — drugi model ocenia, czy wejściowy tekst nie zawiera instrukcji manipulujących.
  3. Human-in-the-loop — agent nie wykonuje krytycznych działań bez potwierdzenia człowieka. Najbardziej skuteczne, ale limituje automatyzację.
  4. Zasada najmniejszego przywileju — agent dostaje tylko te uprawnienia, które są mu niezbędne do jednego zadania.
  5. Instrukcje dualne — prośba o sprawdzenie instrukcji systemowej, kiedy wejście przypomina instrukcję manipulacji.

Skutki regulacyjne i biznesowe

Akt o sztucznej inteligencji Unii Europejskiej zaklasyfikował systemy wysokiego ryzyka, które podlegają surowym wymogom bezpieczeństwa. Ale prompt injection przemywa przez te ramy — zaufanie do modeli językowych opiera się na fundamentach, które wciąż nie są wystarczająco bezpieczne.

W roku 2025 OWASP uznał prompt injection za numer jeden na liście podatności w aplikacjach opartych na modelach językowych. Koszty incydentów rosną, a incydenty zaczynają się pojawiać w sferze publicznej. Banki, ubezpieczenia, placówki zdrowotne — każda branża wdrażająca chatboty klientów jest potencjalnym obiektem ataku.

W jakim kierunku idziemy

Rozwiązania badawcze — sieci defensywne, capabilities-based security dla agentów — obiecują znacząco lepszą ochronę. Ale do momentu, gdy odpowiednia etykieta sztucznej inteligencji stanie się standardem, prompt injection pozostanie najbardziej realistyczną i zarazem najmniej docenianą podatnością w erze modeli językowych.

Odpowiedzialność za bezpieczeństwo spada już nie tylko na twórców modeli, ale na każdego, kto tworzy aplikację korzystającą z modeli językowych. Kontekst nie jest bezpieczny, dopóki warstwa zabezpieczeń nie zrównoważy faktycznych możliwości modeli.