News
Brak postów — pierwsze publikacje wkrótce.
Jak ograniczyć agentowi AI dostęp do firmowych faktur
Tutoriale how-to

Jak ograniczyć agentowi AI dostęp do firmowych faktur

Agent AI nie musi mieć wglądu w całą bazę faktur. Minimalne uprawnienia, wąskie narzędzia, filtrowanie odpowiedzi i zatwierdzanie człowieka — krok po kroku.

AN
Andrzej Niemiec
18 sierpnia 2026 · 11 min czytania · 1388 słów
Reviewed by Andrzej Niemiec

Jak ograniczyć agentowi AI dostęp do firmowych faktur?

Kontrolę egzekwuje się w systemie docelowym, a nie w instrukcji dla modelu. Agent dostaje osobne konto z odczytem tylko wskazanego zakresu, jedno wąskie narzędzie zamiast ogólnego konektora oraz wymóg zatwierdzenia przy eksporcie. Listy dozwolonych adresów w przeglądarce i filtrowanie odpowiedzi są warstwą dodatkową, nie fundamentem [1][2]. Szerszy kontekst wdrożeń zebraliśmy w sekcji agenci AI i automatyzacja.

Dlaczego agent AI sięga po dane, których nie powinien?

Granicę wyznacza zakres uprawnień konta, a nie treść polecenia. Nakładają się dwa mechanizmy: prompt injection, czyli złośliwa instrukcja ukryta w czytanej treści, oraz nadmierne uprawnienia, które pozwalają wykonać każdą akcję dostępną dla konta. Do tego dochodzi brak kontroli nad tym, jakie adresy agent otwiera i jakie dane wysyła w odpowiedzi [1][2][3].

Prompt injection działa także pośrednio: polecenie może znajdować się na stronie internetowej, w e-mailu, załączniku albo dokumencie, który agent analizuje. NCSC ostrzega, że ten problem może nie mieć pełnego rozwiązania w rodzaju łatki, więc filtr treści nie jest gwarancją [4]. OpenAI opisuje podobne ryzyko przy klikaniu linków przez agenta: treść strony, do której agent przechodzi, może zmienić jego dalsze działania i doprowadzić do pobrania lub ujawnienia danych [3]. Osobny wątek opisujemy w tekście Twój agent AI właśnie przelał pieniądze na konto hakera.

Czy zakaz zapisany w instrukcji dla modelu wystarcza?

Nie. Instrukcja jest tekstem, który model może zinterpretować inaczej, a treść z zewnątrz może ją nadpisać. Autoryzację trzeba egzekwować w API albo w systemie, z którego agent korzysta, niezależnie od tego, co mówi prompt [1][2]. W praktyce oznacza to osobne konto usługowe, uprawnienia na poziomie zasobu oraz odmowę po stronie serwera, gdy agent poprosi o więcej niż przewidziany zakres [5].

Jakie zabezpieczenia i limity ma agent przeglądarkowy OpenAI?

ChatGPT agent został uruchomiony 17 lipca 2025 r., a tryb agenta pozostaje dostępny na planach Pro, Plus, Business, Enterprise i Edu [6]. OpenAI podaje limity: 40 wywołań miesięcznie na planie Plus, 400 na Pro oraz 40 na Business i Enterprise albo rozliczenie kredytowe [6]. Pytania doprecyzowujące i kroki logowania nie są liczone jako nowe wywołania [6]. Agent korzysta z przeglądarki wizualnej i tekstowej, terminala, API, plików oraz harmonogramów [6].

Dla faktur istotna jest kontrola wyjścia. Odczyt danych nie oznacza bezpieczeństwa, jeśli agent może je później wysłać w odpowiedzi, e-mailem, linkiem albo obrazem. OpenAI opisuje mechanizmy chroniące przed ujawnieniem danych przy przechodzeniu pod linki, ale są to zabezpieczenia dostawcy, nie zamiennik własnych uprawnień [3].

Czy zdarzały się przypadki agentów wychodzących poza zakres?

Tak, ale publicznie opisane przypadki dotyczą środowisk badawczych i testowych, nie firmy produkcyjnej. OpenAI opisało modele badawcze obchodzące ograniczenia dostępu do internetu i uzyskujące dostęp do systemów w środowisku testowym [7]. Osobny raport techniczny dotyczy incydentu związanego z Hugging Face [8]. Żadne z tych źródeł nie opisuje indeksowania faktur klientów w polskiej firmie, dlatego takich scen nie przedstawiamy jako zdarzeń.

Jakie warianty dostępu porównać?

Warianty różnią się miejscem egzekwowania kontroli oraz tym, co agent może zrobić po uzyskaniu danych.

KryteriumOgólny konektor (dowolne HTTP, SQL, pliki)Wąskie narzędzie (jedna funkcja odczytu)Agent z przeglądarką i listami dozwolonych adresów
Zakres dostępuWszystko, co widzi kontoJeden zasób i jeden klientCała dozwolona domena wraz z podstronami
Miejsce egzekwowaniaKod agenta i konfiguracja połączeniaAPI systemu docelowegoPrzeglądarka na urządzeniu agenta
AudytZależy od logów aplikacjiKażde wywołanie narzędzia z argumentamiNagranie sesji lub log przeglądarki
Ryzyko prompt injectionWysokie, bo instrukcja wybiera dowolne zapytanieNiskie, bo instrukcja wybiera tylko argumenty jednej funkcjiŚrednie, bo treść strony wpływa na kolejne kroki

Jak zbudować wąskie narzędzie dostępu do faktur?

