← Wszystkie wpisy

Klucze agentów potrzebują budżetów ryzyka

Repozytorium shuriken-skills firmy Shuriken zawiera instrukcje dla Claude Code, Codex CLI, GitHub Copilot CLI, Gemini CLI, Cursor, OpenCode oraz agentów zgodnych z AGENTS.md.1 To samo repozytorium kieruje tych agentów do platformy, na której klucze agentów mogą odczytywać dane rynkowe, sprawdzać portfele, żądać kwotowań i wykonywać transakcje, jeśli użytkownik przyzna im taką możliwość.2

Nie handel jest tu najważniejszy. Najważniejszy jest wzorzec: agenci potrzebują dziś poświadczeń do narzędzi, które mogą wywoływać realne skutki zewnętrzne. Klucz agenta nie powinien działać jak zwykły klucz API. Powinien działać jak budżet ryzyka.

Klucz agenta jest obiektem o ograniczonych uprawnieniach. Powinien określać, co agent może zrobić, czego nie może zrobić, jak duże ryzyko może wytworzyć, jak operatorzy mogą sprawdzać jego działania oraz jak szybko można go wstrzymać, rotować lub unieważnić. Instrukcje dla modelu pomagają, ale granicę wyznaczają limity po stronie serwera.

TL;DR

MCP i przenośne umiejętności ułatwiają agentom łączenie się z systemami zewnętrznymi.34 Ta przenośność podnosi stawkę w projektowaniu poświadczeń. Dokumentacja Shuriken opisuje właściwy kształt kontroli dla niebezpiecznych narzędzi: utworzyć klucz agenta, nadać wyłącznie potrzebne uprawnienia, egzekwować limity po stronie serwera, rejestrować aktywność i unieważnić klucz, gdy integracja przestaje go potrzebować.256 Najnowsze badania nad zasadą najmniejszych uprawnień prowadzą w tym samym kierunku: umiejętności mogą wykonywać działania wykraczające poza minimalny zakres konkretnego zadania, dlatego uprawnienia muszą zależeć od zadania, a nie od całego pakietu.9

Wniosek dotyczy nie tylko finansów. Każde narzędzie agenta, które wysyła pieniądze, publikuje treści, zmienia infrastrukturę, wysyła wiadomości do klientów albo dotyka prywatnych danych, potrzebuje klucza o ograniczonym zakresie z budżetem ryzyka. Ten budżet musi znajdować się poniżej modelu i poniżej pliku umiejętności. Serwer powinien odrzucać nieautoryzowane działanie nawet wtedy, gdy agent prosi o nie z pełnym przekonaniem.

Najważniejsze wnioski

  • Dla twórców narzędzi agentów: poświadczenia należy projektować jako budżety uprawnień, nie jako uniwersalne tokeny bearer.
  • Dla zespołów bezpieczeństwa: należy oddzielić zakresy odczytu od zakresów zapisu lub wykonania, a następnie nałożyć limity wydatków, tempa i obiektów po stronie wykonawczej.
  • Dla zespołów produktowych: dzienniki aktywności i kontrolki unieważniania dostępu powinny być widoczne w głównym UI, a nie ukryte głęboko w ustawieniach.
  • Dla twórców MCP: dystrybucję narzędzi i uprawnienia poświadczeń trzeba traktować jako dwie różne płaszczyzny. Umiejętności mogą uczyć. Klucze muszą ograniczać.
  • Dla operatorów: warto zacząć od trybu tylko do odczytu, potwierdzić ścieżkę integracji, a dopiero potem dodać dostęp do zapisu, gdy istnieje plan reakcji.

Umiejętności dystrybuują instrukcje. Klucze dystrybuują uprawnienia.

Repozytorium shuriken-skills pokazuje nowy wzorzec dystrybucji. Jedno drzewo źródłowe zawiera markdown z umiejętnościami, manifesty wtyczek dla Claude i Codex, manifest wtyczki dla Cursor, plik rozszerzenia Gemini, wtyczkę OpenCode, crate Rusta oraz awaryjną ścieżkę AGENTS.md.17

