Megalodon kompromituje tysiące repozytoriów GitHub: nowa fala ataków na CI/CD - Security Bez Tabu

Megalodon kompromituje tysiące repozytoriów GitHub: nowa fala ataków na CI/CD

Cybersecurity news

Wprowadzenie do problemu / definicja

Megalodon to nazwa zautomatyzowanej kampanii malware wymierzonej w łańcuch dostaw oprogramowania, której celem stały się repozytoria GitHub oraz procesy CI/CD oparte na GitHub Actions. Mechanizm ataku polegał na wstrzykiwaniu lub podmienianiu plików workflow zapisanych w YAML, co pozwalało uruchamiać złośliwy kod w zaufanym środowisku budowania i przejmować wrażliwe dane używane przez zespoły deweloperskie.

Największe zagrożenie wynika z faktu, że atak nie musi wykorzystywać klasycznej luki w aplikacji. Wystarczy przejęcie lub nadużycie zaufania do automatyzacji, aby uzyskać dostęp do sekretów CI/CD, tokenów chmurowych, kluczy SSH czy poświadczeń wykorzystywanych podczas publikacji artefaktów.

W skrócie

Kampania Megalodon została zaobserwowana 18 maja 2026 roku i według analiz objęła ponad 5,5 tys. repozytoriów w ciągu około sześciu godzin. Atakujący używali fałszywych kont oraz spreparowanych tożsamości autorów commitów, aby wprowadzać złośliwe workflowy GitHub Actions.

  • Atak był wymierzony w repozytoria GitHub i procesy CI/CD.
  • Złośliwe workflowy eksfiltrowały sekrety do infrastruktury kontrolowanej przez napastników.
  • Wykryto wariant masowy oraz wariant bardziej ukryty, oparty na ręcznym wyzwalaniu workflow.
  • Incydent pokazał, jak łatwo legalny pipeline może stać się narzędziem dalszej kompromitacji.

Kontekst / historia

Megalodon wpisuje się w rosnącą falę ataków na software supply chain, w których celem nie jest już wyłącznie kod aplikacji, lecz cała otoczka procesu wytwórczego. W 2026 roku szczególnie widoczne stały się kampanie ukierunkowane na konta deweloperów, zaufane repozytoria open source i pipeline’y odpowiedzialne za budowanie oraz publikowanie pakietów.

W analizowanych przypadkach badacze zwracali uwagę, że kompromitacja nie kończyła się na samym repozytorium. Skażony kod lub artefakty mogły trafiać dalej do użytkowników downstream, ponieważ były publikowane w ramach legalnego procesu release przez uprawnionych maintainerów. To pokazuje, że skutki ataku na CI/CD mogą rozlewać się daleko poza pojedynczy projekt.

Analiza techniczna

Techniczna istota kampanii sprowadzała się do modyfikacji plików w katalogu .github/workflows. GitHub Actions uruchamia workflowy w odpowiedzi na zdarzenia takie jak push, pull request czy ręczne wywołanie. Oznacza to, że każda nieautoryzowana zmiana workflow może bezpośrednio skutkować wykonaniem poleceń w środowisku CI.

Badacze opisali dwa główne warianty złośliwego ładunku. Pierwszy dodawał nowy workflow identyfikowany jako SysDiag, uruchamiany przy zdarzeniach push i wybranych operacjach związanych z pull requestami. Taki model zwiększał prawdopodobieństwo automatycznego wykonania malware bez dodatkowego działania ze strony maintainerów.

Drugi wariant był bardziej dyskretny. Polegał na zastępowaniu istniejących workflowów wersją wykorzystującą wyzwalacz workflow_dispatch. Taki mechanizm może przez dłuższy czas pozostawać niewidoczny w standardowej aktywności projektu, a jednocześnie działać jak uśpione tylne wejście, uruchamiane ręcznie lub przez API.

Ładunki zawierały zakodowane polecenia shell odpowiedzialne za eksfiltrację danych z kontekstu wykonania workflow. Celem były przede wszystkim sekrety CI/CD, tokeny dostępowe do usług chmurowych, klucze SSH, tokeny OIDC oraz inne wartości przechowywane jako zmienne środowiskowe lub nadane uprawnienia workflow. W niektórych przypadkach złośliwe definicje żądały dodatkowych uprawnień, co zwiększało potencjał dalszej eskalacji i nadużyć.

Z perspektywy zespołów bezpieczeństwa ważne są również artefakty operacyjne pozostawione przez kampanię. Należały do nich fałszywe nazwy botów, spreparowane adresy e-mail autorów commitów, powtarzalne komunikaty commitów oraz charakterystyczne pliki YAML dodawane do workflowów. Takie wskaźniki mogą być przydatne zarówno w threat huntingu, jak i retrospektywnej analizie historii zmian.

