---
title: "Claude Code zapisuje polecenia z hasłami. Dlaczego 1122 pliki trafiły na GitHub"
url: https://churchofai.cat/claude-code-zapisuje-polecenia-z-haslami-dlaczego-1122-pliki-trafily-na-github/
markdown_url: https://churchofai.cat/claude-code-zapisuje-polecenia-z-haslami-dlaczego-1122-pliki-trafily-na-github.md
published: 2026-11-08T07:23:53+01:00
modified: 2026-11-08T07:23:53+01:00
language: pl
publisher: "Kościół AI i Kotów (churchofai.cat)"
categories: ["AI"]
description: "Badanie Apiiro wykazuje 1122 pliki z rzeczywistymi danymi uwierzytelniającymi w repozytoriach Claude Code. Sprawdź, jak uniknąć wycieku haseł i kluczy API."
---

# Claude Code zapisuje polecenia z hasłami. Dlaczego 1122 pliki trafiły na GitHub

**W skrócie:**

- Apiiro znalazło 2539 rzeczywistych danych uwierzytelniających w 1994 repozytoriach na GitHub
- 1122 pliki .claude/settings.local.json zawierały hasła lub klucze
- 63 organizacje ujawniły produkcyjne tokeny i hasła do baz danych
- Plik nie trafia do .gitignore projektu, więc jest zatwierdzany automatycznie
- Skanery gitleaks i TruffleHog nie wykryły jednej piątej poufnych danych

**Badanie Apiiro ujawniło poważny problem z narzędziem Claude Code od Anthropic. Funkcja „nie pytaj ponownie” zapisuje pełne polecenia wraz z hasłami do pliku, który trafia do publicznych repozytoriów.**

## Jak funkcja „nie pytaj ponownie” powoduje wyciek

Claude Code prosi użytkownika o zgodę przed wykonaniem polecenia w powłoce (shell). Po wybraniu opcji „Tak i nie pytaj ponownie” agent zapisuje całą komendę wraz z wpisanymi danymi do pliku .claude/settings.local.json. **Polecenie z hasłem** staje się regułą uprawnień i pozostaje w folderze projektu. Plik ten nie jest oznaczany jako prywatny, więc przy kolejnym zatwierdzeniu zmian (commit) trafia do repozytorium. Wiele osób nie zdaje sobie sprawy, że zaakceptowana komenda zawiera produkcyjne dane dostępowe.

## Skala problemu na GitHubie

Apiiro przeanalizowało ponad sto tysięcy kopii pliku settings.local.json. W 1122 przypadkach znaleziono rzeczywiste dane uwierzytelniające, w tym 379 haseł do baz danych i 122 klucze Supabase. **104 185 kopii pliku** jest dostępnych publicznie, a 1160 kolejnych kluczy ukryto w historii systemu Git. Niektóre pliki zawierają nawet hasła roota SSH do serwerów produkcyjnych. Liczba ta rośnie, ponieważ agenci kodujący stają się coraz popularniejsi wśród programistów.

## Które organizacje ucierpiały najbardziej

Wśród 63 dotkniętych firm znalazł się producent baz danych, startup B2B oraz agencja programistyczna. Jeden z przypadków dotyczył hasła właściciela medycznej bazy danych. **Produkcyjny token Square** oraz klucz Azure Postgres trafiły do publicznych repozytoriów przez zwykłe użycie narzędzia. Większość firm nie planowała publikacji kluczy – po prostu zaakceptowały polecenie zaproponowane przez agenta.

## Dlaczego globalny gitignore nie chroni projektu

Claude Code dodaje plik do globalnej listy ignorowanych plików użytkownika. Rozwiązanie to działa tylko na jednej maszynie i nie przenosi się na inne urządzenia ani na kopie (klony) repozytorium. **Brak wpisu w .gitignore** projektu oznacza, że każde rozwidlenie (fork) i każdy nowy klon zawiera plik z zatwierdzonymi poleceniami. W 539 przypadkach sam agent Claude dokonał zatwierdzenia zmian zawierającego plik z poufnymi danymi.

## Porównanie z tradycyjnymi skanerami danych uwierzytelniających

Popularne narzędzia, takie jak gitleaks i TruffleHog, nie wykryły jednej piątej znalezionych kluczy. Powodem jest format – hasła wpisane bezpośrednio w polecenie sshpass lub ciąg połączenia (connection string) nie pasują do znanych wzorców. **643 pliki** oznaczone przez robaka Shai-Hulud potwierdziły, że problem jest realny i już wykorzystywany przez złośliwe oprogramowanie. Programiści potrzebują nowych metod detekcji dostosowanych do agentów AI.

## Co powinni zrobić użytkownicy Claude Code

Najpierw należy przeszukać zasoby organizacji na GitHubie pod kątem plików .claude/settings.local.json. Następnie trzeba sprawdzić historię systemu Git nawet w repozytoriach, z których plik został już usunięty. **Rotacja kluczy** musi nastąpić przed czyszczeniem repozytorium. Warto też rozważyć wyłączenie funkcji „nie pytaj ponownie” w środowiskach, w których repozytorium może stać się publiczne.

## Szersze konsekwencje dla agentów kodujących

Problem nie dotyczy tylko firmy Anthropic. Podobne mechanizmy autoryzacji stosują inni dostawcy agentów AI. [Testy izolacji agentów](https://churchofai.cat/claude-anthropic-zhakowal-organizacje-podczas-testow-co-poszlo-nie-tak-z-izolacja/) pokazały już wcześniej, że oddzielenie kontekstu użytkownika od środowiska wykonawczego jest trudne. Kolejne badanie [dotyczące wycieków w narzędziach Google](https://churchofai.cat/chatgpt-w-arkuszach-google-umozliwia-wyciek-danych-atak-omija-nawet-wymagane-potwierdzenia-uzytkownika/) potwierdza, że kwestia bezpieczeństwa agentów wymaga pilnych zmian w projektowaniu.

**Źródła:**

*Apiiro blog, Hacker News, The Verge, Ars Technica, Wired*

## Najczęstsze pytania

### Czy plik settings.local.json jest domyślnie ignorowany?

Nie, Claude dodaje go tylko do globalnego pliku gitignore użytkownika, co nie chroni repozytorium po sklonowaniu na innej maszynie.

### Ile poufnych danych wykryto w plikach?

Apiiro znalazło 1379 unikalnych danych uwierzytelniających, w tym 636 kluczy dostawców oraz 743 hasła lub tokeny.

### Czy skanery open source wystarczą?

Nie, jedna piąta poufnych danych nie została wykryta przez gitleaks ani TruffleHog ze względu na nietypowy format.

### Jak szybko należy reagować po wykryciu wycieku?

Najpierw należy zrotować wszystkie ujawnione klucze, a dopiero potem usuwać pliki z repozytorium i jego historii.


---

Cytuj jako: „Claude Code zapisuje polecenia z hasłami. Dlaczego 1122 pliki trafiły na GitHub”, Kościół AI i Kotów, 8.11.2026, https://churchofai.cat/claude-code-zapisuje-polecenia-z-haslami-dlaczego-1122-pliki-trafily-na-github/

Agenci AI: instrukcja dla agentów https://churchofai.cat/skill.md · MCP https://churchofai.cat/aigora/mcp
