
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
API GitHub jest jednym z kluczowych elementów nowoczesnych środowisk deweloperskich. Umożliwia automatyzację procesów, integrację narzędzi bezpieczeństwa oraz analizę projektów open source, ale jednocześnie tworzy powierzchnię ataku atrakcyjną dla cyberprzestępców. Najnowsze obserwacje wskazują na kampanię rozpoznawczą, w której wykorzystywane są tzw. „ghost accounts”, czyli konta założone lata wcześniej i przez długi czas pozostające nieaktywne.
Celem takich działań nie jest od razu bezpośrednia kompromitacja środowiska, lecz ciche mapowanie organizacji, repozytoriów i relacji pomiędzy użytkownikami platformy. Tego typu rekonesans może stanowić wstęp do dalszych operacji wymierzonych w kod źródłowy, tożsamości deweloperów oraz łańcuch dostaw oprogramowania.
W skrócie
Kampania polega na nadużywaniu API GitHub do systematycznej enumeracji publicznie dostępnych danych o organizacjach i ich członkach. Atakujący korzystają z sieci uśpionych kont, które aktywują się falami i generują ruch przypominający legalne użycie interfejsów API.
- wykorzystywane są konta długo pozostające nieaktywne,
- ruch obejmuje zapytania do publicznych danych organizacji i użytkowników,
- aktywność miesza się z normalnym ruchem operacyjnym,
- w części przypadków doszło także do prób użycia ujawnionych tokenów GitHub,
- sporadycznie obserwowano również skuteczną eksfiltrację danych.
Kontekst / historia
Zidentyfikowana aktywność była prowadzona od co najmniej października 2025 roku i obejmowała ponad 50 kont wykorzystywanych do wysyłania zapytań API do wielu organizacji. Charakterystycznym elementem operacji było używanie kont zarejestrowanych od dwóch do pięciu lat wcześniej, które dopiero po długim okresie bezczynności rozpoczęły skoordynowaną aktywność.
To zjawisko wpisuje się w szerszy trend nadużywania legalnych platform developerskich do celów wywiadowczych. GitHub jest dla przeciwników szczególnie cennym źródłem informacji, ponieważ pozwala odtworzyć strukturę organizacji, zależności pomiędzy zespołami, aktywność poszczególnych użytkowników i znaczenie konkretnych projektów.
W praktyce oznacza to, że nawet publiczne dane mogą dostarczyć atakującemu wystarczająco dużo wiedzy do przygotowania ukierunkowanego phishingu, ataków na konta uprzywilejowane lub operacji nastawionych na kradzież kodu i naruszenie bezpieczeństwa łańcucha dostaw.
Analiza techniczna
Technicznie kampania opiera się na połączeniu automatycznych skanerów, koordynacji wielu kont oraz w niektórych przypadkach wykorzystania ujawnionych poświadczeń. Duża część powierzchni API GitHub jest dostępna bez uwierzytelnienia, co pozwala pobierać dane publiczne bez generowania oczywistych błędów autoryzacyjnych.
Atakujący wykorzystywali zarówno zapytania GraphQL, jak i klasyczne endpointy REST. Dzięki temu mogli budować szczegółowy obraz organizacji i zależności pomiędzy użytkownikami oraz projektami.
- listowanie publicznych repozytoriów organizacji,
- analiza członkostwa w organizacjach,
- przegląd list followers i following użytkowników,
- identyfikacja gwiazdkowanych repozytoriów i gistów,
- budowanie grafu powiązań między osobami, zespołami i projektami.
Szczególnie problematyczne z punktu widzenia detekcji jest to, że takie zapytania zwracają poprawne odpowiedzi HTTP 200 i bardzo łatwo zlewają się z legalnym ruchem. Rekonesans nie musi wykorzystywać exploitów, omijania uwierzytelnienia czy agresywnych prób dostępu, aby pozostać skuteczny.
W badanych przypadkach konta używały nazw user-agentów przypominających legalne narzędzia analityczne, dashboardowe lub związane z transferem danych. To znacząco utrudnia ręczne odróżnienie prawidłowych integracji od działań wrogich. W jednym z incydentów aktywność rozszerzyła się o wykorzystanie przypadkowo ujawnionych tokenów należących do legalnych użytkowników, co umożliwiło kierowanie zapytań do prywatnych ścieżek commitów z wielu kont w krótkim czasie.
Konsekwencje / ryzyko
Sama enumeracja publicznych danych nie zawsze prowadzi bezpośrednio do kompromitacji, ale jej wartość operacyjna jest bardzo wysoka. Atakujący mogą na tej podstawie określić, które repozytoria są kluczowe, kto odpowiada za ich utrzymanie i które konta mogą stanowić najcenniejszy cel dalszych działań.
- identyfikacja właścicieli projektów i administratorów,
- mapowanie architektury organizacyjnej i technicznej,
- przygotowanie kampanii spear phishingowych,
- korelacja kont GitHub z innymi tożsamościami i platformami,
- wyszukiwanie oznak błędnej konfiguracji lub wycieku sekretów.
Ryzyko znacząco rośnie, gdy dane publiczne zostają połączone z ujawnionymi poświadczeniami. Wówczas przeciwnik może przejść od samego rozpoznania do prób dostępu do prywatnych repozytoriów, historii commitów, sekretów zapisanych w kodzie, workflow CI/CD czy artefaktów budowania. Dla organizacji oznacza to zagrożenie dla własności intelektualnej, ciągłości dostarczania oprogramowania i bezpieczeństwa całego ekosystemu wytwórczego.
Rekomendacje
Organizacje korzystające z GitHub powinny traktować platformę jako krytyczny element powierzchni ataku. Monitoring jej aktywności powinien być porównywalny z nadzorem nad systemami IAM, chmurą i kluczowymi usługami tożsamościowymi.
- włączenie strumieniowania logów audytowych GitHub do centralnego systemu SIEM,
- zbudowanie bazowej linii normalnych user-agentów, integracji i wzorców dostępu,
- wykrywanie rzadkich lub niestandardowych user-agentów wykonujących zapytania do zasobów prywatnych,
- monitorowanie nagłych fal aktywności z wielu kont wobec tych samych organizacji i repozytoriów,
- przegląd oraz rotacja tokenów używanych przez automatyzację i integracje,
- wdrożenie zasady minimalnych uprawnień dla tokenów i aplikacji,
- regularne wyszukiwanie wycieków sekretów w kodzie, pipeline’ach i systemach pomocniczych,
- korelacja zdarzeń API z aktywnością użytkowników, zmianami uprawnień i klonowaniem repozytoriów,
- prowadzenie proaktywnego threat huntingu pod kątem nietypowej enumeracji GraphQL i REST.
W praktyce najcenniejsze są detekcje oparte nie tylko na wolumenie zapytań, ale też na ich semantyce. Sekwencyjne przechodzenie przez organizacje, członków, obserwujących i repozytoria, a następnie próby sięgania po ścieżki prywatne, mogą wskazywać na operację rozpoznawczą przygotowującą dalsze etapy ataku.
Podsumowanie
Kampania wykorzystująca „ghost accounts” pokazuje, że legalne funkcje platform developerskich mogą zostać użyte do długotrwałego i trudnego do wykrycia rekonesansu. Nadużycia API GitHub nie muszą zaczynać się od exploitów ani przejęcia kont — wystarczy cierpliwa i dobrze zautomatyzowana enumeracja danych publicznych, aby zbudować dokładny obraz organizacji.
Gdy do takiego rozpoznania dołączą wyciekłe tokeny lub błędnie zabezpieczone integracje, ryzyko szybko eskaluje do eksfiltracji danych i kompromitacji repozytoriów. Dlatego monitoring aktywności API, kontrola tokenów i analiza anomalii w logach audytowych powinny stać się standardem w programach bezpieczeństwa środowisk programistycznych.
Źródła
- SecurityWeek — Ghost Accounts Abuse GitHub API in Mass Recon Campaign — https://www.securityweek.com/ghost-accounts-abuse-github-api-in-mass-recon-campaign/
- Datadog Security Labs — badania dotyczące kampanii rozpoznawczej w GitHub — https://securitylabs.datadoghq.com/
- GitHub Docs — REST API documentation — https://docs.github.com/en/rest
- GitHub Docs — GraphQL API documentation — https://docs.github.com/en/graphql
- GitHub Docs — Audit log events and monitoring guidance — https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/audit-log-events-for-your-enterprise