To opakowanie ma znaczenie, bo instrukcje agentów przemieszczają się dziś między klientami. Dostawca może nauczyć Codex, Claude Code, Cursor, Gemini i inne narzędzia integracji z tym samym API. Dokumentacja MCP opisuje umiejętności agentów jako przenośne zestawy instrukcji, które przekazują asystentom kodowania wiedzę domenową, w tym decyzje projektowe dotyczące modelu wdrożenia, przepływów uwierzytelniania i wzorców narzędzi.4 O stronie dystrybucji pisałem w Umiejętności agentów potrzebują menedżerów pakietów; strona bezpieczeństwa zaczyna się wtedy, gdy te pakiety proszą o realne uprawnienia.

Przenośne instrukcje rozwiązują jeden problem i tworzą drugi. Pomagają agentowi nauczyć się właściwej ścieżki integracji. Nie czynią jednak wynikowego działania bezpiecznym. Umiejętność może powiedzieć modelowi, żeby stosował zasadę najmniejszych uprawnień. Instrukcja dla modelu może nakazywać ostrożność. README może wyjaśniać zalecane zakresy. Żadna z tych kontroli nie zatrzyma uwierzytelnionego żądania, gdy model zdecyduje się je wysłać.

To napięcie odpowiada szerszemu problemowi MCP opisanemu w Serwery MCP są nową powierzchnią ataku: dostęp do narzędzi rozszerza powierzchnię działania szybciej, niż nadążają za tym dawne nawyki zatwierdzania. Umiejętności agentów czynią ścieżkę instrukcji przenośną. System kluczy musi utrzymać wąską ścieżkę uprawnień.

Dlatego poświadczenia potrzebują własnego projektu. Plik umiejętności żyje na płaszczyźnie instrukcji. Klucz agenta żyje na płaszczyźnie uprawnień. Mieszanie tych płaszczyzn tworzy kruchy system: ten sam tekst uczy agenta, co ma robić, i jednocześnie próbuje powstrzymać go przed zrobieniem zbyt wiele.

Granica należy do serwera.

Wzorzec Shuriken to budżet ryzyka

Dokumentacja Agent Kit firmy Shuriken opisuje klucz agenta jako obiekt kontrolujący, co narzędzie AI może zrobić: od odczytu cen tokenów po wykonywanie transakcji, z limitami egzekwowanymi po stronie serwera, zanim agent zacznie działać.5 Strona uprawnień wymienia sześć kategorii uprawnień i wskazuje, że wywołania poza nadanym zakresem kończą się błędem autoryzacji.6

Takie ujęcie pozwala też uniknąć częstego błędu w publicznych demonstracjach agentów: traktowania otwartego kodu, widocznych instrukcji albo czytelnego manifestu wtyczki jako granicy bezpieczeństwa. Otwartość może pomagać w przeglądzie, ale open source nie jest granicą bezpieczeństwa. Granica znajduje się tam, gdzie nieautoryzowane działania kończą się niepowodzeniem.

Ten wzorzec ma pięć części:

Kontrola Dlaczego ma znaczenie
Uprawnienia o ograniczonym zakresie Klucz tylko do odczytu może sprawdzać. Klucz transakcyjny może działać. Ta różnica zmienia promień rażenia.
Limity obiektów Dostęp do portfela może pozostać wąski, zamiast obejmować każdy podłączony zasób.
Limity wydatków Limity kupna, sprzedaży, dzienne, godzinowe, poślizgu, gazu i równoległych transakcji zmieniają uprawnienia w mierzalny budżet.
Dzienniki aktywności Operatorzy mogą sprawdzać wywołania narzędzi, kwotowania, znaczniki czasu i statusy, zamiast ufać końcowej odpowiedzi.
Unieważnianie dostępu Klucz może przestać działać bez kończenia głównej sesji użytkownika ani wszystkich pozostałych integracji.

To właściwy kształt dla narzędzi agentów wysokiego ryzyka. Projekt nie polega na tym, że model stanie się mądry. Zakłada, że model może się mylić, być zbyt pewny siebie, zostać skompromitowany przez dane wejściowe albo po prostu otrzymać złą instrukcję. Serwer nadal egzekwuje klucz.

