Zacznij od modelu dostępu, nie od etykiety
Tajny gist jest często odczytywany jako „prywatny”. To nieprawda. Różnica ma znaczenie, ponieważ link do gista może podróżować: wklejony do czatu, osadzony w notatce, przesłany e-mailem lub zapisany w historii przeglądarki. Jeśli treść jest wrażliwa, pytanie nie brzmi, czy gist pojawia się w wynikach wyszukiwania, ale kto ma link.
Tajny gist GitHub jest pomijany w publicznych wynikach wyszukiwania, ale każdy, kto ma jego link, może go wyświetlić. Źródło
Ten jeden fakt zmienia kształt audytu. Nie szukasz wyciekłych sekretów tylko w publicznych listingach; szukasz każdego gista, którego link udostępniłeś lub którego nie potrafisz rozliczyć. Publiczny gist i tajny gist różnią się wykrywalnością, a nie dostępem opartym na linku.
Krok 1: Zinwentaryzuj swoje gisty
Otwórz swoje konto GitHub i wypisz swoje gisty. Pracuj na koncie, które jest ich właścicielem, a nie z wyszukiwarki. Potrzebujesz pełnego zestawu, który kontrolujesz, ponieważ wyszukiwarka pokazuje tylko to, co zindeksowała.
Zbuduj roboczą inwentaryzację z czterema kolumnami:
| Kolumna | Co zapisać |
|---|---|
| Identyfikator gista | URL lub krótki identyfikator gista |
| Widoczność | Publiczny lub tajny, zgodnie z tym, co pokazuje konto |
| Klasa treści | Przykładowy kod, konfiguracja, notatki, tekst blisko związany z poświadczeniami |
| Ekspozycja linku | Gdzie link został wklejony, osadzony lub wysłany |
Nie wklejaj prawdziwych sekretów do tej inwentaryzacji. Zapisuj klasyfikację, nie wartość. Jeśli gist zawiera token lub hasło, oznacz go jako blisko związany z poświadczeniami i traktuj wartość jako ujawnioną, dopóki jej nie zmienisz.
Krok 2: Sklasyfikuj każdy gist według tego, kto potrzebuje dostępu
Poniższa tabela decyzyjna przekształca audyt w model dostępu. Wykorzystuje tylko rozróżnienie obsługiwane przez platformę: gisty publiczne, gisty tajne i prywatne repozytoria.
| Potrzeba | Odpowiedni model | Powód |
|---|---|---|
| Treść ma być znajdowana i ponownie wykorzystywana | Publiczny gist | Publiczny z założenia; wykrywalny |
| Treść można udostępniać, ale nie powinna być wymieniona w wyszukiwaniu | Tajny gist | Pomijany w publicznym wyszukiwaniu, ale dostępny przez link |
| Treść wymaga prywatnej kontroli dostępu | Prywatne repozytorium | Zalecenie GitHuba dla prywatnych materiałów |
| Treść zawiera poświadczenia lub dane osobowe | Prywatne repozytorium, następnie zmiana poświadczeń | Link do gista nie jest kontrolą dostępu |
Warto wyraźnie wskazać dwa ograniczenia. Publicznego gista nie można przekonwertować na tajny gist, więc publiczny gist, który nie powinien być publiczny, trzeba potraktować jako decyzję o usunięciu i ponownym utworzeniu, a nie przełączenie.
Publicznego gista nie można przekonwertować na tajny gist. Źródło
A tajny gist nie zastępuje prywatnego repozytorium, gdy materiał naprawdę wymaga prywatnego dostępu.
GitHub zaleca prywatne repozytorium dla materiałów wymagających prywatnego dostępu. Źródło
Krok 3: Prześledź, gdzie trafił każdy link do gista
Dla każdego tajnego gista zadaj węższe pytanie: kto ma URL? Przeszukaj własne wysłane wiadomości, komentarze do zgłoszeń, opisy pull requestów, szkice dokumentacji i udostępnione notatki pod kątem URL gista. Sprawdź, czy link pojawia się na jakiejkolwiek publicznej stronie, którą utrzymujesz.
Właśnie tutaj pomaga podejście oparte na wyszukiwaniu nazw użytkownika (username lookups). Linki do gistów są często udostępniane razem z nazwą użytkownika (handle), więc przegląd publicznych nazw użytkownika, których używasz, może ujawnić, gdzie opublikowałeś linki. Jeśli używałeś kilku nazw użytkownika na przestrzeni czasu, zacznij od przeglądu znanych publicznych nazw użytkownika, a następnie sprawdź każdy profil pod kątem URL gistów. TraceSeek może sprawdzić nazwę użytkownika na 3 000+ platform w 20–30 sekund, a pierwsze skanowanie jest bezpłatne; pokazuje, gdzie nazwa użytkownika pojawia się publicznie, a nie co znajduje się w giście ani czy link został udostępniony prywatnie. Użyj go, aby znaleźć publiczne profile, które mogą zawierać linki, a nie jako rejestr prywatnego udostępniania.
Aby uzyskać uporządkowany sposób odtworzenia tej listy starych kont, zobacz /guides/find-forgotten-online-accounts/. Aby zobaczyć stronę wyszukiwania dla konkretnej platformy, zobacz /find/github/.
Krok 4: Zdecyduj, a następnie działaj
Użyj klasyfikacji, aby wybrać jedną akcję na gist:
- Zachowaj jako publiczny gist tylko wtedy, gdy treść jest przeznaczona do publicznego ponownego wykorzystania.
- Zachowaj jako tajny gist tylko wtedy, gdy dostęp oparty na linku jest akceptowalny dla wszystkich, którzy mogą otrzymać link.
- Przenieś materiał blisko związany z poświadczeniami lub dane osobowe do prywatnego repozytorium, a następnie zmień każdą ujawnioną wartość.
- W przypadku publicznego gista, który nie powinien być publiczny, usuń go i odtwórz treść w odpowiednim modelu; nie zakładaj, że istnieje przełącznik widoczności.
Usunięcie gista usuwa twoją kopię. Nie usuwa kopii utworzonych przez innych, pamięci podręcznych wyszukiwarek ani linków już wklejonych gdzie indziej. Zaplanuj to: najpierw zmień sekrety, potem posprzątaj gista.
Częste błędy
- Traktowanie „tajnego” jako „prywatnego”. Tajny gist jest pomijany w publicznym wyszukiwaniu, ale każdy, kto ma jego link, może go wyświetlić. Na tym polega cała różnica.
- Zakładanie, że publiczny gist można później uczynić tajnym. Publicznego gista nie można przekonwertować na tajny gist, więc decyzję trzeba podjąć przed publikacją.
- Przechowywanie tokenów w giście dla wygody. Gist to powierzchnia udostępniania. Poświadczenia należą do prywatnego repozytorium lub menedżera sekretów, a nie do strony dostępnej przez link.
- Audytowanie tylko tego, co pokazują wyszukiwarki. Indeksy wyszukiwarek są niekompletne i opóźnione. Audytuj ze swojego konta, a nie z pola wyszukiwania.
- Usuwanie przed zmianą poświadczeń. Jeśli poświadczenie było w giście, usunięcie gista nie unieważnia poświadczenia. Najpierw je zmień.
- Mylenie dopasowania nazwy użytkownika z własnością. Publiczny profil, który wspomina URL gista, jest wskazówką, a nie dowodem, że dana osoba kontroluje gista lub konto.
Ochrona własnego śladu
Trwałym rozwiązaniem jest domyślna reguła, a nie jednorazowe sprzątanie. Z góry zdecyduj, która klasa treści trafia do którego modelu: publiczne gisty dla próbek, które chcesz, aby były znajdowane, tajne gisty dla materiałów, które można udostępniać, ale nie powinny być wymienione, oraz prywatne repozytoria dla wszystkiego, co wymaga prywatnego dostępu. W razie wątpliwości wskazówki samego GitHuba prowadzą do prywatnego repozytorium.
GitHub zaleca prywatne repozytorium dla materiałów wymagających prywatnego dostępu. Źródło
Następnie utrzymuj inwentaryzację na bieżąco. Krótki kwartalny przegląd gistów, ich widoczności i miejsc, w których udostępniono ich linki, wychwytuje dryf, zanim stanie się ekspozycją. Przeglądając publiczne nazwy użytkownika, pamiętaj, że wyszukiwanie nazwy użytkownika jest generatorem wskazówek, a nie pełną inwentaryzacją kont, i nie widzi prywatnego udostępniania ani zawartości gista.
Kluczowe fakty
Tajny gist GitHub jest pomijany w publicznych wynikach wyszukiwania, ale każdy, kto ma jego link, może go wyświetlić.
Publicznego gista nie można przekonwertować na tajny gist.
GitHub zaleca prywatne repozytorium dla materiałów wymagających prywatnego dostępu.
TraceSeek sprawdza nazwę użytkownika na 3 000+ platform w 20–30 sekund, a pierwsze skanowanie jest bezpłatne.