Prompt injection
Definicja
Prompt injection to atak polegający na wstrzyknięciu złośliwych instrukcji do treści wejściowych, aby zmienić zachowanie modelu. Może wystąpić w wiadomościach, dokumentach, stronach WWW lub bazach wiedzy. To problem bezpieczeństwa aplikacji, nie samego modelu.
Co to w zasadzie jest?
- Atakujący „przemyca” instrukcje w treści, które mają przejąć kontrolę.
- Model może potraktować złośliwą treść jak polecenie.
- Najczęściej dotyczy systemów z RAG lub automatyzacji.
- Ochrona wymaga filtrów, izolacji danych i testów.
Praktyczne zastosowania (konkretne scenariusze)
Scenariusz 1: Ochrona asystenta w helpdesk
- Cel: ochrona asystenta w helpdesk.
- Wejście: treść zgłoszenia.
- Kroki: filtr → detekcja → blokada.
- Rezultat: bezpieczna odpowiedź.
- Zabezpieczenie: logowanie incydentów.
Scenariusz 2: Bezpieczeństwo bazy wiedzy
- Cel: bezpieczeństwo bazy wiedzy.
- Wejście: dokumenty do RAG.
- Kroki: skan → review → publikacja.
- Rezultat: czysta baza.
- Zabezpieczenie: whitelist źródeł.
Scenariusz 3: Automatyzacja maili
- Cel: automatyzacja maili.
- Wejście: mail klienta.
- Kroki: izolacja danych → prompt systemowy → odpowiedź.
- Rezultat: brak przejęcia instrukcji.
- Zabezpieczenie: testy red teaming.
Typowe błędy i pułapki
- Wkładanie nieufnych danych do promptu systemowego.
- Brak filtrów na wejściu.
- Brak testów z przykładowymi atakami.
Ryzyka i jak je ograniczać
Ryzyko 1: Ujawnienie danych
- Ryzyko: Ujawnienie danych.
- Jak ograniczać: ogranicz dostęp i stosuj DLP.
Ryzyko 2: Zmiana zachowania modelu
- Ryzyko: Zmiana zachowania modelu.
- Jak ograniczać: separuj instrukcje od danych.
Ryzyko 3: Automatyczne wykonanie zadań
- Ryzyko: Automatyczne wykonanie zadań.
- Jak ograniczać: wymuszaj zatwierdzenia.
Checklista “zanim użyjesz”
- Czy dane wejściowe są traktowane jako nieufne?
- Czy są filtry i walidacja treści?
- Czy instrukcje są odseparowane od danych?
- Czy testowano prompt injection?
- Czy logujesz podejrzane przypadki?
Diagram
flowchart LR
A[Treść wejściowa]
B[Ukryta instrukcja]
C[Model]
D[Filtr i separacja]
E[Bezpieczna odpowiedź]
A --> B --> C
B --> D --> E
Diagram pokazuje, że prompt injection polega na przemyceniu instrukcji w danych wejściowych i wymaga ochrony przed ich wykonaniem.
Dalsza lektura
Miejsce w mapie
- Prompt injection → atak na: RAG
- Prompt injection → wymaga: Guardrails
- Prompt injection → zwiększa ryzyko: Data poisoning