Konsekwencje / ryzyko

Najpoważniejszym skutkiem kampanii Megalodon jest przejęcie sekretów wykorzystywanych przez pipeline’y, a więc danych dających dostęp do kluczowych zasobów organizacji. Mogą to być poświadczenia do rejestrów kontenerów, środowisk chmurowych, prywatnych repozytoriów, systemów wdrożeniowych oraz usług zewnętrznych używanych w procesie developmentu.

W praktyce pojedynczy złośliwy workflow może otworzyć drogę do ruchu bocznego, sabotażu procesu release, kradzieży kodu źródłowego, publikacji skażonych pakietów albo trwałego osadzenia się napastnika w łańcuchu dostaw. Szczególnie wysokie ryzyko dotyczy organizacji, które utrzymują szerokie uprawnienia domyślne dla GitHub Actions, nie egzekwują przeglądu zmian w workflowach i przechowują sekrety długoterminowe.

  • Ujawnienie poświadczeń do chmury i systemów wdrożeniowych.
  • Ryzyko publikacji zainfekowanych artefaktów do rejestrów i repozytoriów.
  • Możliwość dalszej eskalacji uprawnień z wykorzystaniem tokenów tożsamości.
  • Trudność pełnego oczyszczenia środowiska po eksfiltracji sekretów.

Istotnym problemem jest również pozorne poczucie rozwiązania incydentu po usunięciu złośliwego pliku z repozytorium. Jeżeli workflow zdążył się wykonać i wyprowadzić sekrety, samo cofnięcie commitu nie zamyka sprawy. Wszystkie potencjalnie ujawnione poświadczenia należy traktować jako skompromitowane i odtworzyć.

Rekomendacje

Organizacje korzystające z GitHub powinny potraktować repozytoria, workflowy i konta maintainerów jako zasoby krytyczne. Ochrona procesu CI/CD musi być porównywalna z ochroną systemów produkcyjnych, ponieważ to właśnie pipeline coraz częściej staje się dogodnym punktem wejścia dla atakujących.

  • Przeprowadzić natychmiastowy przegląd katalogu .github/workflows pod kątem nowych lub zmodyfikowanych plików.
  • Zweryfikować historię commitów pod kątem fałszywych botów, nietypowych autorów i podejrzanych komunikatów.
  • Unieważnić i odtworzyć sekrety dostępne dla potencjalnie skażonych pipeline’ów.
  • Ograniczyć uprawnienia GitHub Actions zgodnie z zasadą najmniejszych uprawnień.
  • Wymusić code review dla każdej zmiany dotyczącej workflowów automatyzacji.
  • Preferować krótkotrwałe mechanizmy uwierzytelniania zamiast statycznych sekretów.
  • Monitorować połączenia wychodzące z runnerów CI/CD i analizować anomalie.
  • Weryfikować integralność artefaktów wydanych w czasie incydentu.
  • Wzmocnić ochronę kont maintainerów poprzez MFA i kontrolę sesji.

Podsumowanie

Megalodon to wyraźny przykład nowoczesnego ataku na łańcuch dostaw oprogramowania, w którym kluczowym celem nie jest sama aplikacja, lecz zaufana automatyzacja otaczająca proces developmentu. Wstrzyknięcie złośliwego workflow do GitHub Actions pozwala wykorzystać legalną infrastrukturę CI/CD do kradzieży sekretów i dalszej kompromitacji środowisk.

Dla zespołów bezpieczeństwa oznacza to konieczność stałego monitorowania workflowów, kontroli zmian w repozytoriach i ograniczania zaufania do automatycznych procesów build i release. Incydent z Megalodon pokazuje, że nawet poprawnie działający pipeline może stać się nośnikiem ataku, jeśli zabraknie nadzoru nad jego integralnością.

Źródła

  1. Dark Reading: Feeding Frenzy: 'Megalodon’ Malware Infects Thousands of GitHub Repos — https://www.darkreading.com/application-security/megalodon-malware-infects-thousands-github-repos
  2. SafeDep: Megalodon: Mass GitHub Repo Backdooring via CI Workflows — https://safedep.io/megalodon-mass-github-repo-backdooring-ci-workflows
  3. OX Security: Megalodon: CI/CD Malware Spreading Across GitHub Repositories — https://www.ox.security/blog/megalodon-cicd-malware-github/
  4. GitHub Docs: Understanding GitHub Actions — https://docs.github.com/es/actions/get-started/understand-github-actions
  5. GitHub Docs: Manually running a workflow — https://docs.github.com/enterprise-cloud%40latest/actions/how-tos/managing-workflow-runs-and-deployments/managing-workflow-runs/manually-running-a-workflow