Powrót do bloga
· autor: Tomasz Bartel

Vigil Guard 1.8.x na dziewięciu publicznych benchmarkach prompt injection

Bezpieczeństwo LLMPrompt InjectionBenchmarkiBezpieczeństwo RAGAIDR

Co testowaliśmy

Kończymy testy 1.8.x, wersji, którą udostępnimy wkrótce. Zanim trafi do produkcji, pokazujemy, jak wypada na publicznych benchmarkach, bo to jedyny wynik, który ktokolwiek z zewnątrz może sam powtórzyć.

Sprawdziliśmy 1.8 na dziewięciu publicznych, zewnętrznych benchmarkach prompt injection. Nie użyliśmy żadnego wewnętrznego zbioru Vigil Guard. Każdy wynik to surowa detekcja 1.8, każdy linkuje do źródła. Pomiar na kontrakcie jednorazowym POST /v1/guard/input, próg blokady score ≥ 40, build 1.8.0-lab, 14 czerwca 2026.

Zbiory dzielą się na cztery scenariusze: injection pośredni ukryty w treści (maile, tabele, kod, dokumenty RAG), klasyczny injection bezpośredni na instrukcje systemowe, jailbreaki z dołożonymi benignami blisko granicy ataku, oraz zbiory mierzące over-defense, czyli jak często detektor blokuje legalny tekst.

Ataki pośrednie i RAG

Najmocniejsze wyniki 1.8 są na atakach pośrednich, tam gdzie instrukcja nigdy nie jest wpisana przez użytkownika, tylko siedzi w treści, którą model przetwarza.

BIPIA Microsoftu to 17 614 ataków pośrednich osadzonych w mailach, tabelach i kodzie, największy zbiór w tym raporcie. 1.8 wykrywa 98,9% z nich.

indirect-pia-detection (Chen i in., ACL 2025) to recenzowany benchmark, w którym atak jest ukryty w długim dokumencie RAG zbudowanym z SQuAD i TriviaQA, a detektor musi go wyłowić z prawdziwej, na temat treści. Recall wynosi 99,2%, a na splicie SQuAD 99,7% (896 z 899) przy 0,6% false positive. To dokładnie ten układ, na którym stoją firmowe pipeline'y RAG: wyłap podrzuconą instrukcję, zostaw oryginalny dokument w spokoju.

Na atakach bezpośrednich (override instrukcji, ekstrakcja system promptu, przekierowanie zachowania) pangea-aiguard-lab daje 95,3% recall na 1 433 próbkach. JailbreakBench to 100% (124 z 124).

BenchmarkTypNWynik 1.8
BIPIA (Microsoft)pośredni: email / tabela / kod17 61498,9% recall
indirect-pia-detection (ACL 2025)pośredni / RAG3 39499,2% recall
pangea-aiguard-labbezpośredni + benign1 43395,3% recall
JailbreakBenchjailbreak124100% recall
deepset/prompt-injectionsbezpośredni (benign)560,0% FP
NotInjectover-defense (benign)3392,6% over-block

Czysto na benign

Druga połowa zadania to nie blokować legalnego ruchu.

Na deepset/prompt-injections 1.8 ma 0,0% false positive, 0 z 56 benignów. Zwykłe prompty przechodzą bez tknięcia. Na splicie SQuAD z indirect-pia false positive to 0,6%.

NotInject jest zbudowany specjalnie pod over-defense: każdy prompt jest legalny, ale naszpikowany słowami, na które łapią się naiwne detektory. 1.8 ma tu 2,6% over-block, zero na Common Queries i zero na promptach wielojęzycznych. Próg rośnie dopiero z nasyceniem trigger words: 0,9% przy jednym, 1,8% przy dwóch, 5,3% przy trzech.

Na tle innych guardów

Te liczby najwięcej mówią w zestawieniu z tym, co ktoś wdrożyłby zamiast 1.8. Porównujemy tylko like-for-like: ten sam zbiór, ten sam typ metryki.

Na NotInject (accuracy = 1 − FPR) 1.8 ma 97,4% i jest druga na dziewięć systemów, za LlamaGuard-3 (99,71%), przed Lakera Guard (87,61%), GPT-4o (86,73%) i ProtectAI v2 (56,64%). Z jednym zastrzeżeniem: LlamaGuard-3 kupuje tę czystość recall'em rzędu 39% na atakach pośrednich, czyli przepuszcza większość realnych ataków.

Na indirect-pia 1.8 robi 99,2% recall bez trenowania na tym zbiorze, na poziomie detektorów, które były na nim trenowane (97 do 99%), i znacznie powyżej gotowych guardów: Prompt-Guard Meta (39,5 do 86%) i LlamaGuard-3 (≤ 39,1%).

Wniosek operacyjny: większość systemów w tych tabelach siedzi po jednej stronie kompromisu, czułe ale over-defensive, albo czyste ale słabe na atakach pośrednich. 1.8 trzyma oba końce naraz.

Czego 1.8 jeszcze nie łapie

Dwa scenariusze wypadają u nas wyraźnie słabiej. Black-box injection pośredni (llm-pieval Amazona) to 37,6%, a injection do agentów webowych (WAInjectBench) 29,6%. W obu payload jest projektowany bez żadnej wiedzy o detektorze, i to jest najtrudniejsza, najświeższa klasa ataku. To na niej skupia się kolejna iteracja.

Po stronie false positive jeden punkt zostaje otwarty: czyste dokumenty TriviaQA w indirect-pia podbijają FPR do 30,5%. Mieści się to w zakresie over-defense raportowanym dla innych detektorów na tym samym zbiorze, ale chcemy to obniżyć.

Kiedy

1.8.x udostępnimy wkrótce, razem z pełnym raportem benchmarkowym. Każda liczba w nim jest odtwarzalna z podlinkowanego źródła publicznego: BIPIA, indirect-pia-detection, JailbreakBench, pangea-aiguard-lab, deepset, NotInject, llm-pieval, WAInjectBench.