Przejdź do treści
INDEKS ANALIZ BREACHROAD / NOTA TECHNICZNA

Claude Code hardening: bezpieczna konfiguracja agenta

Claude Code może czytać repozytorium, edytować pliki i uruchamiać komendy. Skonfiguruj permissions, sandbox, MCP, sekrety, proxy i monitoring.

MATERIAŁ PUBLICZNY
AUTOR
/ Pentester (OSCP, PNPT)
PUBLIKACJA
23 czerwca 2026
CZAS CZYTANIA
11 min czytania
TEMAT
Bezpieczeństwo AI
Claude Code hardening: bezpieczna konfiguracja agenta

Claude Code hardening jest konieczny, ponieważ agent działa na granicy modelu i lokalnego systemu: czyta kod, edytuje pliki, uruchamia polecenia i łączy się z usługami MCP. Domyślny mechanizm uprawnień ogranicza część ryzyka, ale nie zna wartości wszystkich danych oraz konsekwencji każdej komendy.

Bezpieczna konfiguracja zaczyna się od założenia, że repozytorium, dokumentacja i wynik narzędzia mogą zawierać prompt injection.

Zasada: deny by default

Claude Code domyślnie używa architektury uprawnień, w której operacje wrażliwe wymagają akceptacji. Nie zamieniaj tego w szeroką listę automatycznych zgód po pierwszym dniu.

Przejrzyj /permissions i podziel reguły na:

  • read-only, które są bezpieczne dla projektu;
  • ograniczone polecenia build/test;
  • operacje wymagające jednorazowej zgody;
  • bezwzględnie zablokowane narzędzia oraz ścieżki.

Flaga --dangerously-skip-permissions usuwa promptowanie i zgodnie z dokumentacją wymaga szczególnej ostrożności. Nie używaj jej na stacji z sekretami, produkcyjnymi poświadczeniami lub dostępem do szerokiej sieci.

Izoluj system plików

Uruchamiaj agenta w kopii roboczej albo devcontainerze. Montuj tylko potrzebne katalogi. Cache, katalog domowy, socket Dockera, klucze SSH i profile chmurowe nie powinny być dostępne bez konkretnej potrzeby.

Anthropic opisuje ograniczenie zapisu do katalogu startowego i podkatalogów bez dodatkowej zgody. Nadal sprawdzaj symlinki, montowania i narzędzia, które potrafią zapisywać poza projektem.

W CI użyj efemerycznego runnera, read-only base image i oddzielnego wolumenu na wynik. Po zadaniu usuń środowisko.

Sekrety poza kontekstem

Nie wklejaj tokenów do promptu, CLAUDE.md, issue ani logów. Przekazuj je bezpośrednio do ograniczonego procesu przez menedżer sekretów. Token powinien mieć krótki TTL, pojedynczy audience i minimalny scope.

Dodaj skan sekretów przed wysłaniem kontekstu oraz przed commitem. Jeśli agent odczyta sekret, traktuj go jak potencjalnie ujawniony i sprawdź logi oraz retencję.

Bezpieczne reguły dla Bash

Allowlista powinna opisywać konkretny prefiks i argumenty, a nie całe bash. Polecenie testowe może uruchamiać hooks, skrypty pakietów i kod pobrany z zależności. Dlatego:

  • przypinaj lockfile i zaufane registry;
  • wyłącz niepotrzebne install scripts;
  • używaj użytkownika bez uprawnień;
  • ogranicz egress;
  • sprawdzaj diff po formatterach oraz generatorach;
  • nie zezwalaj na interpretery z dowolnym inline code bez zatwierdzenia.

Komenda wyglądająca na odczyt może uruchomić kod przez konfigurację projektu. Oceniaj efekt, nie nazwę programu.

MCP jako zewnętrzna granica zaufania

Anthropic zaznacza, że nie zarządza i nie audytuje dowolnych serwerów MCP. Instaluj tylko serwery z potwierdzonym ownerem, wersją i źródłem. Każdy otrzymuje osobną tożsamość oraz zestaw narzędzi.

Zablokuj dynamiczne dodawanie nieznanego MCP przez treść repozytorium. Schemat argumentów waliduj po stronie serwera, a operacje wrażliwe wymagają potwierdzenia. Zobacz pełny model bezpieczeństwa MCP.

Proxy i ruch sieciowy

W firmie kieruj ruch przez proxy lub LLM gateway, aby centralnie kontrolować uwierzytelnienie, limity, modele i audyt. Dokumentacja Claude Code wymienia endpointy API, telemetryczne i raportowania błędów — pozwól wyłącznie na wymagane domeny.

Nie zapisuj hasła proxy w skrypcie. Dla własnego CA skonfiguruj jawny bundle certyfikatów i weryfikuj łańcuch zamiast wyłączać TLS.

Monitoring zespołu

Zbieraj metryki OpenTelemetry i loguj: użytkownika, repozytorium, wersję modelu, decyzje permissions, wywołania narzędzi i rezultat. Redaguj sekrety oraz kod wymagający szczególnej ochrony.

Alertuj na --dangerously-skip-permissions, nowe MCP, zapis poza typowym zakresem, użycie produkcyjnych tokenów i egress do nowej domeny.

Checklista hardeningu

  1. Uruchamiaj w izolowanym workspace lub devcontainerze.
  2. Stosuj deny by default i wąskie reguły narzędzi.
  3. Usuń stałe sekrety z repozytorium i kontekstu.
  4. Ogranicz sieć oraz tożsamości.
  5. Przypnij i oceń serwery MCP.
  6. Wymagaj zgody dla publikacji, IAM i produkcji.
  7. Loguj decyzje oraz rzeczywiste skutki.
  8. Aktualizuj klienta i testuj konfigurację regresyjnie.

Claude Code może przyspieszyć pracę, ale powinien działać jak nieuprzywilejowany developer w kontrolowanym środowisku. Wygoda nie uzasadnia pominięcia granic, które obowiązują ludzkich operatorów.


Bezpieczny workspace i pipeline

Repozytorium, issue, dokumentacja i wynik narzędzia są niezaufanym wejściem. Uruchamiaj agenta w odseparowanym koncie lub kontenerze, bez domyślnego dostępu do katalogu domowego, produkcyjnej chmury i socketu Dockera. Sekrety podawaj na żądanie przez brokera z krótkim czasem życia, a nie w pliku środowiskowym widocznym dla całej sesji.

W CI wymagaj przeglądu diffu, testów, skanowania zależności i kontroli branch protection tak samo jak dla kodu człowieka. Nie zezwalaj agentowi samodzielnie zatwierdzać i scalać własnej zmiany. Rejestruj polecenia, decyzje o pozwoleniu i identyfikatory artefaktów, maskując sekrety. Aktualne nazwy flag oraz tryby uprawnień zawsze sprawdzaj w dokumentacji używanej wersji.

Źródła: Anthropic — Claude Code Security, CLI Reference, Corporate Proxy, LLM Gateway.

UDOSTĘPNIJ / KOPIUJ