Liderzy opinii

Atak iniekcji promtu, którego nie można powstrzymać: myślenie życzeniowe czy prawdziwa obawa?

mm
Dodaj Unite.AI do preferowanych źródeł w Google
A digital 3D render of a dark server room with a computer monitor displaying a

W tym artykule chciałbym zaangażować czytelnika w eksperyment myślowy. Chcę argumentować, że w nieodległej przyszłości pewnego rodzaju atak iniekcji promtu będzie skutecznie nie do powstrzymania. Mój argument będzie bardziej spekulatywny niż konkretny, więc nie próbuję nikogo przekonać. Zamiast tego zapraszam do eksploracji tych myśli. Przed rozpoczęciem, jak każdy przekonywujący pisarz, chcę omówić szachy i silniki szachowe.

Superludzkie silniki szachowe i twierdzenie o doświadczeniu ludzkim

Jednym z ładniejszych elementów szachów, który brakuje w innych dyscyplinach, jest możliwość obiektywnego pomiaru jakości lub siły gracza. System ELO używany do tego celu ma swoje wady, ale zapewnia bardzo dobrą orientacyjną ocenę, która utrzymuje się w czasie. Ocena 2700 lub wyższa jest powszechnie uznawana za światowej klasy (top 30 na świecie). Najlepszy gracz świata ma ocenę nieco poniżej 2850. Żaden człowiek nie osiągnął jeszcze oceny 2900.

W połowie lat 90. zobaczyliśmy pierwszy silnik AI (Deep Blue), który osiągnął światową klasę. Praktycznym wnioskiem z tego kamienia milowego było powszechne przyjęcie silników przez graczy wszystkich poziomów do ćwiczeń i analizy. W rzeczywistości użycie silników stało się niezbędne dla najlepszych graczy świata. Jednak przez kilka generacji tych światowej klasy silników przeglądanie ich zalecanych ruchów (tj. wyjścia) było konieczne. Istniał nawet specjalny format nazwany „zaawansowanymi szachami”, w którym ludzie rywalizowali z silnikiem u swojego boku, a kombinacja człowiek-maszyna była uważana za lepszą niż sam silnik.

Upłynęło około 20 lat, i nastąpił pewien krytyczny postęp w Deep Learning i Reinforcement Learning, zanim silniki szachowe osiągnęły superludzki poziom (około 3200 ELO). Ale kiedy tylko ta sfera została przełamana około 2017 roku, coś bardzo zaskakującego się wydarzyło. Tak naprawdę, dwie rzeczy się wydarzyły. Pierwsza była całkowicie oczekiwana; silniki stały się de facto źródłem „prawdy” w 99% wszystkich pozycji. W praktyce oznaczało to, że weszliśmy w „erę ślepej ufności” w silnik. Dziś jest praktycznie niemożliwe, aby człowiek zaproponował znacznie lepszy ruch niż silnik. Jak rozrywkowe były „zaawansowane szachy”, teraz jest to bezcelowe ćwiczenie; ludzie prawie nic nie wniosliby do gry. Ale druga rzecz była zaskakująca dla większości szachistów. Te superludzkie neuronowe (tj. głębokie sieci neuronowe) silniki czasami grały w stylu, który najlepiej można opisać jako „romantyczny”. Innymi słowy, robiły ruchy, których wartość mogła być doceniona dopiero po wielu, wielu ruchach, daleko poza tym, co mógłby obliczyć człowiek lub światowej klasy silniki. To bardzo wyglądało na to, że silniki rozwinęły „uczucie” lub „intuicję” dla pewnych pozycji. Z wyjątkiem tego, że ta intuicja nie jest czymś, co człowiek mógłby kiedykolwiek zrozumieć lub naśladować.

Inaczej mówiąc, superludzki silnik neuronowy może robić ruchy, które są poza kognitywnym horyzontem człowieka. To jest kluczowy punkt; problem nie polega na wyjaśnialności. Raczej, człowiek po prostu nie może zrozumieć, dlaczego silnik zaleca ruch bez odegrania pozycji i obserwowania wyniku wiele ruchów później, tj. rozwinąwszy całą trajektorię możliwych sekwencji gry. W wyniku tego mamy nieprzekraczalną lukę w możliwościach. Jest optymalnie przyjąć wyjście silnika bez przeglądu. Mogę podsumować swoje twierdzenie w następujący sposób:

Szachy są dowodem, że superludzki AI działałby skutecznie autonomicznie w niektórych dziedzinach. Włączenie systemu AI do podejmowania decyzji bez przeglądu człowieka byłoby optymalnym sposobem wdrożenia takiego systemu.

Ponieważ moje twierdzenie może wydawać się oczywiste lub niewykazujące, chcę podkreślić kilka niuansów. Załóżmy, że mamy system AI, który demonstruje superludzki poziom w złożonym, krytycznym zadaniu z konkretnymi, nieodwracalnymi konsekwencjami. Są dwie implikacje mojego twierdzenia:

  1. System byłby wdrożony do podejmowania decyzji w zadaniu bez przeglądu człowieka, pomimo wewnętrznego ryzyka
  2. Wgląd uzyskany z monitorowania takiego systemu nie zapobiegłby szkodliwej decyzji; szkoda zostałaby już wyrządzona

