BlogBezpieczeństwo

Jak obchodzić się z poświadczeniami agentów i integracji z modelami

Trzymaj poświadczenia agentów w menedżerze sekretów albo zastąp je krótkotrwałymi tokenami wydawanymi tożsamości obciążenia, daj każdemu agentowi i środowisku własną tożsamość i nigdy nie wpuszczaj poświadczeń do kontekstu modelu. Tam, gdzie system docelowy akceptuje jednocześnie dwa ważne poświadczenia, rotacja działa przez nakładanie się: wydajesz nowe poświadczenie, trwające procesy pobierają je przy następnym odczycie, a stare odwołujesz dopiero wtedy, gdy nic już z niego nie korzysta.

Zaktualizowano

Cztery rodzaje poświadczeń w środowisku agentów

  • Klucze API dostawców modeli używane przez aplikację lub bramkę
  • Poświadczenia narzędzi i serwerów MCP: konta serwisowe, tokeny API, użytkownicy baz danych
  • Tokeny OAuth przechowywane przez platformę w imieniu użytkowników, którzy delegowali dostęp
  • Tożsamości pipeline'ów i obciążeń, które uruchamiają agentów, wdrażają ich albo pozwalają im pushować kod

Każdy rodzaj ma inny cykl życia, więc zapisz każde poświadczenie w rejestrze z celem, właścicielem, zakresem, miejscem przechowywania i sposobem rotacji. OWASP Secrets Management Cheat Sheet zaleca przechowywanie właśnie takich metadanych, łącznie z osobą kontaktową i terminem rotacji, żeby sekret dało się przenieść lub wymienić bez śledztwa.

Gdzie poświadczenia powinny być, a gdzie nigdy

OWASP zaleca centralny system zarządzania sekretami z dostępem według zasady minimalnych uprawnień, automatyczną rotacją i tam, gdzie to możliwe, dynamicznymi sekretami o krótkim czasie dzierżawy. Dla pipeline'ów GitHub opisuje OpenID Connect jako sposób, w jaki workflowy dostają krótkotrwałe tokeny chmurowe ważne dla jednego zadania, zamiast przechowywać długowieczne poświadczenia chmurowe jako sekrety repozytorium. U agentów poświadczenie powinno pobierać narzędzie albo serwer MCP dokładnie w chwili, gdy wywołanie go potrzebuje, tak by model widział tylko akcję i jej wynik. Poświadczenie nigdy nie powinno trafiać do:

  • Promptów, instrukcji systemowych ani plików instrukcji dla agentów w repozytorium
  • Wyników narzędzi zwracanych modelowi
  • Śladów i logów, bo specyfikacja autoryzacji MCP traktuje tokeny buforowane lub logowane na serwerze jako ryzyko kradzieży
  • Zmiennych środowiskowych sesji agenta, która może uruchamiać polecenia powłoki, chyba że token jest krótkotrwały i wąsko ograniczony

Jedna tożsamość na agenta, środowisko i cel

Wspólne poświadczenia zamieniają każdy incydent w globalny, a każdą linię logu w zgadywankę. OWASP zauważa, że gdy usługi dzielą te same sekrety, trudno ustalić źródło wycieku. Daj każdemu agentowi własną tożsamość w każdym środowisku i oddziel poświadczenia do odczytu od tych do zapisu, jeśli system docelowy na to pozwala. Serwer MCP, który wywołuje API wyższego poziomu, używa do tego własnych poświadczeń, bo specyfikacja zabrania przekazywania dalej tokenu otrzymanego od klienta. Dla połączeń maszyna z maszyną do serwera MCP oficjalne rozszerzenie client credentials zaleca podpisane asercje JWT zamiast długowiecznych sekretów klienta.

Rotacja bez psucia trwających procesów

