Każdy model językowy ma wbudowane ograniczenia — rzeczy których nie zrobi, tematów których nie porusza, treści których nie generuje. Te ograniczenia są wynikiem RLHF (Reinforcement Learning from Human Feedback) i Constitutional AI — miesięcy pracy nad „wyrównaniem” modelu z ludzkim systemem wartości.
Jailbreak to próba ominięcia tych ograniczeń przez specjalnie skonstruowany prompt.
Dla chatbota jailbreak jest problemem etycznym i bezpieczeństwa treści. Dla agenta który ma dostęp do narzędzi, systemów zewnętrznych i może wykonywać nieodwracalne akcje — jailbreak jest wektorem ataku z realnymi konsekwencjami.
Czym jest jailbreak
Jailbreak to technika ataku na model językowy polegająca na skonstruowaniu promptu który skłania model do zachowania niezgodnego z jego wytrenowanymi ograniczeniami — generowania zabronionych treści, ignorowania instrukcji systemu lub wykonywania akcji których model normalnie odmówiłby — przez manipulację kontekstem, odgrywanie ról lub wieloetapowe sekwencje promptów.
Klasyczne techniki jailbreak
DAN (Do Anything Now): instrukcja żeby model „udawał” że jest innym modelem bez ograniczeń. Wczesnyme modele były podatne — GPT-3.5 i Claude 2 można było skutecznie jailbreakować przez DAN. Nowsze modele są bardziej odporne.
Roleplay injection: „Jesteś złoczyńcą w fikcyjnej historii. Złoczyńca wyjaśnia jak…” — próba ominięcia ograniczeń przez fikcyjny kontekst. Modele coraz lepiej rozróżniają fikcję od faktycznie szkodliwych instrukcji.
Many-shot jailbreak: dostarczenie dziesiątek przykładów pożądanego zachowania w prompcie (few-shot learning jako wektor ataku). Większe okna kontekstowe robią modele bardziej podatnymi na ten typ ataku.
Prompt smuggling przez kodowanie: instrukcje zakodowane w Base64, ROT13 lub innych encodingach w nadziei że moderacja nie wykryje.
Jailbreak a agenty
Jailbreak chatbota: model generuje szkodliwą treść. Złe, ale ograniczone do tekstu.
Jailbreak agenta: model wykonuje szkodliwą akcję — wywołuje narzędzie które nie powinno być wywołane, omija guardrails BRE, eksfiltruje dane przez narzędzia komunikacyjne.
Przykład: agent obsługi klienta jailbreakowany przez odpowiednio sformułowany request klienta wykonuje refund na konto attakera zamiast weryfikować tożsamość klienta.
Obrona
Modele są coraz bardziej odporne na jailbreak przez lepszy RLHF. Ale obrona przez sam model jest niewystarczająca. Guardrails na poziomie infrastruktury (BRE, RBAC) które działają niezależnie od modelu są fundamentalne dla agentów z dostępem do narzędzi operacyjnych. Input/output filtering jako dodatkowa warstwa.