Przegląd wyjścia i monitorowanie są właśnie dwoma ostatnimi warstwami obrony przed atakami iniekcji promtu. Dlatego nasz hipotetyczny atak iniekcji promtu mógłby ominąć te warstwy, celując w odpowiedni system.

To jest bardzo realistyczny scenariusz w moim umyśle. Superludzki system AI w określonej dziedzinie nie jest AGI, a większość ekspertów uważa, że takie systemy są tuż za rogiem. Nie musieliśmy również zakładać, że decyzje są czasochłonne, tylko że zadanie jest wystarczająco złożone, aby przegląd człowieka był niewykonalny.

Oczywiście, dotychczas ominęliśmy tylko dwie warstwy obrony, a na szczęście dla nas, kilka innych zostało opracowanych. Aby rozwiązać resztę, zagłębmy się w podstawowe elementy, które sprawiają, że iniekcja promtu jest trudna do obrony.

Co to jest iniekcja promtu?

Iniekcja promtu jest manipulacją dużej językowej sieci neuronowej (LLM) za pomocą spreparowanych wejść, powodując, że LLM nieświadomie wykonuje intencje atakującego. Może być uważana za inżynierię społeczną dla AI. Co więcej, nie jest to konwencjonalny błąd oprogramowania. Atak iniekcji promtu wykorzystuje wrodzoną wadę LLM. Ponieważ LLM przetwarza zarówno systemowe, jak i użytkowe prompty jako sekwencje tekstu, nie mogą one wewnętrznie odróżnić prawidłowych i szkodliwych instrukcji. Wada jest zatem skutecznie zaprojektowana, a nie przypadkowa.

Techniki iniekcji promtu

Iniekcja promtu jest ogólnie uznawana za #1 ryzyko dla aplikacji LLM. Istnieją kilka powodów, dla których jest to prawda. Najbardziej oczywistym czynnikiem jest różnorodność technik iniekcji, które zostały opracowane. Przybliżając je do czterech kategorii, najbardziej znane techniki obejmują:

  • Składniowe: używanie specjalnych znaków, emotikon lub alternatywnego języka
  • Pośrednie: używanie zewnętrznych źródeł (pobieranie ze strony), kodowania (base 64), lub multimodalnego odniesienia (tekst w obrazie)
  • „Udajmy”: wprowadzanie manipulacyjnego stylu, np. poprzez role-playing, hipotetyczne, apel emocjonalny, ramy etyczne i zmianę formatu
  • Otwarte: jawne próby „zmuszenia” instrukcji modelu za pomocą siły, wzmocnienia lub negatywnego promtu

Samą różnorodność technik stanowi wyzwanie dla deweloperów aplikacji, ale te ataki ewoluowały również bardzo szybko. Lewa strona poniższego diagramu opisuje stan sztuki na początku 2023 roku, podczas gdy prawa strona odzwierciedla naturę ataków dzisiaj.

Ewolucja wektorów ataków

Deweloperzy aplikacji LLM muszą również uwzględnić standardowy kompromis pomiędzy użytecznością a bezpieczeństwem. Mogliby na przykład wprowadzić każdą odpowiednią warstwę obrony i wzorzec projektowy, ale jaką byłaby cena? Warstwy obrony dodają znaczną latencję i wprowadzają fałszywe pozytywy (FP) – niepoprawnie flagujące bezpieczne prompty jako szkodliwe – oba czynniki mają negatywny wpływ na doświadczenie użytkownika. W rezultacie pewien poziom kompromisu jest nieunikniony w praktyce, a nie ma „srebrnej kulki” rozwiązania.

Jednak w tym artykule nie jestem tak naprawdę zainteresowany tym niekończącym się kotem i myszą. Raczej, sonduję, czy atak może być nie do powstrzymania w zasadzie. Z perspektywy dewelopera/obrońcy jest tylko jeden kluczowy wgląd:

Separacja instrukcji od danych w promcie jest fundamentalna dla adresowania ryzyka iniekcji promtu

Możemy założyć, że kompromisy nie są czynnikiem, i każda warstwa obrony lub technika może być użyta. Pod tym (mocnym) założeniem, czy jest możliwe stworzenie scenariusza, w którym separacja instrukcji-danych w promcie jest skutecznie niemożliwa?

Analoga DNA

Gdy problem został sformułowany w kategoriach separacji instrukcji-danych, moja pierwsza myśl była użycie biologii jako analogii.

Zastanówmy się nad komórką i fragmentem DNA (znanym jako gen). Gen dostarcza instrukcji budowy białka za pomocą transkrypcji i translacji. Koduje również informacje (dane), które wpływają na strukturę i funkcję białka. Jak tak się wydawało, gen jednocześnie dyktuje, co budować, i jak to robić, lub tak przynajmniej myślałem. Jednak to jest po prostu fałszywe, ponieważ gen nie decyduje, jak interpretować samego siebie. Nie ma odpowiednika wykonywania instrukcji w biologii na poziomie genu. „Jak” jest w pełni zewnętrzne dla maszyn komórkowych.

