Skip to main content

Guardrails & Safety Rails

DLA AGENTÓW AIChatGPTClaude

Warstwa programowa zawierająca deterministyczne filtry, walidatory schematów i polityki bezpieczeństwa, która przechwytuje prompty wejściowe, komendy systemowe oraz odpowiedzi modeli w celu zapobiegania awariom, wyciekom danych i atakom exploitacyjnym.

1. Przegląd koncepcji i problem systemowy

Główny paradoks wdrażania modeli językowych na środowisku produkcyjnym polega na konflikcie między ich probabilistyczną elastycznością a deterministycznymi wymogami bezpieczeństwa korporacyjnego:

  1. Niedeterministyczne zachowanie: Nawet przy ustawieniu temperature=0 nie ma absolutnej gwarancji, że model nie doda zbędnego pola do JSON-a lub nie zinterpretuje ciągu znaków jako polecenia.
  2. Wrażliwość na Prompt Injection: Atakujący może zmusić model do ignorowania reguł, stosując techniki obejścia (np. kodowanie Base64, hipotetyczne scenariusze lub ukryte prompty na stronach internetowych).
  3. Ryzyka regulacyjne i finansowe: Przypadkowy wyciek danych osobowych klientów (PII) lub nieautoryzowane wykonanie destrukcyjnego zapytania SQL pociąga za sobą bezpośrednią odpowiedzialność biznesową.

Guardrails (Barierki zabezpieczające) tworzą izolowaną ramę wokół modelu. Gwarantują one, że żadne niebezpieczne żądanie nie dotrze do LLM, a żadna niepoprawna lub skompromitowana akcja nie zostanie zastosowana w systemie.

2. Taksonomia architektoniczna i model mentalny

System barier dzieli się na trzy krytyczne strefy kontroli:

  • 1. Strefa wejściowa (Input Guardrails): Filtrowanie i normalizacja przychodzącego żądania użytkownika przed wysłaniem go do LLM:
    • Wykrywanie prób złamania zabezpieczeń (Jailbreak / Prompt Injection Detection).
    • Maskowanie danych osobowych (PII Anonymization) zgodnie ze standardem GDPR.
    • Walidacja budżetu tokenów oraz ograniczenie złożoności żądania.
  • 2. Strefa interfejsu akcji (Tool & Action Guardrails): Kontrola przed wykonaniem narzędzia (Tool Call):
    • Analiza AST poleceń terminala: zakaz destrukcyjnych operatorów (rm -rf, mkfs, chmod 777).
    • Walidacja zapytań SQL: gwarancja obowiązkowej obecności klauzuli WHERE w operacjach UPDATE i DELETE.
    • Ograniczenia semantyczne dostępu do systemu plików (Path Traversal Protection).
  • 3. Strefa wyjściowa (Output Guardrails): Weryfikacja wygenerowanej odpowiedzi modelu przed wyświetleniem jej użytkownikowi:
    • Ścisła zgodność ze schematem (Schema Conformance poprzez Pydantic/Zod).
    • Detektor halucynacji (Hallucination & Grounding Check względem źródeł pierwotnych).
    • Skaner wycieku sekretów (klucze API, tokeny autoryzacyjne, wewnętrzne adresy IP).

3. Potok techniczny i mechanika wewnętrzna

Przetwarzanie żądania przez system Guardrails przebiega w 4 następujących po sobie fazach:

  1. Ingress Sanitization (Oczyszczanie na wejściu): Szybkie wzorce regex oraz skanery entropii wykrywają próby przekazania sekretów. Lekki klasyfikator wektorowy sprawdza semantyczną zgodność wejściowego promptu z dozwolonymi tematami (Topic Whitelisting).
  2. Constrained Decoding (Generacja sterowana): Jeśli wymagany jest sztywny format (np. JSON), stosuje się mechanizmy próbkowania oparte na gramatykach (Grammar-Guided Sampling). Model fizycznie nie jest w stanie wygenerować tokenu, który narusza zdefiniowaną schemę składniową.
  3. Egress Verification & Scrubbing (Kontrola wyjścia): Wygenerowany wynik przechodzi weryfikację pod kątem treści toksycznych, wycieków wewnętrznej architektury promptu oraz zgodności faktograficznej z bazą wiedzy.
  4. Interception & Graceful Fallback (Obsługa incydentów): W przypadku naruszenia reguł system nie ulega awarii. Zamiast tego wysyła do modelu komunikat z prośbą o przepisanie odpowiedzi wraz z wyjaśnieniem błędu (Self-Correction Loop) lub zwraca użytkownikowi bezpieczną, przygotowaną wcześniej odpowiedź zastępczą (fallback).

4. Praktyczne scenariusze inżynierskie na produkcji

01. Ochrona przed wyciekiem PII i informacji finansowych

Asystent czatu banku przechwytuje wiadomości od klientów. Przed wysłaniem do publicznego API modelu chmurowego wszystkie numery kart, kody IBAN oraz numery telefonów są automatycznie maskowane tokenami ([CARD_REDACTED_1]), a na drodze powrotnej demaskowane wyłącznie dla autoryzowanego klienta.

02. Deterministyczna kontrola agentów terminalowych

Agent kodujący typu Claude Code czy Cursor otrzymuje uprawnienia do wykonywania poleceń bash. Guardrail parsuje linię komendy do drzewa składniowego (AST) i blokuje wszelkie próby wyjścia sieciowego przez curl na listy hostów spoza białej listy lub próby zmiany uprawnień do plików konfiguracyjnych.

03. Gwarancja logiki biznesowej w agentach e-commerce

Autonomiczny agent sprzedażowy ma prawo stosować rabaty. Guardrail weryfikuje wygenerowany argument funkcji: jeśli agent próbuje zastosować rabat przekraczający 15% lub ustawić cenę poniżej kosztu własnego, transakcja jest odrzucana na poziomie walidatora, co zapobiega stratom finansowym firmy.

5. Pułapki, typowe błędy i bezpieczeństwo

  • Kaskada fałszywych alarmów (False Positives): Zbyt agresywne wyrażenia regularne lub modele bezpieczeństwa mogą blokować legalne żądania techniczne użytkowników (np. dyskusje o podatnościach w kodzie lub przykłady komend). Konieczny jest stały monitoring logów zablokowanych żądań oraz regularne strojenie progów czułości.
  • Narzut na opóźnienie (Latency Overhead): Uruchomienie osobnego LLM do oceny bezpieczeństwa dla każdego tokenu dwukrotnie wydłuża czas odpowiedzi. Minimalizuj synchroniczne wywołania ciężkich modeli – większość kontroli powinna być deterministyczna.
  • Obejście przez fragmentację tokenów (Token Smuggling): Atakujący dzielą niebezpieczne komendy na mniejsze części (np. przez konkatenację ciągów znaków lub użycie homoglifów Unicode). Normalizuj tekst (Unicode Normalization NFC/NFKC) przed przepuszczeniem go przez filtry.
/ Najczęściej zadawane pytaniaSchema.org FAQPage

FAQ: Guardrails & Safety Rails

Prompt systemowy znajduje się w tej samej przestrzeni semantycznej uwagi modelu co dane wprowadzane przez użytkownika. W związku z tym każdy model językowy pozostaje podatny na ataki typu Jailbreak, manipulacje rolami oraz pośrednie iniekcje. Niezawodna ochrona powinna być realizowana przez zewnętrzny, deterministyczny kod otaczający model, a nie przez prośby zawarte wewnątrz promptu.
/ Linki wewnętrzne
Wszystkie hasła