Nie da się zapobiec prompt injection. Co zatem robić?

Przestań próbować budować idealną wiadomość systemową (system message). Przestań czekać, aż lepsza wersja modelu rozwiąże problemy z bezpieczeństwem.

Prompt injection i tak nastąpi. Żaden model nie odmawia niezawodnie wykonania złośliwych instrukcji, gdy wyglądają one jak polecenia. Jeśli zaprojektujesz swoje zabezpieczenia w oparciu o założenie o doskonałości modeli, poniesiesz porażkę.

Zmień podejście. Nie pytaj, jak zapobiec wstrzyknięciu. Zapytaj, co Twój agent może zrobić, gdy wstrzyknięcie zakończy się sukcesem.

Stosuj się do tych zasad, aby ograniczyć szkody:

  • Używaj poświadczeń o ograniczonym zakresie uprawnień (capability-scoped credentials). Nadaj swojemu agentowi tylko te uprawnienia, których potrzebuje do bieżącego zadania. Agent z dostępem tylko do odczytu wyrządzi mniejszą szkodę niż agent z kluczem administratora.
  • Kontroluj działania niszczycielskie. Wymagaj drugiego czynnika uwierzytelnienia lub ręcznej weryfikacji dla działań takich jak usuwanie, płatności czy przyznawanie dostępu. Nie pozwól modelowi decydować, czy te działania są bezpieczne.
  • Traktuj wszystkie dane wejściowe z zewnątrz jako niepewne. Dotyczy to wiadomości użytkowników, stron internetowych, wyników narzędzi i dokumentów. Dane często stają się instrukcjami w momencie wejścia do okna kontekstowego (context window).
  • Monitoruj wyniki narzędzi. Wiele frameworków przekazuje logi narzędzi bezpośrednio do kontekstu modelu. Badanie 17 022 umiejętności agentów wykazało, że w 73,5% przypadków poświadczenia wyciekały poprzez logi debugowania. Usuwaj poufne dane z wyników narzędzi, zanim trafią do modelu.
  • Monitoruj zachowanie, a nie tylko jakość. Przejęty agent generuje wysokiej jakości tekst, wykonując jednocześnie nieautoryzowane działania. Musisz ustalić wzorzec (baseline) normalnych sekwencji działań i otrzymywać alerty w przypadku odchyleń.

Zastosuj te trzy poziomy monitorowania zachowań:

  • Reguły statyczne: Wykrywaj oczywiste zmiany, np. gdy agent nagle zaczyna wysyłać e-maile.
  • Wzorce sekwencji: Oznaczaj działania, które nie pasują do typowego schematu pracy agenta.
  • Niezależna weryfikacja: Użyj drugiego modelu do oceny głównego agenta.

Jeśli Twój agent korzysta z pamięci, dbaj o jej czystość. Pojedyncze wstrzyknięcie może zapisać „zatrute” fakty, które będą powtarzać się w każdej sesji. Ograniczaj zakres pamięci do konkretnej instancji i śledź pochodzenie każdej informacji.

Gdyby agent został przejęty w tej chwili, czy zauważyłbyś to w swoich logach? Czy lecisz po omacku?

Source: https://dev.to/brennhill/you-cant-prevent-prompt-injection-so-what-do-you-actually-do-1d37

Optional learning community: https://t.me/GyaanSetuAi