Skopiowałbym wzorzec kontroli, nie domenę. Klucz wdrożeniowy, klucz publikacyjny, klucz do wiadomości dla klientów, klucz do zwrotów w Stripe i klucz transakcyjny wymagają tego samego pytania: jaka jest maksymalna szkoda, którą ten klucz może wyrządzić, zanim człowiek ją zauważy?

Limity po stronie serwera są silniejsze niż obietnice instrukcji dla modelu

Dokumentacja OpenAI Agents SDK przedstawia zabezpieczenia jako kontrole, które mogą działać wokół agenta, w tym zabezpieczenia wejścia i wyjścia z mechanizmami wyzwalającymi.8 Zabezpieczenia pomagają, bo wykrywają ryzyko przed wykonaniem modelu lub po nim. Nadal jednak należą do innej warstwy niż uprawnienia poświadczeń.

Zabezpieczenie wyjścia może oznaczyć złe proponowane działanie. Limit klucza po stronie serwera może odrzucić działanie nawet wtedy, gdy zabezpieczenie go nie wychwyci. Ta różnica jest ważna, gdy działanie wychodzi poza tekst.

Proszę rozważyć narzędzie, które może opublikować post, wysłać e-mail, zmienić rekord DNS, scalić pull request albo wykonać transakcję. Reguła w instrukcji dla modelu może mówić: „najpierw zapytaj”. Zabezpieczenie może szukać tekstu wysokiego ryzyka. Klucz po stronie serwera może wyegzekwować faktyczny limit:

Ryzykowne działanie Reguła na poziomie instrukcji Granica na poziomie klucza
Wysłanie e-maila „Nie wysyłaj bez zatwierdzenia” Klucz może tylko przygotować wersję roboczą, nie wysłać
Publikacja treści „Najpierw sprawdź cytowania” Klucz może pisać do środowiska stagingowego, nie na produkcję
Zmiana infrastruktury „Unikaj działań destrukcyjnych” Klucz może odczytywać konfigurację, nie modyfikować zasobów
Wykonanie transakcji „Działaj konserwatywnie” Klucz ogranicza wydatki, tempo, poślizg i dostęp do portfela
Wiadomości do klientów „Użyj zatwierdzonej treści” Klucz dociera tylko do grupy testowej, dopóki nie zostanie promowany

Reguła instrukcji może zawieść po cichu. Granica na poziomie klucza tworzy obserwowalne odrzucenie. To odrzucenie staje się dowodem. Agent próbował przekroczyć zakres. Serwer odmówił. Operator może sprawdzić nieudane żądanie i zdecydować, czy integracja potrzebuje nowego klucza, węższego przepływu pracy albo kroku zatwierdzenia przez człowieka.

To ta sama logika, która stoi za bramką dowodową: zaufanie powinno wynikać z obserwowalnego dowodu, nie z pewności siebie. Końcowa odpowiedź „pozostałem w limitach” znaczy mniej niż dziennik serwera pokazujący, który limit zadziałał.

Zmienia to również końcową odpowiedź w coś bliższego pakietowi przeglądowemu. W tekście Pakiety przeglądowe są nową odpowiedzią końcową argumentuję, że poważna praca agentów potrzebuje artefaktów dowodowych. Odrzucenia poświadczeń, dzienniki aktywności i zmiany kluczy o ograniczonym zakresie są bezpieczeństwową wersją takiego artefaktu.

Minimalny kształt poświadczeń agenta

Każde poświadczenie agenta, które może wpłynąć na świat zewnętrzny, powinno mieć sześć właściwości.

