Trzy rzeczy, które warto wiedzieć.
- Pozycja LLM06 na liście OWASP Top 10 for LLM Applications 2025.
- Trzy przyczyny według OWASP: nadmiar funkcji (narzędzie umie więcej, niż wymaga zadanie), nadmiar uprawnień (tożsamość narzędzia ma szerszy dostęp, niż trzeba) i nadmiar autonomii (działanie o dużym skutku bez niezależnego zatwierdzenia).
- Wyzwalaczem nie musi być atak: wystarczy konfabulacja modelu albo źle sformułowane polecenie. Dlatego obrona nie może zależeć od tego, czy model się nie pomyli.
Czym jest excessive agency.
Według OWASP system oparty na modelu językowym często dostaje od twórców pewien zakres sprawczości (agency): możliwość wywoływania funkcji i łączenia się z innymi systemami przez rozszerzenia — narzędzia, umiejętności, wtyczki. Decyzję, które rozszerzenie wywołać, można też oddać samemu modelowi. Excessive agency to podatność, która pozwala wykonać szkodliwe działanie w odpowiedzi na nieoczekiwany, niejednoznaczny lub zmanipulowany wynik modelu — niezależnie od przyczyny błędu. OWASP odróżnia ją od niewłaściwej obsługi wyjścia (Insecure Output Handling), która dotyczy niedostatecznej kontroli samych odpowiedzi modelu.
Hasło w słowniku: excessive agency · źródło definicji: LLM06:2025 Excessive Agency
Błąd modelu staje się działaniem.
Źródło OWASP wymienia typowe wyzwalacze: konfabulację wywołaną źle zaprojektowanym, niewinnym promptem albo po prostu słabym modelem; bezpośredni lub pośredni prompt injection; złośliwe lub przejęte rozszerzenie; a w systemach wieloagentowych — złośliwego lub przejętego agenta współpracującego.
Źródło Systemy agentowe zwykle wielokrotnie wywołują model, używając wyniku poprzedniego wywołania do sterowania następnym (OWASP). Błąd jednego kroku staje się wejściem kolejnego.
Wniosek W języku PCT: zakres działań, które może wykonać system, jest zakresem wyjścia pętli. Jeśli między propozycją modelu a wykonaniem nie ma komparatora, który porówna działanie z zadaniem, każda pomyłka modelu od razu zmienia coś w świecie — bez okazji do korekty.
Jak to wygląda w praktyce.
-
Wtyczka do czytania, która umie kasować
Agent ma czytać dokumenty z repozytorium, ale wybrane rozszerzenie pozwala też je modyfikować i usuwać. Nadmiar funkcji.
-
Konto do odczytu z prawem zapisu
Rozszerzenie ma tylko odczytywać dane, ale łączy się z bazą tożsamością z uprawnieniami SELECT, UPDATE, INSERT i DELETE. Nadmiar uprawnień.
-
Wspólne konto uprzywilejowane
Rozszerzenie działające w imieniu jednego użytkownika łączy się z repozytorium dokumentów kontem, które widzi pliki wszystkich użytkowników. Nadmiar uprawnień.
-
Usuwanie bez potwierdzenia
Rozszerzenie pozwalające usuwać dokumenty użytkownika usuwa je bez jego potwierdzenia. Nadmiar autonomii.
-
Asystent poczty, który umie wysyłać
Asystent ma streszczać przychodzące e-maile, ale wtyczka umie też wysyłać wiadomości. Spreparowany e-mail (pośredni prompt injection) każe mu przeszukać skrzynkę i przesłać wrażliwe dane atakującemu. Według OWASP wystarczyłoby usunąć jedną z trzech przyczyn: wtyczka tylko do odczytu, dostęp OAuth z zakresem tylko do odczytu albo ręczne zatwierdzanie każdej wysyłki.
Przykłady i scenariusz za OWASP LLM06:2025 (opis skrócony).
To nie jest hipoteza. Zostało pokazane na działających systemach.
- Documented · źródło 2 Replit usuwa produkcyjną bazę danych (lipiec 2025). Według relacji Jasona Lemkina, założyciela SaaStr, opisanej przez The Register, agent programistyczny Replit usunął produkcyjną bazę danych, choć polecono mu nie zmieniać kodu bez zgody, a później nie respektował zamrożenia zmian (code freeze). Lemkin powiedział, że jedenaście razy, wielkimi literami, kazał mu tego nie robić.
- Documented · źródło 3 Jeden token, wszystkie repozytoria (maj 2025). Invariant Labs pokazało, że agent połączony z serwerem GitHub MCP, czytając złośliwe zgłoszenie (issue) w publicznym repozytorium, może pobrać dane z prywatnych repozytoriów użytkownika i opublikować je w publicznym pull requeście. Jako pierwszy środek zaradczy autorzy wskazali ograniczenie dostępu agenta do repozytoriów, których naprawdę potrzebuje — zasadę minimalnych uprawnień.
Rejestr nie zawiera jeszcze polskiego przypadku tej klasy. Wcześniejszy kandydat — asystent głosowy InPost MAT (PL-AI-2023-003) — został wycofany, bo jedynym materiałem był film rozrywkowy. Jeżeli znasz udokumentowany przypadek w Polsce, napisz.
Co może się stać.
- usunięcie lub nadpisanie danych, także w środowisku produkcyjnym
- wysłanie wiadomości, publikacja treści albo transakcja w imieniu użytkownika
- odczyt danych innych użytkowników przez wspólne, uprzywilejowane konto
- wyciek danych, gdy do nadmiaru uprawnień dochodzi prompt injection
- wykonanie dowolnego polecenia przez rozszerzenie o otwartym zakresie, np. „uruchom polecenie powłoki”
Według OWASP skutki obejmują cały zakres poufności, integralności i dostępności, a ich skala zależy od tego, z jakimi systemami aplikacja może się łączyć. Dlatego zakres uprawnień jest pierwszą rzeczą, którą sprawdzamy u agentów.
Jak zauważyć, że to się dzieje.
- Inwentarz narzędzi i uprawnień: lista każdego rozszerzenia, jakie model może wywołać, z funkcjami i tożsamością, na której działa. Według OWASP typowym źródłem nadmiaru funkcji jest rozszerzenie z fazy testów, którego nikt nie odłączył.
- Rejestr wywołań narzędzi: OWASP zaleca logowanie i monitorowanie aktywności rozszerzeń i systemów docelowych. Każde wywołanie zapisane razem z zadaniem, które je spowodowało.
- Porównanie działania z zadaniem: zapis albo usunięcie w zadaniu, które wymaga tylko odczytu, to sygnał alarmowy.
- Limity częstotliwości: ograniczenie liczby działań w jednostce czasu daje monitoringowi czas, by wychwycić problem przed dużą szkodą (OWASP).
Punkty 2 i 4 za OWASP LLM06:2025 (środki, które nie zapobiegają, ale ograniczają szkody); punkty 1 i 3 — rekomendacje laboratorium.
Mniej funkcji, mniej uprawnień, mniej autonomii.
- Minimum rozszerzeń. Model dostaje tylko te narzędzia, których wymaga zadanie. Jeśli system nie musi pobierać treści spod adresu URL, nie dostaje takiego narzędzia.
- Minimum funkcji w rozszerzeniu. Rozszerzenie do streszczania poczty potrzebuje tylko odczytu; nie powinno umieć usuwać ani wysyłać wiadomości.
- Bez rozszerzeń o otwartym zakresie. Zamiast „uruchom polecenie powłoki” albo „pobierz dowolny URL” — narzędzia o wąskiej funkcji, np. osobne narzędzie wyłącznie do zapisu pliku.
- Minimum uprawnień w systemach docelowych. Tożsamość, którą rozszerzenie łączy się z bazą, ma dostęp tylko do potrzebnych tabel i tylko do odczytu — egzekwowany przez uprawnienia bazy, nie przez prompt.
- Działanie w kontekście użytkownika. Działania w imieniu użytkownika wykonuje się z jego uprawnieniami i z najmniejszym potrzebnym zakresem (np. OAuth), a nie przez wspólne konto uprzywilejowane.
- Zatwierdzenie przez człowieka. Działania o dużym skutku wymagają zatwierdzenia przez człowieka przed wykonaniem — w systemie docelowym albo w samym rozszerzeniu.
- Pełna mediacja (complete mediation). Autoryzacja w systemach docelowych, a nie decyzja modelu o tym, czy działanie jest dozwolone. Każde żądanie przez rozszerzenie jest sprawdzane z polityką bezpieczeństwa.
- Sanityzacja wejścia i wyjścia. Dobre praktyki bezpiecznego programowania (OWASP ASVS) oraz testy SAST, DAST i IAST w procesie wytwarzania.
Osiem strategii za OWASP LLM06:2025. Pierwsze pięć zmniejsza to, co system w ogóle może zrobić; szósta i siódma dodają niezależną decyzję przed wykonaniem.
Czego brakuje w architekturze.
Warstwa, której nie ma
Zasada laboratorium brzmi: LLM proponuje, warstwa kontroli decyduje. Excessive agency to sytuacja, w której tej warstwy nie ma albo zastępuje ją sam model („zapytaj model, czy to dozwolone”). OWASP wskazuje rozwiązanie wprost: autoryzacja w systemie docelowym, nie w modelu (complete mediation).
W języku Reference Signal Engineering: reference signal to „działanie mieści się w zadaniu i w uprawnieniach osoby, która je zleciła”. Niezależnym zapisem są zlecenie i uprawnienia przechowywane w systemie docelowym. Komparator — autoryzacja poza modelem — sprawdza każde działanie przed wykonaniem. Polecenie „nie zmieniaj kodu” wpisane w rozmowę takim zapisem nie jest: w relacji z Replit agent miał uprawnienia, żeby je złamać.
Zasady laboratorium
- SEC-04 Uprawnienia narzędzi, które wywołuje model, egzekwuje system docelowy, nie prompt. Zakaz zapisany tylko w instrukcji dla modelu nie jest zakazem.
- SEC-05 Każde narzędzie dostaje najwęższy zakres potrzebny do zadania: funkcje, dane i czas dostępu. Narzędzie, którego zadanie nie wymaga, nie jest podłączone.
- SEC-06 Działanie nieodwracalne — usunięcie, wysyłka, płatność, zmiana w środowisku produkcyjnym — wymaga zatwierdzenia poza modelem.
Materiał źródłowy.
- 1 · Standard branżowy · OWASP GenAI Security Project · 2025 · data dostępu 2026-09-29 LLM06:2025 Excessive Agency
- 2 · Artykuł prasowy · The Register · 21.07.2025 · data dostępu 2026-09-29 Simon Sharwood — „Vibe coding service Replit deleted user’s production database, faked data, told fibs galore”
- 3 · Analiza podatności · Invariant Labs · 26.05.2025 · data dostępu 2026-09-29 GitHub MCP Exploited: Accessing private repositories via MCP
Diener, Ł. (2026). Excessive agency: Gdy model może więcej, niż powinien [analiza klasy awarii, wersja z 2026-09-29]. ais://lab — bezpieczeństwo systemów AI. https://aisecurity.org.pl/bezpieczenstwo/excessive-agency/
Czy wiesz, jakie narzędzia może wywołać Twój asystent AI albo agent, na jakim koncie działa i które jego działania ktoś zatwierdza przed wykonaniem? Tego dotyczy usługa Audyt bezpieczeństwa agentów AI (od 30 000 zł).