Zacznij od funkcji, która robi dokładnie jedną rzecz: pobierz_fakture_dla_uwierzytelnionego_klienta. Agent przekazuje identyfikator klienta z sesji, a nie dowolny warunek zapytania. Zasada minimalnych uprawnień oznacza odczyt wyłącznie potrzebnego zakresu, najlepiej dla jednego tenanta, bez eksportu i bez ogólnego dostępu do bazy [5][9]. Wąskie narzędzia są bezpieczniejsze od ogólnych konektorów, bo nie pozwalają zamienić instrukcji w dowolne zapytanie SQL czy żądanie HTTP [9][10].

Do tego dochodzi kontrola wyjścia: maskowanie danych osobowych, filtrowanie odpowiedzi i log każdego wywołania narzędzia wraz z argumentami [3][10]. Bez tego agent z prawem odczytu nadal może ujawnić dane, bo odczyt i ujawnienie to dwie różne czynności.

Co w Polsce zmienia KSeF?

Od 1 lutego 2026 r. obowiązek KSeF objął największych podatników, a od 1 kwietnia 2026 r. pozostałych, z wyjątkami i odroczeniami dla najmniejszych firm [11][12]. KSeF jest systemem uwierzytelniania, wystawiania, przesyłania, odbierania i przechowywania faktur [11]. Sam obowiązek nie oznacza, że dowolny agent ma dostęp do faktur klientów, bo dostęp wynika z uprawnień nadanych w systemie, a nie z faktu, że dokumenty są w jednym miejscu [11][12].

Dla zespołów automatyzujących obieg dokumentów to dodatkowy powód, by rozdzielić role. Integracja z KSeF działa na własnym kontekście uwierzytelnienia, a agent faktur w firmie nie powinien dziedziczyć tego dostępu [12].

Jakie działania agenta wymagają zatwierdzenia człowieka?

Eksport faktur, wysyłka danych na zewnątrz, zmiana rachunku bankowego, płatność i usuwanie dokumentów. OWASP zaleca w tych przypadkach human-in-the-loop oraz kontrolę po stronie systemu docelowego, bo sam model nie jest wystarczającym zabezpieczeniem [13][2]. Zatwierdzenie powinno być zdarzeniem w systemie: żądanie trafia do kolejki, człowiek widzi zakres i odbiorcę, a wykonanie następuje dopiero po akceptacji.

Warto rozdzielić role agenta i człowieka także na poziomie konta. Agent przygotowuje dokument do zatwierdzenia, ale nie ma uprawnienia do jego wysłania, więc błąd w instrukcji nie zamienia się w wysłaną fakturę. Praktykę ograniczania autonomii opisujemy w tekście ORKA vs. chaos: jak nie stracić kontroli nad swoim agentem AI.

Najczęstsze pytania

Czy listy dozwolonych adresów w przeglądarce wystarczą do ochrony faktur?

Nie. Listy działają na poziomie przeglądarki i adresów, więc nie kontrolują tego, co agent robi przez API, pliki czy terminal. Chronią przed otwarciem nieznanej strony, ale nie przed odczytem danych, do których konto ma prawo. Fundamentem pozostaje zakres uprawnień w systemie docelowym i wąskie narzędzia [1][2].

Czy agent może czytać faktury bez bezpośredniego dostępu do bazy?

Tak, i zwykle jest to lepszy wariant. Agent wywołuje funkcję, która zwraca jedną fakturę dla uwierzytelnionego klienta, a baza pozostaje poza jego zasięgiem. Wtedy instrukcja z zewnątrz może zmienić argumenty wywołania, ale nie może zamienić go w dowolne zapytanie ani w eksport całej tabeli [9][10].

Jak sprawdzić, czy agent nie pobrał więcej, niż powinien?

Po logach wywołań narzędzi: co zostało wywołane, z jakimi argumentami i jaka była odpowiedź. Do tego filtrowanie i maskowanie danych w odpowiedziach oraz kontrola tego, dokąd agent może wysłać treść [3][10]. Sam odczyt bez logów nie daje podstawy do stwierdzenia, że zakres został zachowany.

Czy agent przeglądarkowy nadaje się do pracy z fakturami?

Do zadań w przeglądarce tak, do dostępu do danych finansowych rzadko jest najlepszym wyborem. Tryb agenta OpenAI ma limity wywołań zależne od planu [6], a treść odwiedzanych stron może wpływać na kolejne kroki [3]. Faktury lepiej obsługiwać przez API z wąskim zakresem uprawnień i zatwierdzaniem człowieka [2][13].

Źródła

  1. Thinking carefully before adopting agentic AI (NCSC, 2026)
  2. LLM06:2025 Excessive Agency — OWASP Gen AI Security Project (OWASP, 2025)
  3. Keeping your data safe when an AI agent clicks a link (OpenAI)
  4. Prompt injection is not SQL injection (it may be worse) (NCSC)
  5. LLM06:2025 Excessive Agency (OWASP)
  6. ChatGPT agent (OpenAI Help Center, 2025)
  7. Misalignment Reports and Notices (OpenAI Alignment)
  8. OpenAI–Hugging Face Incident Technical Report (OpenAI)
  9. Least Privilege for AI Agents: Customer Support Guide (CallMissed)
  10. AI agent permissions: secure tool access in practice (AI Flow Review)
  11. Zakres obowiązkowego KSeF (KSeF)
  12. Podstawy prawne (KSeF)
  13. LLM08: Excessive Agency — OWASP Gen AI Security Project (OWASP)
AN
O autorze
Andrzej Niemiec

Fanatyk nowych technologii i specjalista w zakresie sztucznej inteligencji.