Truffle Security podaje, że znalazł w publicznych repozytoriach GitHub 543 699 unikalnych poświadczeń, które wciąż umożliwiały uwierzytelnienie podczas testów przeprowadzonych 27 i 28 lipca 2026 r. [1]. BleepingComputer opisał te ustalenia 30 września 2026 r. [2]. Uwzględnione poświadczenia obejmują klucze chmurowe, ciągi połączeń z bazami danych i klucze usług AI [1].
Tło
GitHub włączył ochronę przy wypychaniu (push protection) dla wszystkich użytkowników w lutym 2024 r., przy czym ochrona ta nie obejmuje każdego formatu poświadczeń [1] [2]. Analiza Truffle Security stawia inne pytanie niż skanowanie nowych commitów: które poświadczenia w istniejącym publicznym zbiorze wciąż działają i jak długo pozostawały publiczne [1].
Ustalenia
Zbiór obejmował 224 553 295 repozytoriów i 58 467 468 698 plików z zestawu danych The Stack v3. Truffle Security sprawdził każde potencjalne poświadczenie w usłudze, która je wydała, i liczył poświadczenia według wartości, więc jeden klucz znaleziony w 62 repozytoriach liczy się raz [1]. Indeksowanie obejmowało wyłącznie gałąź domyślną i zakończyło się 7 sierpnia 2025 r. [1].
Mediana wieku działającego poświadczenia w publicznym repozytorium wynosiła 784 dni, a 90. percentyl 6,3 roku; najstarsze zostało zatwierdzone w 2009 r. i wciąż działa [1]. Wśród działających poświadczeń było 69 041 kont usług Google Cloud, 33 343 klucze API Google i 31 374 klucze Gemini, a 51 067 ciągów połączeń MongoDB należało do kategorii, której push protection nie blokuje [1].
Przetrwanie zależało od dostawcy. Spośród 101 886 zatwierdzonych tokenów npm działał 1, a spośród 73 048 zatwierdzonych tokenów GitHub 260; w przypadku ciągów połączeń Postgres działało 11 465 z 12 985, czyli 88 procent [1]. Truffle Security wnioskuje, że różnica polega na tym, czy dostawca ma mechanizm, który przechwytuje ujawniony token i go unieważnia [1].
Co do push protection raport podaje, że niecałe 200 000 działających poświadczeń wypchnięto już po jej domyślnym włączeniu, że 51,8 procent działających poświadczeń należy do kategorii, których ona nie rozpoznaje, oraz że grupa chroniona zmniejszyła się o 53 procent, a niechroniona o 7 procent [1] [2].
Znaczenie dla użytkowników Maca
Dane dotyczą repozytoriów, a nie komputerów, a źródła nie podają, z jakich systemów operacyjnych korzystali deweloperzy. Dla użytkownika Maca istotne jest samo poświadczenie: klucza leżącego w publicznym repozytorium można użyć z dowolnego miejsca, niezależnie od urządzenia, na którym powstał. Liczba kluczy Gemini to przykład tego, że klucze usług AI pojawiają się w tych samych danych co klucze chmurowe [1].
Metodologia wyznacza też granice tego, co pokazują liczby. Wszystko, co usunięto wymuszonym wypchnięciem, przeniesiono do gałęzi innej niż domyślna albo zatwierdzono i wycofano przed sierpniem 2025 r., jest dla tej metody niewidoczne, więc liczba ta oznacza to, co znaleziono, a nie wszystko, co zostało ujawnione [1].
Zalecenia
- Traktuj zatwierdzone poświadczenie jako spalone w chwili, gdy trafi do repozytorium, niezależnie od tego, czy coś je oznaczyło; najpierw je wymień, a dopiero potem czyść historię, jak zaleca raport [1].
- Wymień każdy klucz, który kiedykolwiek zatwierdzono, także w starych gałęziach i w repozytoriach później ustawionych jako prywatne, ponieważ mediana publicznej ekspozycji działającego poświadczenia wynosiła 784 dni [1].
- Wybieraj poświadczenia, które wygasają automatycznie; streszczenie BleepingComputer wymienia automatyczne wygasanie aktywnych sekretów wśród zalecanych środków [2].
- Przechowuj klucze w menedżerze sekretów lub w zmiennych środowiskowych poza repozytorium i przeskanuj historię repozytorium przed jego upublicznieniem.
Związek z FireAI
FireAI to zapora dla jednego Maca. Identyfikuje aplikację po jej podpisie kodu lub ścieżce i stosuje reguły dla aplikacji do połączeń, które ta aplikacja otwiera, a strona Aktywność pokazuje, które aplikacje łączyły się z siecią i dokąd. Pomaga to zobaczyć, które programy na Macu łączą się z usługą chmurową lub AI, i utworzyć regułę, aby docierała do niej tylko zamierzona aplikacja.
FireAI nie skanuje repozytoriów ani plików w poszukiwaniu poświadczeń, nie widzi zawartości żądania wewnątrz szyfrowanego połączenia i nie ma wglądu w klucz używany z innego komputera. Nie może unieważnić ani wymienić klucza i nie może usunąć poświadczenia, które już zostało opublikowane. Mechanizmem, który odpowiada na ustalenia tego raportu, jest unieważnienie klucza u jego dostawcy.
Ograniczenia
Liczby pochodzą z własnej metodologii i zbioru danych Truffle Security. Oba źródła opisują rozkład wieku innymi słowami: BleepingComputer podaje, że około jedna dziesiąta działających poświadczeń jest starsza niż 6,3 roku, a Truffle Security mówi o 90. percentylu wynoszącym 6,3 roku [1] [2]. Data zatwierdzenia pliku to jedyny zegar dla pojedynczego pliku, jaki oferuje zbiór, więc wiek jest przybliżony [1].
Indeksowanie zbioru danych zakończyło się w sierpniu 2025 r., a testy ważności przeprowadzono w lipcu 2026 r., więc część uwzględnionych poświadczeń była ujawniona przez lata przed testem, a raport nie może stwierdzić, kto, jeśli ktokolwiek, z nich korzystał [1].
Wypróbuj FireAI od HisnLabs za darmo przez 17 dni.