Właściwość Minimalne wymaganie
Cel Jeden klucz na integrację lub zadanie, nie jeden klucz używany wszędzie
Zakres Jawne uprawnienia do odczytu, zapisu, wykonania, powiadamiania i administracji
Budżet Limity wydatków, tempa, wolumenu, obiektów, odbiorców i czasu tam, gdzie pozwala na to domena
Widoczność Dziennik aktywności z typem żądania, obiektem docelowym, znacznikiem czasu, statusem i przyczyną błędu
Cykl życia Rotacja, wstrzymanie i unieważnienie bez psucia niepowiązanych integracji
Ścieżka promowania Start od trybu tylko do odczytu, a rozszerzenie dopiero po testach lokalnych, dowodzie ze środowiska stagingowego i przeglądzie operatora

Umiejętności Shuriken mówią to samo językiem integracji: tworzyć jeden klucz na integrację, nadawać minimalny zakres, trzymać klucze w tajemnicy, rotować je po podejrzeniu kompromitacji i unieważniać wycofane integracje.7 Ich umiejętność dotycząca zakresów oddziela też zakresy odczytu od zakresów transakcyjnych i ostrzega przed szerokimi kluczami „na wszelki wypadek”.7

Słownik badawczy dogania wzorzec produktowy. Artykuł SkillScope opisuje nadmiarowe uprawnienia jako zależne od zadania: to samo działanie umiejętności może być prawidłowe dla jednej prośby użytkownika i nadmierne dla innej.9 Autorzy raportują 7 039 umiejętności ze zweryfikowanymi zachowaniami nadmiarowo uprzywilejowanymi oraz redukcję liczby uruchomionych instancji takich działań o 88,56% po ograniczeniu uprawnień za pomocą ich ram.9 Nie trzeba kopiować dokładnego mechanizmu, aby przyjąć lekcję produktową. Poświadczenia agentów powinny odzwierciedlać bieżące zadanie, nie największe możliwe zadanie, jakie narzędzie potrafi sobie wyobrazić.

Ta wskazówka powinna stać się normalnym elementem projektowania produktów agentowych. Szerokie klucze API miały sens wtedy, gdy usługa backendowa kontrolowała wąską ścieżkę kodu. Agenci nie zachowują się jak jedna wąska ścieżka kodu. Planują, ponawiają próby, łączą narzędzia, streszczają błędy, wywołują skrypty pomocnicze i reagują na zewnętrzne dane wejściowe. Poświadczenie powinno zakładać większą zmienność zachowania niż zwykły token usługi.

Właśnie dlatego wyszukiwanie kodu przez agentów ma problem z budżetem tokenów ma znaczenie nawet w artykule o poświadczeniach. Agenci często podejmują decyzje przy częściowym kontekście. Wąski klucz daje systemowi drugą szansę, gdy okno kontekstu pominie niebezpieczny szczegół.

Czego nie kopiować

Nie należy kopiować marketingowego optymizmu.

Publiczna dokumentacja Shuriken używa mocnego języka o agentach działających pod nieobecność użytkowników i wychwytujących okazje.2 Taka fraza może pasować do ich produktu. Nie powinna jednak stać się domyślną postawą bezpieczeństwa dla narzędzi agentów, które wywołują skutki zewnętrzne.

Przy działaniach wysokiego ryzyka „pod nieobecność użytkownika” musi oznaczać operacyjnie coś węższego:

  • agent może gromadzić informacje pod nieobecność użytkownika;
  • agent może przygotować projekt działania pod nieobecność użytkownika;
  • agent może wykonać działanie tylko w małym, jawnym, egzekwowanym po stronie serwera budżecie;
  • operator może później sprawdzić każde działanie;
  • operator może natychmiast wstrzymać lub unieważnić klucz.

Na tym polega różnica między autonomią a abdykacją. Użytkownik może delegować działanie. System nie może delegować odpowiedzialności.

Ta sama ostrożność dotyczy umiejętności i manifestów wtyczek. Repozytorium może obsługiwać każdego klienta agentowego, a mimo to zasługiwać na konserwatywne ustawienie domyślne. Sprawdzony przeze mnie .codex-plugin/plugin.json wymienia możliwość odczytu w metadanych interfejsu, natomiast dokumentacja wyjaśnia, że handel wymaga jawnie włączonych uprawnień i limitów.7 To dobry kierunek: dystrybucja może być szeroka, a uprawnienia powinny zaczynać wąsko.

