Trzy rzeczy, które warto wiedzieć.
- Pozycja LLM01 — pierwsza — na liście OWASP Top 10 for LLM Applications 2025.
- Dwie odmiany: bezpośrednia (polecenie wpisuje użytkownik) i pośrednia (polecenie jest ukryte w treści, którą model przetwarza: stronie, pliku, e-mailu, wyniku wyszukiwania).
- Skutek zależy od uprawnień: model bez narzędzi może najwyżej powiedzieć coś złego; model z dostępem do poczty, bazy danych czy płatności może coś złego zrobić.
Czym jest prompt injection.
Według OWASP podatność typu prompt injection występuje wtedy, gdy dane wejściowe zmieniają zachowanie lub wynik modelu językowego w niezamierzony sposób. Wejście nie musi być widoczne ani czytelne dla człowieka — wystarczy, że przetworzy je model. OWASP traktuje jailbreaking jako odmianę prompt injection: atak, którego celem jest całkowite obejście zabezpieczeń modelu. Nazwa upowszechniła się we wrześniu 2022 r., po przykładach Riley Goodside'a opisanych przez Simona Willisona.
Hasło w słowniku: prompt injection · źródło definicji: LLM01:2025 Prompt Injection
Instrukcje i dane w jednym kanale.
Źródło OWASP wskazuje, że podatność wynika ze sposobu, w jaki modele przetwarzają prompty, i że techniki takie jak RAG czy dostrajanie modelu (fine-tuning) nie usuwają jej w pełni.
Źródło Greshake i in. (2023) opisali, że aplikacje zintegrowane z modelami językowymi zacierają granicę między danymi a instrukcjami. Wykazali ataki pośrednie — polecenia umieszczone w danych, które model prawdopodobnie odczyta — na działające systemy, m.in. czat Bing oparty na GPT-4 i silniki uzupełniania kodu. Przetworzenie takiego polecenia może działać jak wykonanie dowolnego kodu: zmienia funkcje aplikacji i decyduje, czy i jak wywoływane są inne interfejsy API.
Wniosek W języku PCT: model nie ma komparatora, który porównywałby źródło polecenia z tym, kto jest uprawniony do wydawania poleceń. Każdy tekst w kontekście ma ten sam status. Dlatego obrona nie może polegać wyłącznie na tym, że model „rozpozna” atak — model ocenia tekst tym samym mechanizmem, który jest atakowany.
Jak to wygląda w praktyce.
-
Bezpośredni atak na chatbota obsługi klienta
Atakujący wpisuje polecenie, by chatbot zignorował wcześniejsze wytyczne, odpytał prywatne bazy danych i wysłał e-maile. Skutek: nieuprawniony dostęp i eskalacja uprawnień.
-
Pośredni atak przez streszczaną stronę
Użytkownik prosi model o streszczenie strony internetowej. Strona zawiera ukryte instrukcje, które każą modelowi wstawić do odpowiedzi obraz z linkiem do zewnętrznego adresu — a w adresie treść prywatnej rozmowy. Wyświetlenie obrazu wysyła ją atakującemu.
-
Zatruty dokument w bazie RAG
Atakujący modyfikuje dokument w repozytorium, z którego korzysta aplikacja RAG. Gdy zapytanie użytkownika zwróci ten fragment, ukryte polecenia zmieniają odpowiedź modelu na wprowadzającą w błąd.
-
Rekrutacja: polecenie w CV
Kandydat umieszcza w CV polecenia rozdzielone na fragmenty. Gdy model ocenia kandydatów, połączone polecenia wymuszają pozytywną rekomendację niezależnie od rzeczywistej treści CV.
Scenariusze za OWASP LLM01:2025 (opis skrócony). OWASP opisuje też ataki ukryte w obrazach, rozbite na fragmenty, zakodowane (np. Base64) i wielojęzyczne.
To nie jest hipoteza. Zostało pokazane na działających systemach.
- Documented · źródło 2 Ataki pośrednie na działające systemy (2023). Publikacja Greshake i in. demonstruje pośrednie prompt injection przeciwko rzeczywistym aplikacjom, m.in. czatowi Bing opartemu na GPT-4, oraz taksonomię skutków: kradzież danych, samorozprzestrzenianie się ataku, zanieczyszczanie ekosystemu informacji.
- Documented · źródło 3 CVE-2024-5184 — EmailGPT (2024). Podatność opublikowana w bazie NVD 5 czerwca 2024 r.: usługa EmailGPT pozwalała wstrzyknąć polecenie i przejąć logikę usługi — m.in. wymusić ujawnienie zapisanego na stałe promptu systemowego lub wykonanie niepożądanych poleceń.
- Documented · źródło 4 Pierwsze publiczne demonstracje (2022). We wrześniu 2022 r. Riley Goodside pokazał, że polecenie „zignoruj powyższe instrukcje” w tłumaczonym tekście przejmuje zachowanie modelu GPT-3. Simon Willison opisał te przykłady i problem braku oddzielenia instrukcji od danych.
Rejestr nie zawiera jeszcze polskiego przypadku tej klasy. Jedyny wcześniejszy kandydat — asystent głosowy InPost MAT (PL-AI-2023-003) — został wycofany, bo jedynym materiałem był film rozrywkowy. Jeżeli znasz udokumentowany przypadek w Polsce, napisz.
Co może się stać.
- ujawnienie danych wrażliwych, w tym danych z rozmów innych użytkowników
- ujawnienie promptu systemowego i informacji o infrastrukturze systemu
- zmanipulowane, nieprawdziwe lub stronnicze odpowiedzi
- nieuprawniony dostęp do funkcji, które model może wywołać
- wykonanie poleceń w połączonych systemach
- wpływ na procesy decyzyjne — np. ocenę kandydatów czy wniosków
Według OWASP dotkliwość zależy od kontekstu biznesowego i od tego, jaką sprawczość nadano modelowi — dlatego prompt injection i excessive agency analizujemy razem.
Jak zauważyć, że to się dzieje.
- Zapis pełnego kontekstu każdego wywołania: prompt systemowy, wejście użytkownika, fragmenty dokumentów i wyników wyszukiwania wraz ze źródłem. Bez tego po incydencie nie da się ustalić, skąd przyszło polecenie.
- Porównanie działań z zadaniem: wywołanie narzędzia, które nie wynika z zadania (np. wysłanie e-maila podczas streszczania dokumentu), jest sygnałem alarmowym.
- Kontrola wyjścia: odpowiedzi zawierające linki lub obrazy prowadzące do zewnętrznych domen, których zadanie nie wymaga — klasyczny kanał wycieku danych.
- Regularne testy adwersarialne: symulacje ataków, w których model traktuje się jak niezaufanego użytkownika.
Rekomendacje laboratorium, rozwijające punkty 3 i 7 strategii OWASP.
Ograniczyć skutek, bo zapobiec w pełni się nie da.
- Minimalne uprawnienia. Aplikacja ma własne tokeny do API, a funkcje są obsługiwane w kodzie, nie oddawane modelowi. Model dostaje tylko te uprawnienia, których zadanie naprawdę wymaga.
- Zatwierdzenie przez człowieka dla działań wysokiego ryzyka. Operacje uprzywilejowane — płatności, wysyłka, zmiany w danych — wymagają zatwierdzenia przez człowieka.
- Deterministyczna walidacja wyjścia. Oczekiwany format odpowiedzi jest zdefiniowany, a jego zgodność sprawdza zwykły kod, nie drugi model.
- Oddzielenie i oznaczenie treści zewnętrznych. Treść niezaufana (strony, dokumenty, e-maile) jest wyraźnie oddzielona od poleceń, żeby ograniczyć jej wpływ.
- Filtrowanie wejścia i wyjścia. Reguły dla kategorii treści wrażliwych, filtry semantyczne i sprawdzanie ciągów znaków; ocena, czy odpowiedź jest oparta na kontekście (grounding).
- Ograniczenie zachowania modelu w prompcie systemowym. Opis roli, możliwości i ograniczeń modelu oraz polecenie ignorowania prób zmiany instrukcji.
- Testy adwersarialne. Regularne testy penetracyjne i symulacje ataków sprawdzające granice zaufania i kontrolę dostępu.
Siedem strategii za OWASP LLM01:2025. Kolejność jest nasza: na górze środki, które ograniczają skutek niezależnie od tego, czy model rozpozna atak; na dole te, które zależą od zachowania samego modelu.
Czego brakuje w architekturze.
Warstwa, której nie ma
Zasada laboratorium brzmi: LLM proponuje, warstwa kontroli decyduje. W prompt injection zawodzi to, że propozycja modelu staje się działaniem bez niezależnej decyzji.
W języku Reference Signal Engineering: reference signal to „każde działanie mieści się w zadaniu i uprawnieniach osoby, która je zleciła”. Niezależnym zapisem jest pierwotne zlecenie użytkownika i jego uprawnienia — przechowywane poza kontekstem modelu, którego atak nie może zmienić. Controlled variable to rozbieżność między działaniem proponowanym przez model a tym zapisem. Komparator musi działać poza modelem; w przeciwnym razie atakujący zmienia jednocześnie polecenie i jego ocenę.
Zasady laboratorium
- SEC-01 Treść z zewnętrznych źródeł — stron, dokumentów, e-maili, wyników wyszukiwania — jest danymi niezaufanymi, nigdy poleceniami, niezależnie od tego, jak jest sformułowana.
- SEC-02 Model językowy nie powinien mieć bezpośredniego, nieograniczonego prawa wykonania działania w systemie o znaczeniu krytycznym. O wykonaniu decyduje warstwa kontroli niezależna od modelu.
- SEC-03 Obrona oparta wyłącznie na instrukcjach w prompcie systemowym nie jest warstwą kontroli: model, który ma ją stosować, jest jednocześnie celem ataku.
Materiał źródłowy.
- 1 · Standard branżowy · OWASP GenAI Security Project · 2025 · data dostępu 2026-09-29 LLM01:2025 Prompt Injection
- 2 · Publikacja naukowa · arXiv · 23.02.2023 · data dostępu 2026-09-29 Greshake K., Abdelnabi S., Mishra S., Endres C., Holz T., Fritz M. — „Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection”
- 3 · Baza podatności · NVD · 5.06.2024 · data dostępu 2026-09-29 CVE-2024-5184 — EmailGPT
- 4 · Blog techniczny · 12.09.2022 · data dostępu 2026-09-29 Simon Willison — „Prompt injection attacks against GPT-3”
- 5 · Raport NIST · AI 100-2 E2025 · data dostępu 2026-09-29 Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations
Diener, Ł. (2026). Prompt injection: Gdy dane stają się poleceniem [analiza klasy awarii, wersja z 2026-09-29]. ais://lab — bezpieczeństwo systemów AI. https://aisecurity.org.pl/bezpieczenstwo/prompt-injection/
Czy Twój asystent AI albo agent czyta treści z zewnątrz — strony, e-maile, dokumenty — i czy może na ich podstawie coś zrobić? Tego dotyczy usługa Audyt bezpieczeństwa agentów AI (od 30 000 zł).