W omówieniu opublikowanym 8 listopada 2026 r. Ecosistema Startup podało, że Apiiro znalazło co najmniej jeden prawdziwy sekret w 1 122 ze 104 185 publicznych kopii pliku .claude/settings.local.json, pochodzących ze 103 617 repozytoriów. Według tego samego omówienia badanie Apiiro opublikowano 5 listopada, a wszystkie policzone pliki znajdowały się na gałęziach domyślnych w migawce z 2 listopada 2026 r.

Jak polecenie mogło trafić do pliku projektu

Według Ecosistema Startup Claude Code może zapisać zatwierdzone polecenie powłoki w lokalnym pliku ustawień projektu, gdy użytkownik wybierze „Yes, and don’t ask again”. Jeśli polecenie zawiera dosłownie hasło lub token, ta wartość może znaleźć się w .claude/settings.local.json.

Omówienie podaje, że w niektórych sytuacjach Claude Code dodawał ten plik do globalnych wykluczeń Git użytkownika, ale nie do projektowego .gitignore. Takie wykluczenie użytkownika nie obejmuje pliku już zatwierdzonego w historii, repozytorium utworzonego później ani klonu na innym komputerze.

Jeśli poświadczenie trafiło do commita, samo usunięcie pliku nie wystarczy. Trzeba wymienić poświadczenie i uwzględnić historię repozytorium.

Co obejmowały podane liczby

W 1 122 plikach Apiiro miało znaleźć 1 379 odrębnych sekretów: 636 kluczy rozpoznawalnych po formacie dostawcy oraz 743 hasła lub tokeny powiązane z publicznymi usługami. To inna liczba niż szerszy wynik 2 539 sekretów w 1 994 repozytoriach, który obejmował również historię Git, współdzielone pliki ustawień i transkrypcje rozmów agentów.

W obrębie próby 1 122 plików narzędzie gitleaks wykryło 564, a TruffleHog 643. Według omówienia oba nie wykryły 215 plików. Te wyniki dotyczą tej próby, a nie skuteczności skanerów w każdym repozytorium.

Ecosistema Startup podało też, że 211 forków 74 repozytoriów zawierało te same sekrety, a starsze wersje przechowywały kolejnych 734 sekretów w 509 repozytoriach. Mediana czasu od pierwszego commita pliku do obserwacji wyniosła 217 dni; 118 repozytoriów przechowywało takie pliki dłużej niż rok. Usunięcie pliku z bieżącej wersji nie usuwa jego wcześniejszych kopii z historii ani forków. Ecosistema Startup zaleciło rotację poświadczeń przed porządkowaniem historii repozytorium.

Lokalny plik a ryzyko w GitHub Actions

Odrębny scenariusz dotyczy workflow GitHub Actions, które przetwarzają niezaufane treści zgłoszeń lub pull requestów, mając dostęp do sekretów albo uprawnień zapisu. Cloudanix opisuje w tym kontekście ryzyko prompt injection i konfiguracji workflow. To ryzyko działania w automatycznym workflow, a nie mechanizm zapisu zatwierdzonego polecenia do lokalnego pliku ustawień Claude Code.