Reguła decyzyjna

Gdy nowa integracja agenta prosi o poświadczenie, należy sklasyfikować klucz przed jego wydaniem.

Typ integracji Klucz początkowy Wymaganie promowania
Wyszukiwanie, odczyt, streszczanie Tylko do odczytu Brak, chyba że rozszerza się zakres danych prywatnych
Tworzenie wersji roboczej treści lub kodu Zapis wyłącznie do środowiska stagingowego Przegląd człowieka i bramka publikacji
Powiadamianie lub wysyłanie wiadomości Tylko odbiorcy testowi Dzienniki dostarczeń i ścieżka rezygnacji
Zmiana ustawień produkcyjnych Najpierw tylko do odczytu Plan zmiany, zatwierdzenie, wycofanie i dziennik audytu
Przenoszenie pieniędzy lub aktywów Najpierw bez dostępu wykonawczego Mały budżet egzekwowany po stronie serwera, przegląd aktywności i próba unieważnienia
Zarządzanie innymi kluczami Domyślnie unikać Osobny przepływ administracyjny z zatwierdzeniem przez człowieka

Ta tabela daje agentowi użyteczną ścieżkę, bez udawania, że granicę utrzymuje sam model. Przepływ pracy nadal może się poprawiać. Klucz zapobiega temu, aby poprawa stała się nieograniczonymi uprawnieniami. Ślady wykonania agentów są kontraktem środowiska wykonawczego pokazują to samo od strony audytu: jeśli system nie potrafi pokazać, co się wydarzyło, nie potrafi udowodnić, że agent działał w ramach zamierzonego kontraktu.

O tym samym podziale pisałem w Bezpieczeństwo sandboxa agenta jest sugestią: model może działać całkowicie w ramach nadanych uprawnień, a mimo to stworzyć niebezpieczny wynik. Klucze agentów potrzebują budżetów ryzyka, bo uprawnienie nie jest tym samym co bezpieczeństwo.

FAQ

Czy klucze agentów to po prostu klucze API pod nową nazwą?

Nie. Zwykły klucz API często daje szeroki dostęp do usługi. Klucz agenta powinien nadawać ograniczony zestaw możliwości dla jednej integracji, z limitami po stronie serwera, dziennikami aktywności i unieważnianiem, które nie wpływa na główną sesję użytkownika.

Dlaczego egzekwowanie po stronie serwera ma znaczenie?

Serwer widzi końcowe żądanie. Instrukcja modelu, plik umiejętności albo zabezpieczenie mogą przeoczyć złe działanie. Sprawdzenie uprawnień po stronie serwera może odrzucić żądanie, gdy klucz nie ma potrzebnego zakresu albo przekracza skonfigurowany limit.6

Czy każdy agent powinien zaczynać tylko od odczytu?

Tak, jeśli narzędzie ma istotne skutki zewnętrzne. Należy zacząć od dostępu tylko do odczytu, zweryfikować ścieżkę integracji, a dopiero potem dodać uprawnienia zapisu lub wykonania, gdy zespół wie, jakie istnieją dzienniki, limity, zatwierdzenia i kroki wycofania.

Czy MCP zwiększa ryzyko związane z poświadczeniami agentów?

MCP ułatwia podłączanie narzędzi zewnętrznych między klientami.3 Ta wygoda zwiększa znaczenie projektu poświadczeń. Przenośny dostęp do narzędzi powinien iść w parze z wąskimi kluczami, nie z szerszym zaufaniem.

Co zespoły powinny skopiować od Shuriken?

Warto skopiować rozdzielenie dystrybucji instrukcji od uprawnień po stronie serwera: przenośne umiejętności mogą uczyć integracji, a klucze o ograniczonym zakresie, limity, dzienniki i unieważnianie dostępu ograniczają działanie. Nie należy kopiować domenowego zachowania transakcyjnego, jeśli nie uzasadniają go produkt, prawo i kontrole operacyjne.