Poniższa sekwencja zakłada, że system docelowy akceptuje jednocześnie dwa ważne poświadczenia. Jeśli dopuszcza tylko jedno, zaplanuj skoordynowane przełączenie z wstrzymanymi konsumentami albo naprzemienne używanie dwóch tożsamości, jeśli system to obsługuje.

  1. 1

    Utwórz nowe poświadczenie obok starego

    Oba pozostają ważne przez okres nakładania się, z takim samym lub węższym zakresem.

  2. 2

    Przetestuj nowe poświadczenie, zanim stanie się bieżące

    Przykład rotacji OWASP dla AWS Secrets Manager testuje oczekujące poświadczenie, zanim stanie się bieżącym.

  3. 3

    Pozwól konsumentom je pobrać

    Procesy pobierają poświadczenia przy każdym uruchomieniu lub wywołaniu, a nie raz przy starcie, a długi przebieg przy błędzie uwierzytelnienia próbuje ponownie raz, po czym jasno zgłasza błąd.

  4. 4

    Obserwuj użycie starego poświadczenia

    Logi audytowe pokazują, kto jeszcze z niego korzysta.

  5. 5

    Odwołaj stare poświadczenie i sprawdź, że nie działa

    Testowe żądanie ze starym poświadczeniem powinno teraz zostać odrzucone.

Hipotetyczna awaria pokazuje, dlaczego okres nakładania ma znaczenie. Przebieg agenta trwa do dwóch godzin i odczytuje hasło do bazy danych na starcie. Rotacja odwołuje stare hasło trzydzieści minut po wydaniu nowego, więc wcześniej rozpoczęte przebiegi padają w połowie. Pobieraj poświadczenia przy każdym kroku albo wydłuż okres nakładania ponad najdłuższy przebieg i wpisz ten czas do polityki rotacji.

Gdy poświadczenie wycieknie

Według OWASP ujawniony sekret trzeba natychmiast odwołać, zrotować powtarzalnym zautomatyzowanym procesem, usunąć z kodu i logów, a zapisy cyklu życia pokazują, kto miał dostęp, kiedy go używano i kiedy ostatnio go zmieniono. Agenci dokładają dwie kontrole. Ustal, czy poświadczenie trafiło do dostawcy modelu przez prompt lub wynik narzędzia, gdzie może być przechowywane zgodnie z warunkami dostawcy i twoją konfiguracją. Następnie przejrzyj wszystko, co agent zrobił z tym poświadczeniem od początku ekspozycji. OWASP zaleca też przetestowane poświadczenia awaryjne w osobnym systemie na wypadek niedostępności samego menedżera sekretów.

Praktyczny następny krok: zbuduj rejestr dla jednego agenta i zaznacz każde poświadczenie, które jest długowieczne, współdzielone albo czytelne dla modelu.

Pytania

Co, jeśli agent potrzebuje sekretu, by wywołać API?

Przenieś wywołanie do narzędzia lub serwera MCP, który trzyma poświadczenie i udostępnia tylko akcję. Jeśli agent z dostępem do powłoki musi uruchomić narzędzie wiersza poleceń, daj tej sesji krótkotrwały, wąsko ograniczony token i załóż, że agent może go odczytać.

Jak często rotować klucze API dostawców modeli?

Nie ma uniwersalnego interwału. OWASP zaznacza, że odpowiedni czas życia sekretu wynosi od minut do lat, zależnie od tego, co chroni. Opieraj się na zasięgu klucza i tym, jak tanio możesz go zrotować, a przy każdym podejrzeniu ujawnienia rotuj od razu.

Kto powinien odpowiadać za rejestr poświadczeń?

Zespół platformy lub bezpieczeństwa, który utrzymuje menedżer sekretów, przy czym każdy wpis wskazuje zespół korzystający z poświadczenia. Bez tego drugiego właściciela nikt nie powie, czy poświadczenie jest jeszcze potrzebne.

Porozmawiaj z inżynierem

Przyjdź z jednym zadaniem, które chcesz usprawnić. Rozmowa trwa 30 minut i nie wymaga dostępu do twoich systemów ani danych.

Rezerwacja odbywa się w Kalendarzu Google.

Wolisz najpierw napisać? Zostaw adres e-mail i kilka zdań, a odpowiemy, proponując terminy.

Przycisk przygotowuje e-mail w twoim własnym programie pocztowym, a wysyłasz go samodzielnie. Polityka prywatności (wersja robocza)