Data poisoning (zatrucie danych)
Definicja
Data poisoning to celowe wprowadzenie złośliwych lub mylących treści do danych, aby model lub RAG zwracał błędne odpowiedzi.
Co to w zasadzie jest?
- To jak podmiana karteczek w instrukcji, żeby ktoś robił źle.
- W RAG wystarczy wstrzyknąć jeden „sprytny” fragment do bazy wiedzy.
- Skutkiem mogą być błędne procedury lub wycieki.
Praktyczne zastosowania (konkretne scenariusze)
Scenariusz 1: Podmieniony PDF w repozytorium powoduje błędne odpowiedzi asystenta
- Cel: podmieniony PDF w repozytorium powoduje błędne odpowiedzi asystenta.
- Wejście: repozytorium dokumentów, FAQ albo baza wiedzy.
- Kroki: sprawdź źródło -> wykryj zmianę -> odizoluj podejrzany materiał.
- Rezultat: mniejsze ryzyko odpowiedzi opartych na zatrutych danych.
- Zabezpieczenie: provenance, review i kontrola wersji.
Scenariusz 2: Złośliwy fragment w FAQ próbuje wymusić ujawnienie danych
- Cel: złośliwy fragment w FAQ próbuje wymusić ujawnienie danych.
- Wejście: repozytorium dokumentów, FAQ albo baza wiedzy.
- Kroki: sprawdź źródło -> wykryj zmianę -> odizoluj podejrzany materiał.
- Rezultat: mniejsze ryzyko odpowiedzi opartych na zatrutych danych.
- Zabezpieczenie: provenance, review i kontrola wersji.
Typowe błędy i pułapki
- Brak kontroli źródeł (każdy może dodać dokument).
- Brak przeglądu zmian i wersjonowania.
Ryzyka i jak je ograniczać
Ryzyko 1: Błędne decyzje
- Ryzyko: Błędne decyzje.
- Jak ograniczać: whitelist + review + podpisywanie źródeł.
Ryzyko 2: Prompt injection w dokumentach
- Ryzyko: Prompt injection w dokumentach.
- Jak ograniczać: skanowanie i filtracja.
Ryzyko 3: Utrata zaufania
- Ryzyko: Utrata zaufania.
- Jak ograniczać: monitoring jakości i szybki rollback.
Checklista “zanim użyjesz”
- Czy źródła są zatwierdzone?
- Czy dokumenty mają właściciela i wersję?
- Czy jest przegląd zmian?
- Czy testujesz RAG na „złych” przykładach?
- Czy masz monitoring i alarmy?
Diagram
flowchart LR
A[Złośliwe dane]
B[Zbiór treningowy]
C[Trening modelu]
D[Błędne zachowanie]
E[Walidacja danych]
A --> B --> C --> D
B --> E --> C
Diagram pokazuje, że zatrute dane mogą wpłynąć na model już na etapie treningu, dlatego trzeba kontrolować jakość zbioru.
Dalsza lektura
- OWASP LLM Top 10 (RAG i prompt injection).
- NIST AI RMF.
- Dobre praktyki kontroli wersji i repozytoriów.
Miejsce w mapie
- Data poisoning → atakuje: RAG
- Data poisoning → atakuje: Baza wektorowa
- Data poisoning → ogranicza: Red teaming