Zaktualizowano

Jak bezpiecznie udostępniać sekrety agentom AI

Autor:

Kiedy prosisz Claude o pomoc w konfiguracji serwera — gdzie trafiają hasła?

Jeśli wpiszesz je bezpośrednio na czacie — „oto moje hasło do bazy danych: ..." — lądują w historii rozmowy. Są w kontekście modelu. Mogą być przechowywane na serwerach dostawcy AI. Dla klucza API, którego użyjesz jeden raz, to większy zasięg potencjalnego wycieku niż samo udostępnienie.

Programiści już teraz używają asystentów AI do konfigurowania infrastruktury, debugowania wdrożeń i rotowania danych uwierzytelniających. Brakującym elementem jest bezpieczna warstwa przekazywania — coś, co trzyma sekrety poza kontekstem modelu językowego, a jednocześnie pozwala agentowi na nich działać.

Właśnie do tego służy serwer Vaulted MCP.

Czym jest

Serwer Vaulted MCP (@vaulted/mcp-server) to serwer Model Context Protocol, który daje asystentom AI cztery narzędzia do pracy z zaszyfrowanymi sekretami:

NarzędzieCo robi
create_secretSzyfruje i przechowuje sekret, zwraca jednorazowy link do udostępnienia
view_secretPobiera i odszyfrowuje sekret z podanego URL Vaulted
check_statusSprawdza, czy sekret istnieje i ile odsłon pozostało (bez konsumowania odsłony)
list_secretsWyświetla lokalnie śledzone sekrety wraz z ich bieżącym statusem

Działa z Claude Desktop, Cursor, Windsurf i każdym klientem MCP obsługującym stdio. Instalacja to jeden blok konfiguracyjny.

Agentowo-ślepa przewaga

Funkcja, której większość programistów się nie spodziewa: nie musisz podawać agentowi wartości sekretu wprost.

Vaulted MCP obsługuje agentowo-ślepe źródła wejściowe. Zamiast przekazywać surową wartość, przekazujesz referencję:

  • env:STRIPE_KEY — odczytuje wartość ze zmiennej środowiskowej
  • file:/path/to/api-key.txt — odczytuje z pliku
  • dotenv:.env.local:DATABASE_URL — odczytuje konkretny klucz z pliku .env

Serwer MCP rozwiązuje referencję po stronie serwera (lokalnie, w procesie terminala). Rozwiązana wartość jest natychmiast szyfrowana i nigdy nie trafia do kontekstu modelu językowego. Agent wykonuje zadanie, nie widząc nigdy danych uwierzytelniających.

Zamiast więc:

„Udostępnij mój klucz Stripe: sk_live_abc123..."

mówisz:

„Udostępnij bezpiecznie moją zmienną środowiskową STRIPE_KEY"

Agent przekazuje env:STRIPE_KEY do create_secret. Klucz nigdy nie pojawia się w rozmowie.

To właśnie oznacza „agentowo-ślepe": agent obsługuje cały przepływ pracy bez przechodzenia sekretu przez jego okno kontekstowe.

Szyfrowanie zero-knowledge

Zastosowane szyfrowanie to ten sam AES-256-GCM, który wykorzystuje aplikacja webowa Vaulted i CLI. Klucz szyfrowania istnieje wyłącznie we fragmencie URL — nigdy nie jest wysyłany na serwery Vaulted. Gdy odbiorca otwiera link, jego przeglądarka odszyfrowuje sekret lokalnie.

Serwer przechowuje szyfrogram, którego nie może odszyfrować. Twój asystent AI nie widzi tekstu jawnego. API Vaulted nie widzi tekstu jawnego. Tylko osoba posiadająca link może go odczytać.

Pierwsze kroki

Dodaj Vaulted do pliku konfiguracyjnego Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "vaulted": {
      "command": "npx",
      "args": ["-y", "@vaulted/mcp-server"]
    }
  }
}

Ten sam format konfiguracji działa w Cursor (~/.cursor/mcp.json) i Windsurf (~/.codeium/windsurf/mcp_config.json).

Uruchom ponownie klienta AI, a cztery narzędzia będą od razu dostępne. Bez zakładania konta.

Konkretne przykłady

Bezpośrednie udostępnienie klucza API:

„Udostępnij to bezpiecznie: sk-abc123"

Agent wywołuje create_secret z podaną wartością. Otrzymujesz szyfrowany link Vaulted do wysłania przez Slack lub e-mail.

Udostępnienie ze zmiennej środowiskowej:

„Udostępnij bezpiecznie moją zmienną środowiskową STRIPE_KEY"

Agent wywołuje create_secret z env:STRIPE_KEY. Rzeczywista wartość klucza nigdy nie pojawia się w rozmowie.

Pobranie do schowka:

„Pobierz ten sekret do mojego schowka"

Agent wywołuje view_secret z trybem wyjścia clipboard. Odszyfrowana wartość trafia do schowka bez wypisywania jej w terminalu.

Sprawdzenie, czy sekret został odczytany:

„Czy mój sekret był już odczytany?"

Agent wywołuje check_status. Widzisz, ile odsłon pozostało, bez zużywania żadnej.

Pod maską

Gdy uruchomisz npx @vaulted/mcp-server, startuje lokalny proces komunikujący się przez transport MCP stdio. Twój klient AI łączy się z nim jak z każdym innym serwerem MCP.

W przypadku agentowo-ślepych źródeł serwer odczytuje wartość z lokalnego środowiska (zmienne środowiskowe, pliki, klucze .env) przed szyfrowaniem. Wartość nigdy nie opuszcza lokalnego procesu w postaci niezaszyfrowanej. Do API Vaulted trafia jako szyfrogram — tak samo jak w przypadku użycia aplikacji webowej.

Sekrety samozniszczają się: możesz ustawić limity odsłon (1, 3, 5 lub 10 odsłon) i czas wygaśnięcia (od 1 godziny do 30 dni). Po osiągnięciu limitu szyfrogram jest usuwany z serwera.


Schemat jest prosty: dodaj jeden blok konfiguracyjny, a Twój asystent AI zyska zdolność do odpowiedzialnej obsługi danych uwierzytelniających — bez konieczności ich oglądania.

Zacznij na stronie MCP → · Zainstaluj przez npm · Zobacz na GitHub