Dlatego, nawet jeśli nie mogę pozbyć się uczucia, że przyszłe generacje LLM – lub bardziej dokładnie, systemy, w które się rozwijają – będą bardziej przypominać biologiczne maszyny, proponowana analogia po prostu nie działa. Nie możemy podstawić komórki za LLM i genu za promtu, a następnie wykonać iniekcję do genu, która ostatecznie spowodowałaby „uszkodzone” białko. Wydaje się bardziej produktywne, aby pozostać przy języku naturalnym i zadań wymagających semantycznej interpretacji.

Zdejmowanie warstw obrony

Nie powinno to być zaskoczeniem, że wielowarstwowe strategie obronne są uważane za bardziej skuteczne w powstrzymywaniu ataków iniekcji promtu. Poniższy obraz przedstawia najczęstsze warstwy obronne w kolejności, a także techniki używane w każdej warstwie.

Warstwy obronne iniekcji promtu

Omówiliśmy już dwie ostatnie warstwy (wyjście, monitorowanie) powyżej, więc skoncentrujmy się na pierwszych czterech.

Biorąc pod uwagę warstwę wejścia, jest rozsądnie założyć, że sanitarne lub walidacyjne promtu byłoby dość skuteczne w wykrywaniu pośrednich ataków. Jednak jeśli iniekcja jest dostarczona bezpośrednio, a jak sugerowałem powyżej, poprzez poleganie na interpretacji semantycznej, być może sanitarne jest nieistotne (nic do sanitarnej), a walidacja jest niemożliwa domyślnie, ponieważ obliczenie musi być wykonane, aby zidentyfikować problem.

Praktycznie nie ma ograniczeń co do barier, które można zbudować w warstwie wykrywania. W rzeczywistości można nawet użyć dedykowanego LLM do wykrywania iniekcji. Ale ponownie, będzie to trudne dla klasyfikatora lub wykrywacza anomalii, aby oznaczyć promtu jako podejrzany, gdy trucizna jest sprytnie ukryta w semantyce.

Warstwa modelu może być bardzo skuteczna, gdy zakres zadań jest wąski, a dostrajanie jest wykonalne. Podobny argument można przedstawić dla warstwy systemu, gdy użycie narzędzi jest przewidywalne. Jednak przynajmniej intuicyjnie, żadna z nich nie podniosłaby alarmu, gdyby iniekcja wyrzuciła interpreter.

Dom z kart

Moją intencją, gdy zacząłem pisać ten artykuł, było opisanie „nie do powstrzymania” ataku iniekcji promtu w ogólnych zarysach. Być może skończyłem na „niekonstruktywnym” podejściu, robiąc dziury w istniejących warstwach obrony. Techniki obronne nadal ewoluują bardzo szybko, a tak samo robi powierzchnia ataku. Ta gra nie pokazuje oznak zakończenia. Jednak również wierzę, że nie będziemy już długo grać w nią. Myślę, że udany atak iniekcji promtu w przyszłości nadal będzie w języku naturalnym, tylko w języku, który ludzie nie mogą zrozumieć; i myślę, że będzie on samodzielnie odkrywany przez system, albo specjalnie zaprojektowany do tego celu, albo przypadkowo po rozwiązaniu pokrewnego zadania, takiego jak wyszukiwanie semantycznej niejasności w pewnej przestrzeni reprezentacji.

Istnieje coś nieprzyjemnego w przyznaniu, że tracimy kontrolę, a jednocześnie czując, że to jest najbardziej racjonalna rzecz do zrobienia. Można to uznać za „intuicyjny dowód”, że niektóre ataki będą nie do powstrzymania. A jeśli to sprawia, że czujesz się nieswojo, będziesz zadowolony, wiedząc, że GPT 5.2 uznał ten argument za „nie kontrowersyjny ani nowy” i doradził, abym nie „roztrząsał punktu” i skrócił 40% artykułu.

Eli Vovsha jest menedżerem ds. nauki o danych w firmie Fortra. Wraz z zespołem ds. nauki o danych jest odpowiedzialny za rozwijanie i utrzymywanie wszystkich modeli machine learning (ML) używanych przez produkty CEP i XDR, a także ogólne badania ML. Ukończył studia magisterskie z matematyki stosowanej w Stevens Institute of Technology, zanim został kandydatem na doktorat z informatyki na Uniwersytecie Columbia, gdzie również był instruktorem. Później współzałożył startup edukacyjny, który miał na celu stworzenie platformy edukacyjnej opartej na sztucznej inteligencji, a następnie uczył matematyki i informatyki w prywatnej szkole w Nowym Jorku. Przed podjęciem studiów podyplomowych Eli poświęcił znaczną ilość czasu na szachy, zdobywając tytuł międzynarodowego mistrza (IM).