Claude Code zapisywał hasła jawnym tekstem. 2539 sekretów na GitHubie
Przejdź do treści i przykładów
Firma Apiiro, specjalizująca się w bezpieczeństwie, ustaliła, że Claude Code od Anthropic zapisywał hasła, klucze API i loginy SSH jawnym tekstem w pliku ustawień, a plik trafił do ponad 1000 publicznych repozytoriów na GitHubie. Problem dotyczy osób, które przy zatwierdzaniu polecenia kliknęły „Yes, and don't ask again” i wpisały sekret bezpośrednio w to polecenie. Anthropic przyznaje, że analizuje sprawę, ale gotowej poprawki jeszcze nie ma, a sama firma zastrzega, że jej pomysły mogą nie wystarczyć.
Claude Code pyta o zgodę przed uruchomieniem większości poleceń powłoki. Po kilkudziesięciu takich pytaniach człowiek klika „tak” prawie bez czytania (branża nazywa to zmęczeniem zatwierdzaniem). Opcja „Yes, and don't ask again” miała z tym walczyć: zapisuje regułę zezwalającą w pliku .claude/settings.local.json w folderze projektu.
Kłopot zaczyna się, gdy reguła zapamiętuje dokładne polecenie, a nie wzorzec. Jeśli wpisałeś w nie hasło albo klucz, sekret ląduje w pliku razem z poleceniem. Apiiro odtworzyło to zachowanie na aktualnych modelach Anthropic (Opus 5.5 i Fable 5.1) i podkreśla, że to cecha Claude Code, a nie modelu.
Wyszukiwanie w publicznym GitHubie dało 104 185 kopii pliku w 103 617 repozytoriach. W 1122 plikach był co najmniej jeden prawdziwy sekret, łącznie 1379 unikalnych. Ponad jedna trzecia otwierała bazę danych bezpośrednio. Wśród wycieków Apiiro wymienia:
Apiiro policzyło też starsze wersje pliku, współdzielony plik ustawień, który zespoły zatwierdzają celowo, oraz zapisane transkrypty czatów. Wtedy suma urosła do 2539 sekretów w 1994 repozytoriach. Większość plików należała do pojedynczych deweloperów, ale dotyczyło to też 63 organizacji, od grup studenckich po uznanych dostawców. Wśród przykładów: chmurowy klucz API dostawcy baz danych z dostępem zarządczym, produkcyjny token Square agencji programistycznej i hasło właściciela chmurowej bazy aplikacji do dokumentacji medycznej.
Apiiro nie sprawdzało, czy ujawnione poświadczenia nadal działają. Jedna powiadomiona organizacja potwierdziła jednak, że jej klucz był aktywny.
Darmowy webinar na żywo z Janem Gajosem · w najbliższą środę o 19:00
Czytasz o AI, a w pracy dalej robisz wszystko ręcznie? Znam to.
Sam tak robiłem. Na webinarze pokazuję na swoim ekranie, jak oddać AI powtarzalne zadania: maile, proste automatyzacje, asystenta do pracy. Bez programowania i bez teorii. 90 minut, a na końcu pytasz, o co chcesz.
Link do pokoju przyjdzie mailem. Zapisując się, zgadzasz się na wiadomości e-mail zgodnie z polityką prywatności. Wolisz zacząć od lektury? Zobacz e-booki Jana Gajosa
Apiiro przekazało wyniki Anthropic przed publikacją. Boris Cherny, szef Claude Code w Anthropic, napisał na forum Hacker News, że firma zajmuje się problemem. Przyznał, że historycznie Claude Code nie czyścił sekretów, bo do tego służą inne narzędzia, ale zespół sprawdza, co można zrobić. W planach są prototypy, m.in. wychwytywanie takich poleceń w trybie auto i podstawowe skanowanie sekretów. Cherny zastrzegł, że to może nie rozwiązać problemu. Gdy czytelnik zauważył, że ten sam wyciek może wystąpić w trybie auto, odpisał „Yeah good catch”.
Cherny argumentuje też, że Claude Code dodaje plik do .gitignore przy tworzeniu, więc wyciekające kopie ktoś utworzył ręcznie i zatwierdził. Zaleca tryb auto zamiast reguł uprawnień oraz skanowanie sekretów, które oferują GitHub i inne hosty. To stanowisko firmy, a liczby Apiiro pokazują skalę: ponad sto tysięcy plików w publicznych repozytoriach.
Zwykłe skanery sekretów dają tu niepełną ochronę. Z 1122 plików z sekretem gitleaks oznaczył 564, TruffleHog 643, a 215 umknęło obu.
Nie. Plik leży na komputerze dewelopera jako zwykły JSON, czyli tekst, który może odczytać każdy program z dostępem do dysku. Złośliwe oprogramowanie szukało takich plików już wcześniej: robak Shai-Hulud w npm uruchamiał TruffleHog na plikach ofiar we wrześniu 2025.
Problem nie jest też świeży. Użytkownicy Claude Code zgłaszali go w GitHub issues od sierpnia 2025, a w kwietniu Lakera (należąca do Check Point) znalazła poświadczenia w 33 takich plikach w 30 pakietach opublikowanych w rejestrze npm. Jeśli interesują Cię inne ryzyka wokół tego narzędzia, zobacz, jak wyglądały fałszywe Claude Code w Cursorze.
Samo usunięcie pliku nic nie daje, bo sekrety zostają w historii git, forkach i klonach. Apiiro radzi więc zacząć od rotacji: unieważnij każde poświadczenie, które plik kiedykolwiek zawierał, i wygeneruj nowe. Dopiero potem sprzątaj. Pozostałe zalecenia Apiiro:
.gitignore każdego projektu,To nie magia, to higiena. Przycisk „nie pytaj więcej” oszczędza kliknięcia, ale w tej konfiguracji zapamiętuje także to, czego nie chciałeś zapamiętywać. Używasz Claude Code, także na zlecenie dla klientów? Zrób to dziś, zajmie 10 minut: otwórz swoje repozytoria na GitHubie, sprawdź, czy widzisz w nich plik .claude/settings.local.json, i jeśli tak, przeczytaj go pod kątem haseł i kluczy. Znalazłeś coś? Najpierw wygeneruj nowe poświadczenie w serwisie, którego dotyczy. Więcej o pracy z agentami przy kodzie znajdziesz w tekstach o warsztacie Claude Code od iX, o tym, jak sprawdzać kod oddany przez agenta, i o Claude Code uruchamianym zdalnie na AWS.
Na podstawie: iTnews Australia
Darmowy webinar na żywo z Janem Gajosem · w najbliższą środę o 19:00
Czytasz o AI, a w pracy dalej robisz wszystko ręcznie? Znam to.
Sam tak robiłem. Na webinarze pokazuję na swoim ekranie, jak oddać AI powtarzalne zadania: maile, proste automatyzacje, asystenta do pracy. Bez programowania i bez teorii. 90 minut, a na końcu pytasz, o co chcesz.
Link do pokoju przyjdzie mailem. Zapisując się, zgadzasz się na wiadomości e-mail zgodnie z polityką prywatności. Wolisz zacząć od lektury? Zobacz e-booki Jana Gajosa