Rozmowa nie nadaje nowych uprawnień
OWASP opisuje prompt injection jako wpływanie na zachowanie modelu przez dostarczoną treść. Może nią być wypowiedź użytkownika albo materiał pobrany z zewnętrznego źródła. Dlatego tekst rozmowy i notatka w systemie nie powinny być traktowane jak polecenia administratora.
Dla prostego procesu sprawdzania statusu wystarczy dostęp do potrzebnej operacji i właściwej sprawy. Agent nie musi otrzymywać możliwości pobrania całej bazy, zmiany cen czy usuwania klientów. Zakres techniczny powinien odpowiadać temu, co firma rzeczywiście zamówiła.
Sprawdzaj działanie poza modelem
W proponowanym wdrożeniu integracja kontroluje uprawnienie do rekordu, dozwoloną czynność i poprawność przekazanych parametrów. Model nie może rozszerzyć tych warunków zdaniem rozmówcy. Nawet błędna odpowiedź językowa nie powinna automatycznie prowadzić do wykonania nieuprawnionej operacji.
W przykładowym teście agent przyjmuje prośbę o oddzwonienie, a rozmówca próbuje dopisać zmianę adresu wszystkich zamówień. Dostępne działanie powinno ograniczać się do utworzenia uzgodnionego zgłoszenia. Niepotrzebnej operacji zmiany adresów w ogóle nie udostępnia się temu procesowi.
Uważaj również na treść pobieraną z systemów
Notatka klienta może zawierać zdanie wyglądające jak instrukcja techniczna. W scenariuszu odbioru dodaj taki tekst do fikcyjnej sprawy i sprawdź, czy agent traktuje go jako dane. Próby prowadź w kontrolowanym środowisku, z rekordami przygotowanymi do testu.
Oceń odpowiedź głosową oraz rzeczywiste wywołania integracji. Uprzejma odmowa nie wystarczy, jeżeli w tle system wykonał żądanie. Potrzebny jest też sposób odnotowania incydentu bez rozsyłania pełnych danych klienta do całego zespołu. Zgłoszenie powinno trafić do osoby odpowiedzialnej za zabezpieczenia.
Trzy pytania przed podpisaniem oferty
- Jakie operacje agent może wywołać? Poproś o listę działań dla zamawianego procesu i zakres danych przekazywanych przez każde z nich.
- Gdzie system sprawdza prawo do konkretnej operacji i sprawy? Dowodem jest opis kontroli poza samym poleceniem dla modelu oraz próba odmowy dla rekordu bez uprawnienia.
- Co stało się podczas próby wykonania polecenia spoza zakresu? Porównaj odpowiedź głosową z rejestrem faktycznych wywołań i wynikiem w systemie testowym.
W odbierze.ai określamy potrzebne operacje, konfigurujemy połączenie w uzgodnionym zakresie i sprawdzamy jego ograniczenia na fikcyjnych sprawach. Firma zatwierdza dostęp, który rzeczywiście jest potrzebny.
Nie oczekuj obietnicy całkowitej odporności na każdą przyszłą wypowiedź. Ustal również, jak sprawdzane są zmiany scenariusza i komu zgłaszać problem po starcie. Te ustalenia powinny towarzyszyć integracji i odbiorowi wdrożenia.
Napisz, jakie działania w systemie ma wykonywać agent. Dobierzemy zakres dostępu i przygotujemy próby sprawdzające jego ograniczenia.
Źródła i materiały
OWASP opisuje zagrożenie prompt injection oraz ograniczanie uprawnień i testy jako środki zmniejszania ryzyka. Przykłady rozmów są naszą propozycją kontrolowanego odbioru, bez gwarancji pełnej odporności. Model wdrożenia: odbierze.ai.