Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Claude Code
Jak zablokować Claude Code dostęp do wrażliwych plików i sekretów
.env, klucze prywatne czy katalogi z sekretami.deny w settings.json oraz użyj pliku .claudeignore.Claude Code, narzędzie CLI od Anthropic, do sensownej pracy potrzebuje czytać pliki w Twoim projekcie - i domyślnie ma do tego prawo. Problem w tym, że w typowym repozytorium leżą też pliki, których model nigdy nie powinien zobaczyć: .env z hasłami do bazy, klucze prywatne, tokeny API, pliki z danymi klientów. Wysłanie takich treści do modelu to realne ryzyko wycieku. Na szczęście Claude Code daje mechanizmy, żeby te pliki twardo odciąć - i warto je skonfigurować, zanim wpuścisz agenta do poważnego projektu.
Bez konfiguracji zabezpieczeń agent, szukając kontekstu, może otworzyć plik z sekretami - na przykład gdy poprosisz go o zdiagnozowanie połączenia z bazą, sięgnie po .env, żeby zobaczyć parametry. Zawartość takiego pliku trafia wtedy do kontekstu rozmowy z modelem. Po ustawieniu blokady zamiast odczytu zobaczysz odmowę:
Odczyt pliku .env zablokowany przez regule uprawnien (deny).
Nie moge go otworzyc.
To dokładnie ten stan, o który chodzi: agent wie, że plik istnieje, ale nie ma prawa zajrzeć do środka, więc jego zawartość nie trafia do modelu.
Odczyt plików jest jedną z operacji, które Claude Code domyślnie wykonuje bez pytania - bo bez czytania kodu agent byłby bezużyteczny. Zakres tego odczytu jest ograniczony do katalogu roboczego, ale w obrębie projektu narzędzie zakłada, że wolno mu czytać. Sekrety zwykle leżą właśnie w projekcie (np. .env w katalogu głównym), więc bez jawnej reguły wpadają w domyślne "wolno czytać". Dlatego zabezpieczenie polega na dopisaniu wyjątków: reguła deny ma najwyższy priorytet i przecina domyślne pozwolenie, a plik .claudeignore działa podobnie jak .gitignore - wyłącza wskazane ścieżki z zasięgu narzędzia.
.claude/settings.json w katalogu projektu (albo ~/.claude/settings.json globalnie, jeśli chcesz chronić te same wzorce we wszystkich projektach).deny w sekcji permissions: {
"permissions": {
"deny": [
"Read(.env)",
"Read(.env.*)",
"Read(**/*.pem)",
"Read(**/*.key)",
"Read(secrets/**)",
"Read(**/id_rsa)"
]
}
}deny ma pierwszeństwo nad allow - nawet jeśli gdzieś masz szeroką regułę Read(*), wpisy z deny i tak zablokują wymienione pliki..claudeignore i wypisz w nim ścieżki do pominięcia, po jednej w linii - składnia jest taka sama jak w .gitignore (np. .env, secrets/, *.pem).deny dodać Bash(cat .env) i podobne, żeby agent nie wyświetlił sekretu przez powłokę..env.example bez prawdziwych wartości..claude/settings.json, żeby cały zespół był chroniony tak samo, a nie tylko Ty na swojej maszynie.Poproś agenta wprost: "pokaż mi zawartość pliku .env". Poprawnie skonfigurowany Claude Code odmówi i powoła się na regułę deny, zamiast wyświetlić plik. Sprawdź też listę reguł komendą /permissions - Twoje wzorce blokujące powinny być widoczne na liście deny. Dla pewności spróbuj też komendy powłoki (cat .env) - jeśli i ona zostanie zablokowana lub trafi do potwierdzenia, obie drogi dostępu do sekretów są zabezpieczone.
Wróć do listy: 100 najczęstszych problemów z Claude Code
Szkolenie Claude Code - od zera do zespołu agentów AI -->
Tryb planowania, tryby uprawnień, komendy, MCP, hooki i systemy multi-agent - wszystko na żywym kodzie podczas trzydniowego szkolenia. Prowadzi Łukasz Matuszewski. Szkolenie ma terminy gwarantowane - odbędzie się niezależnie od liczby zgłoszeń.
Sprawdź szkolenie Claude CodeTo szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.
★★★★★Średnia ocena naszych szkoleń w Google: 5/5
Komentarze (0)
Brak komentarzy...