Prompt injection to atak polegający na manipulowaniu tekstowym wejściem do dużych modeli językowych (LLM), by wymusić na nich wykonanie złośliwych instrukcji, ignorując pierwotne polecenia. Dzięki temu grzeczny chatbot może zacząć realizować obce, niepożądane komendy[1][2][3].
Działa, bo LLM nie odróżnia instrukcji systemowych od danych użytkownika – wszystko to tekst do przetworzenia. W praktyce, gdy aplikacja łączy własne prompty z danymi użytkownika, wystarczy sprytna manipulacja, by zmienić zachowanie modelu[3]. Znane są trzy główne typy ataków: *direct prompt injection* (bezpośrednie wprowadzenie poleceń), *indirect* (ukryte instrukcje w zewnętrznych źródłach) oraz *stored* (zatrute dane w bazach)[3].
W odróżnieniu od prompt injection, *jailbreaking* to próbą obejścia wbudowanych zabezpieczeń samego modelu, by złamać reguły generowania treści[3]. Prompt injection atakuje aplikacje z LLM, jailbreaking – sam model.
Walka z prompt injection wymaga wielowarstwowej obrony: walidacji i filtrowania danych użytkownika, separacji treści systemowych i zewnętrznych, ograniczania uprawnień modeli (*least privilege*) oraz nadzoru człowieka („human-in-the-loop”)[3][1]. Najbardziej efektywne techniki to m.in. „sandwich prompting” i semantyczne filtrowanie treści.
Zagrożenie jest realne: w 2024 roku doszło do wycieku promptów systemowych ChatGPT-5 już po 5 godzinach od premiery, a podatność pozwalająca na zdalne wykonanie kodu wykryto w projekcie Ollama[3]. W efekcie atakujący mogą przeprowadzać m.in. wykradanie danych, generowanie szkodliwego oprogramowania oraz manipulację odpowiedziami.
Prompt injection to „tekstowy wirus”, który sprawia, że AI potrafi być nieświadomym nosicielem instrukcji hakera, co wymaga świadomego i kompleksowego podejścia do bezpieczeństwa nowoczesnych aplikacji AI[3][1]. 🤖🛡️