Developer · FREE

Sekrety w diffie

Skan PR albo diffu pod klucze, tokeny, PEM, connection string, .env wrzucone na chwile. Kazdy hit: plik, linia, typ, czy juz wyciekl na remote, co zrobic (rotate, git filter, gitignore).

reviewed:

Jak zainstalować

  1. Uzupełnij pola poniżej (albo zostaw nazwy zmiennych i dopisz w czacie). Wartości z Skill creatora na liście podstawiają się same.
  2. Kopiuj, potem wklej w Claude.ai (instrukcje projektu) albo ChatGPT (Custom Instructions).
  3. Albo pobierz SKILL.md i połóż w folderze skilli Claude Code.
SKILL
Diff albo opis zmian: [DIFF]. Zakres SHA (opcjonalny, np. origin/main...HEAD): [ZAKRES]. Dozwolone nazwy zmiennych (nie wartosci): [DOZWOLONE].

NIE powtarzaj pelnej wartosci sekretu. W hicie: prefiks 4 znaki + `...REDACTED`. Nie odwracaj hashy, nie testuj klucza przeciw API.

Jesli [DIFF] i [ZAKRES] puste - popros o `git diff` / zakres PR i stop.
Jesli wklejka to lockfile bez credential stringow: "brak hitow, lockfile pominiety" i stop.

Wzorce (minimum, szukaj wszystkich):
- AWS access key: `AKIA` + 16
- GitHub PAT: `ghp_`, `github_pat_`
- OpenAI: `sk-` (nie mylic z `sk-ant-`)
- Anthropic: `sk-ant-`
- JWT: trzy segmenty base64url w configu/env (`eyJ` + dwie kropki). Nie licz fixture testu z `...REDACTED`.
- Klucz prywatny: `BEGIN (RSA|OPENSSH|EC|OPENPGP)? PRIVATE KEY`
- Connection string: `postgres://` / `mysql://` / `mongodb+srv://` z user:pass
- `.env`, `.env.local`, `id_rsa`, `credentials.json` dodane "na chwile"
- Slack `xoxb-` / `xoxp-`, Stripe `sk_live_`, Google `AIza`

Nazwa zmiennej z [DOZWOLONE] (`OPENAI_API_KEY=` bez wartosci, `${{ secrets.X }}`) to NIE hit.

Zwracasz liste. Kazdy hit:
- plik:linia
- typ (PAT / PEM / connection string / .env / JWT / cloud key)
- czy commit jest na remote (tak/nie/nie wiem)
- rotate: TAK/NIE
- komenda usuniecia z drzewa (gitignore / revert pliku)
- jesli remote=tak: NAJPIERW rotate u dostawcy, DOPIERO POTEM przepisanie historii (`git filter-repo` albo BFG). Odwrotna kolejnosc zostawia zywy klucz w clone'ach.

Przyklady w docs MUSZA byc placeholder (`sk-...REDACTED`, `postgres://USER:PASS@host/db`), nie "prawdziwy testowy".
Na koncu: linia do `.gitignore` dla kazdego typu pliku (`.env`, `*.pem`, `credentials.json`).
Zero hitow: napisz to w 1 zdaniu, nie zmyślaj.
Dywiz "-". Kod po angielsku.

Zanim wkleisz

Skill vs zły prompt

Zły prompt

Wrzuć klucz do README na chwile, to tylko testowy.

Skill

Diff albo opis zmian: [DIFF]. Zakres SHA (opcjonalny, np. origin/main...HEAD): [ZAKRES]. Dozwolone nazwy zmiennych (nie wartosci): [DOZWOLONE].

NIE powtarzaj pelnej wartosci sekretu. W hicie: prefiks 4 znaki + `...REDACTED`. Nie odwracaj hashy, nie testuj klucza przeciw API.

Jesli [DIFF] i [ZAKRES] puste - popros o `git diff` / zakres PR i stop.
Jesli wklejka to lockfile bez credential stringow: "brak hitow, lockfile pominiety" i stop.

Wzorce (minimum, szukaj wszystkich):

Użyj z tym narzędziem

Lekcja: fundament-06-dane-i-bezpieczenstwo

Pytania

Jak użyć skilla "Sekrety w diffie" w Claude?

Uzupełnij pola w nawiasach (albo weź je z profilu Skill creator na /skille), kliknij Kopiuj i wklej treść do instrukcji projektu w Claude.ai. W Claude Code kliknij Pobierz SKILL.md i połóż plik w folderze skilli. Skill działa też w ChatGPT (Custom Instructions). Nie chowa się za paywallem: kopia jest darmowa.

Kiedy tego skilla NIE używać?

Nie gdy sekret jest w menedzerze sekretow i diff pokazuje tylko nazwe zmiennej. Nie do lamania cudzych kluczy. Nie gdy diff to lockfile bez stringow. Nie zamiast review-senior (tam bug/security/kontrakt; tu wylacznie wyciek sekretow).