Źródła


  1. ShurikenTrade, repozytorium shuriken-skills GitHub oraz inspekcja klonu w bieżącej sesji z 18 maja 2026. Repozytorium zawierało .claude-plugin/plugin.json, .codex-plugin/plugin.json, .cursor-plugin/plugin.json, gemini-extension.json, .opencode/plugins/shuriken-skills.js, skills/*/SKILL.md, GEMINI.md oraz metadane pakietu dla wersji 0.2.0

  2. Shuriken, „AI Agent Kit”, dokumentacja Shuriken. Weryfikacja w bieżącej sesji wykazała status 200 oraz markery dla Agent Kit, MCP, egzekwowania po stronie serwera, twierdzeń dotyczących kluczy prywatnych i limitów wykonania. 

  3. Model Context Protocol, „What is the Model Context Protocol?”, dokumentacja MCP. Źródło dla MCP jako otwartego standardu łączącego aplikacje AI ze źródłami danych, narzędziami i przepływami pracy, w tym systemami, które mogą wykonywać działania w imieniu użytkownika. 

  4. Model Context Protocol, „Build with Agent Skills”, dokumentacja MCP. Źródło dla umiejętności agentów jako przenośnych zestawów instrukcji kodujących decyzje projektowe, przepływy uwierzytelniania, wzorce projektowania narzędzi i rozpoznawanie powierzchni działania. 

  5. Shuriken, „Create an Agent Key”, dokumentacja Shuriken. Źródło dla kluczy agentów, szablonów tylko do odczytu i transakcyjnych, limitów po stronie serwera, jednorazowego kopiowania klucza, dzienników aktywności, kontroli wstrzymania/unieważnienia oraz konfiguracji limitów transakcyjnych. 

  6. Shuriken, „Permissions & Safety”, dokumentacja Shuriken. Źródło dla sześciu kategorii uprawnień, egzekwowania po stronie serwera, limitów transakcyjnych, zalecanych konfiguracji i najlepszych praktyk bezpieczeństwa. 

  7. Inspekcja w bieżącej sesji plików skills/agent-keys/SKILL.md, skills/scoping/SKILL.md, .codex-plugin/plugin.json, .claude-plugin/plugin.json i package.json z płytkiego klonu https://github.com/ShurikenTrade/shuriken-skills.git z 18 maja 2026. Źródło dla zaleceń jeden-klucz-na-integrację, minimalnych zakresów, sekwencji rotacji/unieważnienia, kategorii zakresów odczytu i transakcyjnych oraz metadanych wtyczki Codex. 

  8. OpenAI Agents SDK, „Guardrails”, dokumentacja OpenAI. Źródło dla ujęcia zabezpieczeń wejścia/wyjścia, mechanizmów wyzwalających i zabezpieczeń działających wokół wykonania agenta. 

  9. Jiangrong Wu, Yuhong Nan, Yixi Lin, Huaijin Wang, Yuming Xiao, Shuai Wang i Zibin Zheng, „SkillScope: Toward Fine-Grained Least-Privilege Enforcement for Agent Skills”, arXiv, zgłoszono 7 maja 2026. Źródło dla zależnego od zadania nadmiaru uprawnień w umiejętnościach agentów, 7 039 zweryfikowanych nadmiarowo uprzywilejowanych umiejętności oraz redukcji liczby uruchomionych instancji działań nadmiarowo uprzywilejowanych o 88,56% w ich ewaluacji. 

Powiązane artykuły

Narzędzia MCP wymagają autoryzacji na poziomie działania

Narzędzia MCP wymagają autoryzacji na poziomie działania: walidacja tokenu typu bearer musi prowadzić do kontroli uprawn…

12 min czytania

Pański agent ma pośrednika, którego Pan nie zweryfikował

Badacze przetestowali 28 routerów LLM API. 17 z nich dotknęło poświadczeń-pułapek AWS. Jeden opróżnił ETH z klucza prywa…

11 min czytania

Pętla Ralph: jak uruchamiam autonomiczne agenty AI na noc

Zbudowałem system autonomicznych agentów z hookami zatrzymania, budżetami spawnowania i pamięcią opartą na systemie plik…

6 min czytania