ujawnienie informacji wrażliwych
| Po angielsku | sensitive information disclosure (LLM) |
|---|---|
| Którą formą pisać | obie formy Obie formy są w obiegu. Przy pierwszym wystąpieniu pisz „polski termin (english term)”, dalej sam polski. |
| Inne formy | ujawnienie wrażliwych informacji · Sensitive Information Disclosure · wyciek danych przez model |
| Kategoria | Bezpieczeństwo AI i modeli językowych |
Ujawnienie informacji wrażliwych (sensitive information disclosure) to sytuacja, w której aplikacja z modelem językowym podaje w odpowiedzi dane, których pytający nie powinien zobaczyć. OWASP zalicza do informacji wrażliwych dane osobowe, dane finansowe, dokumentację medyczną, poufne dane firmowe, dane uwierzytelniające i dokumenty prawne [1]. Wyciek może dotyczyć zarówno samego modelu, jak i kontekstu aplikacji, w której model działa [1]. Na liście OWASP Top 10 dla aplikacji LLM kategoria zajmuje drugie miejsce, zarówno w edycji 2025, jak i 2026 [2].
Jak działa
Model językowy odpowiada na podstawie wszystkiego, co ma w zasięgu: wiedzy z treningu, instrukcji twórcy aplikacji, historii rozmowy i dokumentów dołączonych do pytania. Nie rozróżnia sam z siebie, która część tego materiału jest przeznaczona dla bieżącego użytkownika. Jeśli do kontekstu trafi cudzy dokument, model może go zacytować. Sekurak, omawiając listę na 2026 rok, streszcza ryzyko tak: poufne dane trafiają do odpowiedzi, logów, kontekstu, innych użytkowników albo zewnętrznych usług [2].
Typowy przypadek to chatbot, który przed odpowiedzią przeszukuje indeks treści strony. Przebieg pokazuje schemat poniżej.
OWASP opisuje właśnie taki scenariusz: użytkownik dostaje odpowiedź zawierającą dane osobowe innego użytkownika, bo dane nie zostały odpowiednio oczyszczone [1]. Drugi scenariusz to celowy atak, w którym prompt injection omija filtry wejścia i wyciąga informacje wrażliwe [1].
Źródła ujawnienia
| Źródło | Co może wyciec |
|---|---|
| Dane treningowe | zapamiętane fragmenty tekstów [4] |
| Kontekst aplikacji | dane innych użytkowników w odpowiedzi [1] |
| Kanały dostępne dla modelu | dane z miejsc niedostępnych dla pytającego [5] |
| Logi i usługi zewnętrzne | treść rozmów przekazana dalej [2] |
| Wnioskowanie modelu | dane, których nie było w treningu [3] |
Zapamiętywanie. NIST opisuje zjawisko nazywane zapamiętywaniem danych (data memorization): modele w trakcie ataków ujawniały informacje z danych treningowych, przy czym ryzyko dotyczy także danych obecnych tylko w niewielu próbkach [3]. Nasr i współautorzy pokazali w listopadzie 2023 roku, że z modeli otwartych, półotwartych i zamkniętych, w tym ChatGPT, da się wydobyć gigabajty danych treningowych [4].
Wnioskowanie. Według NIST modele mogą też poprawnie wywnioskować dane osobowe, których nie było w treningu ani w pytaniu, łącząc informacje z różnych źródeł [3]. Szkodliwe bywają nawet wnioski błędne [3].
W WordPressie
Na stronie WordPress ryzyko pojawia się, gdy wtyczka z modelem językowym ma dostęp do treści szerszych niż publiczne. Dokumentacja WordPressa wyróżnia statusy wpisów: opublikowany jest widoczny dla wszystkich, szkic dla użytkowników z odpowiednią rolą, a prywatny według tej dokumentacji tylko dla użytkowników na poziomie administratora [6]. Status jest zapisany w polu post_status tabeli wp_posts [6].
Wtyczka czatu, która buduje indeks bezpośrednio z tabeli wp_posts, może więc objąć szkice i wpisy prywatne, jeśli nie filtruje ich po statusie. Tak samo w sklepie: zamówienia, adresy i notatki klientów są w bazie tej samej witryny. Odpowiedzi modelu dostają wtedy materiał, którego role i uprawnienia użytkowników nigdy by pytającemu nie udostępniły. Bezpieczniejszy wzorzec to indeksowanie tylko treści publicznych albo filtrowanie wyników według uprawnień osoby, która pyta, zgodnie z zasadą najmniejszych uprawnień [1].
// ilustracja: do indeksu chatbota tylko wpisy opublikowane
$posts = get_posts( array(
'post_status' => 'publish',
'post_type' => array( 'post', 'page' ),
) );
Osobnym kanałem jest przekazywanie rozmów dostawcy modelu. Jeśli użytkownicy wpisują do czatu dane osobowe, trafiają one do usługi zewnętrznej, co warto uwzględnić w dokumentacji przetwarzania i w relacji z podmiotem przetwarzającym.
Zagrożenia i skutki
OWASP wymienia jako skutki nieuprawniony dostęp do danych, naruszenie prywatności i naruszenie własności intelektualnej [1]. W praktyce ujawnienie przez model to odmiana wycieku danych, tyle że kanałem jest odpowiedź czatu.
- Ujawnienie danych uwierzytelniających, na przykład kluczy API, umożliwia dalsze ataki.
- Ujawnienie danych osobowych klientów może być naruszeniem ochrony danych osobowych. RODO definiuje je jako naruszenie bezpieczeństwa prowadzące między innymi do nieuprawnionego ujawnienia danych osobowych lub nieuprawnionego dostępu do nich [7]. Administrator zgłasza takie naruszenie organowi nadzorczemu w ciągu 72 godzin od jego stwierdzenia, chyba że jest mało prawdopodobne, by skutkowało ryzykiem dla praw lub wolności osób [7]; zob. RODO.
- Ujawnienie instrukcji twórcy aplikacji opisuje hasło system prompt leakage.
Jak się bronić
OWASP grupuje środki ochrony w kilka obszarów [1]:
- Oczyszczanie danych. Dane użytkowników nie powinny trafiać do treningu bez oczyszczenia; wejście warto walidować i filtrować [1]. Przed wysłaniem do modelu dane można tokenizować albo redagować [1].
- Kontrola dostępu. Ścisła kontrola dostępu według zasady najmniejszych uprawnień i ograniczenie dostępu modelu do zewnętrznych źródeł danych [1].
- Techniki prywatności. Uczenie federacyjne i prywatność różnicowa, czyli dodawanie szumu do danych lub wyników [1].
- Przejrzystość. Jasne zasady przechowywania, wykorzystania i usuwania danych, z możliwością rezygnacji [1].
Dodatkową warstwą są guardrails sprawdzające odpowiedź przed wyświetleniem oraz narzędzia DLP (ochrona przed wyciekiem danych), które wykrywają dane wrażliwe w ruchu wychodzącym.
Historia i przykłady
Ataki na dane treningowe. W pracy zgłoszonej 28 listopada 2023 roku Nasr i współautorzy opisali atak rozbieżności na ChatGPT: model przestawał odpowiadać jak czat i emitował dane treningowe 150 razy częściej niż przy normalnym działaniu [4]. Autorzy wnioskowali, że obecne techniki dopasowania nie eliminują zapamiętywania [4].
Slack AI. 23 sierpnia 2024 roku Sekurak opisał badanie, w którym instrukcje umieszczone na publicznym kanale Slacka powodowały, że Slack AI umieszczał dane z kanałów prywatnych, na przykład klucze API, w linkach prowadzących do serwera atakującego [5]. Slack uznał to za zamierzone działanie [5]. Przypadek łączy ujawnienie informacji wrażliwych z eksfiltracją danych.
Przypisy
7- [1] LLM02:2025 Sensitive Information Disclosure · OWASP Gen AI Security Project
- [2] Aktualizacja listy OWASP Top 10 dla LLM 2026 – agent AI dostał ręce, klucze i dostęp do firmowych systemów · Sekurak
- [3] NIST AI 600-1: Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile · NIST
- [4] Scalable Extraction of Training Data from (Production) Language Models (Nasr i in.) · arXiv
- [5] Możliwość wstrzyknięcia złośliwego promptu w Slack AI · Sekurak
- [6] Post Status · WordPress.org
- [7] Rozporządzenie (UE) 2016/679 (RODO) · EUR-Lex