Wrogie polecenia w dokumentach przetargowych: jak ograniczyć ich skutki
Dokument z zewnątrz może zawierać polecenie skierowane do systemu. Czytnik działa bez uprawnień, a do części decyzyjnej przekazuje wyłącznie ustalony zestaw pól.
Treść dokumentu jest traktowana jako dane. Czytnik nie ma uprawnień do działania, podejrzane pliki trafiają do kwarantanny, a dalej przechodzą tylko nazwane pola.
4 min czytania
Analityk przetargów czyta dziesiątki ogłoszeń tygodniowo. Automatyzacja oszczędza czas, ale wprowadza do systemu dokumenty przygotowane przez zewnętrzne podmioty. Ich treści firma nie kontroluje.
Wstrzyknięcie polecenia, znane też jako prompt injection, znajduje się na liście ryzyk OWASP Top 10 dla aplikacji opartych na modelach językowych. Mechanizm jest prosty: tekst, który miał być odczytany jako dane, zostaje potraktowany jak instrukcja. Pole ogłoszenia lub załącznik może próbować skłonić system do przekazania surowej treści dalej, do części mającej dostęp do narzędzi i danych.
Sama instrukcja ochronna nie wystarczy
Można dodać instrukcję, aby system ignorował polecenia znalezione w dokumentach. Taka ochrona pomaga, lecz nadal zależy od prawidłowej interpretacji treści. Nie powinna być jedyną barierą.
W monitoringu przetargów przyjęliśmy inne założenie: nawet skutecznie wstrzyknięte polecenie nie może wykonać działania, ponieważ czytnik dokumentu nie ma potrzebnych uprawnień.
Czytnik bez uprawnień, część decyzyjna bez surowej treści
System dzieli się na dwie części o rozdzielonych uprawnieniach.
Czytnik widzi treść dokumentu, ale działa w izolacji: bez dostępu do sieci, bazy danych, danych logowania do magazynu plików i narzędzi części decyzyjnej. Uprawnienia można sprawdzić w konfiguracji, a ich użycie jest zapisywane w historii.
Część decyzyjna prowadzi cztery kroki oceny ogłoszenia, ale nie otrzymuje surowej treści. Czytnik przekazuje wyłącznie nazwane pola o ustalonym formacie. Nie ma w nich miejsca na dodatkowy tekst zawierający polecenie.
Między nimi działa kwarantanna. Reguły bezpieczeństwa oceniają dokument, a plik z oznakami wrogiego polecenia trafia do osobnej kolejki. Historia zapisuje powód zatrzymania, więc analityk od razu widzi, który dokument wymaga sprawdzenia.
Co pokazał pomiar
Wersję demonstracyjną sprawdziliśmy na 14 kontrolowanych dokumentach: 6 zawierało sygnały ataku, a 8 nie. Reguły poprawnie rozpoznały wszystkie przypadki. Dwie próby przekazania surowej treści do części decyzyjnej zostały zatrzymane, a 670 dozwolonych pól rejestru przeszło bez zmian. W osobnej próbie odczyt ogłoszenia do zamkniętego zestawu pól zużył 266 tokenów, trwał 1,99 s i kosztował szacunkowo 0,00083 zł.
Test obejmuje 14 kontrolowanych dokumentów i nie odzwierciedla pełnej różnorodności specyfikacji warunków zamówienia. Potwierdza działanie reguł oraz rozdzielenia uprawnień w przygotowanych przypadkach, ale nie dowodzi odporności na każdy sposób ataku. Skuteczność trzeba zweryfikować na rzeczywistych dokumentach opisanych przez ekspertów.
Dlaczego sam filtr treści nie wystarczy
Filtr treści zmniejsza prawdopodobieństwo problemu, a rozdzielenie uprawnień ogranicza jego skutki. Filtr trzeba aktualizować wraz z nowymi sposobami ataku. Izolacja czytnika nie zależy od treści dokumentu, choć nadal wymaga testów konfiguracji i przekazywanych pól. W systemie działają obie warstwy.
Model zagrożeń dla dokumentu z zewnątrz
Przed wdrożeniem warto przejść drogę jednego pliku i przy każdym przejściu zapisać możliwy skutek błędu.
| Miejsce | Ryzyko | Kontrola |
|---|---|---|
| Pobranie | podmieniony adres, nieoczekiwany typ lub zbyt duży plik | lista dozwolonych źródeł, limit rozmiaru, zapis adresu i sumy kontrolnej |
| Rozpakowanie | aktywna zawartość, osadzony plik albo uszkodzony parser | izolowany proces, limity czasu i pamięci, brak poświadczeń |
| Odczyt treści | polecenie próbujące zmienić zachowanie systemu | czytnik bez narzędzi i sieci, oznaczenie podejrzanej treści |
| Przekazanie wyniku | przemycenie surowego tekstu w polu opisowym | zamknięty schemat, limity długości i walidacja wartości |
| Decyzja | użycie pola bez sprawdzenia źródła lub zakresu | reguły procesu i widoczny odnośnik do oficjalnego rekordu |
Najważniejsze pytanie brzmi: co może zrobić komponent, jeśli filtr przepuści nowy wariant ataku? Jeżeli ma klucze, sieć i możliwość wywoływania narzędzi, bezpieczeństwo nadal zależy od skuteczności detekcji. Ograniczenie uprawnień zmniejsza możliwy skutek także dla nierozpoznanej treści.
Koszt bezpieczeństwa i fałszywe alarmy
Kwarantanna zwiększa liczbę dokumentów wymagających ręcznego sprawdzenia. Zbyt czuły filtr może zatrzymywać legalne specyfikacje zawierające sformułowania podobne do instrukcji technicznej. Zbyt łagodny filtr zostawia większą część ryzyka warstwie izolacji.
Dlatego w pilotażu trzeba mierzyć dwie rzeczy osobno: skuteczność wykrywania przygotowanych zagrożeń oraz udział czystych dokumentów błędnie zatrzymanych. Do tego dochodzi czas przeglądu kwarantanny. Automatyzacja nadal może być opłacalna, jeśli analityk sprawdza krótki, dobrze opisany wyjątek zamiast czytać cały dokument, ale koszt tej pracy powinien znaleźć się w kalkulacji.
Kryteria odbioru monitoringu przetargów
Przed uruchomieniem na rzeczywistych źródłach sprawdź:
- Czy czytnik działa bez kluczy, dostępu do sieci i poświadczeń magazynu?
- Czy zamknięty schemat odrzuca dodatkowe pola, długi tekst i nieznane typy?
- Czy część decyzyjna potrafi pracować bez surowej treści dokumentu?
- Czy każda wartość prowadzi do oficjalnego źródła i wersji pliku?
- Czy kwarantanna pokazuje powód zatrzymania i ma wyznaczonego właściciela?
- Czy awaria parsera, przekroczenie limitu lub nieznany format kończą się bezpiecznym zatrzymaniem?
- Czy po zmianie czytnika albo schematu wracają testy uprawnień i prób przekazania surowej treści?
Dobry test obejmuje zarówno dokumenty z kontrolowanymi próbami ataku, jak i trudne, lecz prawidłowe dokumenty branżowe. Wynik demonstracyjny potwierdza zachowanie przygotowanego zestawu. Decyzja produkcyjna wymaga materiału reprezentującego źródła, formaty i język danego zespołu przetargowego.
Szczegóły znajdziesz na karcie systemu. Podczas bezpłatnego przeglądu procesu możemy pokazać działanie kwarantanny i ustalić, co trzeba sprawdzić na dokumentach Waszej firmy.
Bezpłatny skan procesów
Zacznij od bezpłatnego skanu procesów.
- 30 minut z inżynierem, który może prowadzić Twoje wdrożenie.
- Przegląd procesów, które kosztują Cię najwięcej czasu i pieniędzy.
- Pisemne podsumowanie: co zautomatyzować, w jakiej kolejności, z widełkami kosztów.
Bez prezentacji sprzedażowej i bez zobowiązań. Jeśli automatyzacja nie ma sensu, też to napiszemy.
0 zł
30 minut · pisemne podsumowanie w 2 dni robocze
Terminy zobaczysz w swojej strefie czasowej.
Wolisz napisać? Formularz bez zobowiązań