Bezpieczeństwo aplikacji opartych o LLM
Testy penetracyjne systemów AI i modeli LLM
Model językowy nie odróżnia polecenia od danych. Dlatego testy penetracyjne systemów AI zaczynamy od pytania, czym zasilany jest kontekst — wiadomości klientów i dokumenty z repozytorium to kanały, którymi da się wydać modelowi instrukcję.
Testy prowadzą certyfikowani pentesterzy. Retesty po wdrożeniu zabezpieczeń są bezpłatne.
Zmiana modelu zagrożeń
Dlaczego asystent AI wymaga osobnych testów
W klasycznej aplikacji granica zaufania przebiega tam, gdzie kończy się dane wejściowe użytkownika. W aplikacji opartej o model językowy ta granica się rozmywa: treść dokumentu wciągniętego do kontekstu, opis produktu z bazy wiedzy czy podpis w wiadomości e-mail trafiają do tego samego okna, w którym znajdują się instrukcje systemowe.
Skutki nie są teoretyczne. Asystent z dostępem do narzędzi potrafi wysłać wiadomość, wywołać zapytanie do API lub odczytać plik. Jeżeli instrukcja przemycona w danych zostanie potraktowana jak polecenie użytkownika, napastnik dysponuje uprawnieniami, które Państwo nadali modelowi — a nie tymi, które ma sam napastnik.
Testujemy więc dwie warstwy naraz. Pierwsza to zachowanie modelu: podatność na obejście instrukcji systemowych, ujawnienie treści promptu i wyciek fragmentów kontekstu. Druga to architektura wokół modelu: zakres uprawnień narzędzi, izolacja danych między najemcami w bazie wektorowej oraz to, czy wynik działania modelu jest weryfikowany, zanim zmieni cokolwiek w systemach produkcyjnych.
Obszary testów
Co sprawdzamy w systemie opartym o AI
Zakres opieramy o OWASP Top 10 for LLM Applications, uzupełniając go o ręczne testy logiki integracji.
Prompt injection bezpośredni i pośredni
Obejście instrukcji systemowych zarówno wprost w rozmowie, jak i przez treść dokumentów, stron oraz wiadomości, które model wciąga do kontekstu bez udziału użytkownika.
Wyciek danych z kontekstu
Próba odtworzenia treści instrukcji systemowej, danych innego użytkownika pozostawionych w historii rozmowy oraz fragmentów dokumentów, do których dana rola nie powinna mieć dostępu.
Nadużycia narzędzi agentowych
Sprawdzamy, co model może wykonać za pośrednictwem podpiętych funkcji: wysyłkę wiadomości, zapytania do API, operacje na plikach oraz wywołania płatne, których koszt ponosi Państwa organizacja.
Bezpieczeństwo warstwy RAG
Izolacja danych między klientami w bazie wektorowej, kontrola dostępu do dokumentów źródłowych oraz podatność procesu indeksowania na wprowadzenie spreparowanej treści.
Nadmierne uprawnienia integracji
Analiza tego, jakie konta i tokeny obsługują wywołania modelu. Asystent działający na uprawnieniach administracyjnych zamienia błąd w rozmowie w incydent w środowisku produkcyjnym.
Nadużycie zasobów i koszty
Brak limitów zapytań, kosztowne łańcuchy wywołań uruchamiane pojedynczą wiadomością oraz możliwość wykorzystania Państwa klucza dostawcy modelu przez osoby trzecie.
Zgodność
Systemy AI a obowiązki prawne w Polsce
Wdrożenie asystenta AI nie zwalnia z obowiązków wynikających z RODO — najczęściej je zaostrza.
RODO — minimalizacja i podstawa przetwarzania
Dane trafiające do kontekstu modelu to zwykle dane osobowe, a ich przekazanie zewnętrznemu dostawcy modelu jest powierzeniem przetwarzania. Sprawdzamy, co realnie opuszcza Państwa infrastrukturę, czy jest to zgodne z zawartą umową i czy zakres da się ograniczyć.
Zautomatyzowane decyzje — artykuł 22 RODO
Jeżeli model współdecyduje o sprawach dotyczących osób fizycznych, obowiązują dodatkowe wymogi dotyczące informacji i możliwości interwencji człowieka. Weryfikujemy technicznie, czy przewidziany nadzór człowieka rzeczywiście da się obejść w przepływie aplikacji.
AI Act i klasyfikacja ryzyka
Unijne rozporządzenie o sztucznej inteligencji wiąże obowiązki z klasą ryzyka systemu. Nasze testy dostarczają dowodów technicznych dla wymagań dotyczących odporności i cyberbezpieczeństwa, przydatnych w dokumentacji przygotowywanej na potrzeby zgodności.
ISO 27001 i OWASP Top 10 for LLM
Znaleziska mapujemy na zabezpieczenia z Załącznika A oraz na kategorie OWASP Top 10 for LLM Applications. Dzięki temu wynik jest porównywalny między kolejnymi testami i zrozumiały dla audytora, który nie specjalizuje się w uczeniu maszynowym.
Przebieg
Jak prowadzimy test systemu AI
Zaczynamy od architektury, ponieważ zakres uprawnień modelu decyduje o tym, co w ogóle może pójść nie tak.
- 01
Analiza architektury
Ustalamy, jakie źródła danych zasilają kontekst, jakie narzędzia są podpięte pod model i na czyich uprawnieniach są wywoływane.
- 02
Mapowanie granic zaufania
Wskazujemy każdy kanał, którym treść pochodząca z zewnątrz trafia do modelu — od pól formularza po dokumenty indeksowane automatycznie.
- 03
Testy zachowania modelu
Prowadzimy testy obejścia instrukcji systemowych, ujawnienia promptu oraz wycieku danych z kontekstu, w wariancie bezpośrednim i pośrednim.
- 04
Testy warstwy integracyjnej
Sprawdzamy, czy przez wywołania narzędzi da się wykonać operację, do której użytkownik rozmawiający z modelem nie ma uprawnień.
- 05
Raport z scenariuszami
Każde znalezisko opisujemy pełnym przebiegiem rozmowy prowadzącym do nadużycia, aby zespół mógł je odtworzyć i wykorzystać jako test regresyjny.
- 06
Retesty po wdrożeniu zabezpieczeń
Weryfikujemy skuteczność wprowadzonych filtrów i ograniczeń uprawnień. Retesty są bezpłatne i nielimitowane w ramach projektu.
Najczęstsze pytania
Bezpieczeństwo AI — pytania klientów
Powiązane usługi
Testy penetracyjne aplikacji webowych
Warstwa aplikacyjna i API, w które wpięty jest asystent oparty o model.
Testy penetracyjne środowisk chmurowych
Uprawnienia i izolacja infrastruktury, na której działają modele i bazy wektorowe.
Rozwiązania bezpieczeństwa
Jak dobrać zakres testów do profilu ryzyka Państwa organizacji.
Sprawdźmy, co Państwa asystent zrobi na cudze polecenie
Prosimy o kontakt, aby omówić architekturę systemu AI i ustalić zakres testów. Konsultacja wstępna jest bezpłatna.
Prosimy o kontakt