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.
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
Utwórz nowe poświadczenie obok starego
Oba pozostają ważne przez okres nakładania się, z takim samym lub węższym zakresem.
- 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
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
Obserwuj użycie starego poświadczenia
Logi audytowe pokazują, kto jeszcze z niego korzysta.
- 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.
Bezpieczeństwo agentów AI do programowaniaInżynieria i architektura AI
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.
Powiązane usługi
Inżynieria i architektura AI
Asystenci, interfejsy głosowe i agenci w produktach, które sprzedajesz, razem z serwowaniem modeli i wyszukiwaniem pod spodem.
Tworzenie serwerów MCP
Serwery MCP łączące zatwierdzone wewnętrzne API z asystentami AI, z wąskimi uprawnieniami, akceptacją zmian i testami.
Agenci AI i automatyzacja procesów
Agenci, którzy przejmują rutynowe kroki złożonych spraw i przekazują decyzje ludziom, z kosztem każdej obsłużonej sprawy.
Więcej z bloga
Bezpieczeństwo agentów AI
Bezpieczeństwo agentów AI do programowania i zarządzanie nimi w praktyce: prompt injection, sekrety, uprawnienia, sandboxing, uruchomienia bez nadzoru i podział odpowiedzialności.
MCP i tożsamość w firmie
Jakiej tożsamości powinno używać narzędzie MCP, gdy wywołuje system biznesowy: delegacji użytkownika, wymiany tokenów czy tożsamości serwisowej, i które granice tokenów sprawdzić.
Przechowywanie śladów AI
Co logować, żeby debugować agentów bez przechowywania każdego wrażliwego promptu: trzy poziomy danych śladu, treść domyślnie wyłączona, granice redakcji i okresy przechowywania ustalane przez właścicieli polityk.
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.
Sprawdź wersję roboczą w swoim programie pocztowym
Wyślij ją stamtąd, a inżynier odpowie ci osobiście, proponując terminy 30-minutowej rozmowy. Jeśli wersja robocza się nie otworzyła, napisz do nas na adres miki@cloudsail.com.