Według ustaleń Apiiro opisanych przez The Hacker News 7 listopada 2026 r. co najmniej jeden sekret znajdował się w 1 122 publicznych kopiach pliku Claude Code .claude/settings.local.json. Ryzyko pojawia się, gdy użytkownik zapisuje zgodę na dokładne polecenie zawierające hasło lub token. Apiiro nie sprawdziło, czy większość znalezionych danych nadal działała; jedna z firm, z którymi skontaktowali się badacze, potwierdziła, że jej klucz był aktywny.

Jeśli sekret mógł trafić do repozytorium, najpierw zmień lub unieważnij powiązane dane dostępowe, a dopiero potem porządkuj pliki i historię Git.

Jak sekret może trafić do pliku ustawień

Po wybraniu opcji „Yes, and don’t ask again” Claude Code może zapisać regułę zezwalającą na polecenie. Jeśli reguła dotyczy jednego dokładnego polecenia, w pliku .claude/settings.local.json może znaleźć się jego pełna treść, łącznie z dosłownie wpisanym hasłem lub tokenem. Reguła oparta na wzorcu to inny przypadek: sama nie musi zawierać sekretu.

Według opisu The Hacker News Claude Code dodaje ten plik do globalnych wykluczeń Git użytkownika, kiedy po raz pierwszy zapisuje go w repozytorium Git. To ustawienie dotyczy komputera i konfiguracji danego użytkownika. Nie usuwa pliku z już opublikowanych commitów ani nie dodaje reguły do .gitignore w repozytorium.

Dwie sumy obejmują różne zbiory

Apiiro podało, że przeanalizowało 104 185 publicznych kopii pliku w 103 617 repozytoriach. W 1 122 kopiach znalazło co najmniej jeden sekret, a łączna liczba sekretów w tych bieżących plikach wyniosła 1 379. Szersza suma uwzględniała również starsze wersje plików, współdzielone ustawienia i zapisane rozmowy agentów.

ZakresUwzględnione materiałyZgłoszona liczba sekretów
Bieżące publiczne pliki .claude/settings.local.json1 122 pliki zawierające sekrety1 379
Szersze zestawienieStarsze wersje, współdzielone pliki ustawień i zapisane rozmowy agentów2 539 w 1 994 repozytoriach

Wśród zgłoszonych rodzajów danych znalazło się 379 haseł do baz danych, 43 dane logowania SSH do publicznych serwerów, 42 tokeny GitHub, GitLab i npm łącznie oraz 23 klucze AWS. Apiiro podało też, że ponad jedna trzecia znalezionych sekretów umożliwiała bezpośredni dostęp do bazy danych.

Usunięcie pliku nie usuwa kopii z historii

Plik może pozostać w historii Git lub w forkach, czyli kopiach repozytorium. Apiiro zgłosiło 734 sekrety w starszych wersjach plików w 509 repozytoriach oraz te same sekrety w 211 forkach 74 repozytoriów. Skasowanie pliku z bieżącej wersji nie usuwa tych kopii.

Apiiro podało również wyniki skanowania 1 122 plików zawierających sekrety. Skanery uruchomiono bez ich etapu weryfikacji:

Skaner lub wynikPlikiWarunek
gitleaks wykrył564 z 1 122Skan bez etapu weryfikacji
TruffleHog wykrył643 z 1 122Skan bez etapu weryfikacji
Żaden z tych skanerów nie wykrył215 z 1 122Skan bez etapu weryfikacji

Te wyniki nie opisują rozłącznych grup plików: część mogły wykryć oba skanery. Apiiro zalecało sprawdzić bieżące pliki i historię repozytorium, zmienić lub unieważnić narażone dane dostępowe przed sprzątaniem, a następnie usunąć sekretne reguły i wycofać plik ze śledzenia. Regułę ignorowania pliku warto dodać do .gitignore w repozytorium. Dla przyszłych poleceń firma zalecała korzystać ze zmiennych wskazujących na menedżer sekretów zamiast wpisywać poufne wartości wprost oraz preferować wzorce poleceń zamiast zapisywać dokładne komendy.

Ograniczenie odczytu to osobne zabezpieczenie

Uczestnik dyskusji o Claude Code przytoczył zalecenie stosowania reguł odmowy Read dla wrażliwych ścieżek i zwrócił uwagę, że .claudeignore nie kontroluje dostępu narzędzi do plików. Taka reguła dotyczy odczytu plików. Nie usuwa sekretu zapisanego już w poleceniu ani jego kopii w historii Git.