Przejdź do treści

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

Powiązane hasła