Megalodon: masowy atak na GitHub z użyciem złośliwych workflow CI/CD - Security Bez Tabu

Megalodon: masowy atak na GitHub z użyciem złośliwych workflow CI/CD

Cybersecurity news

Wprowadzenie do problemu / definicja

Megalodon to kampania wymierzona w łańcuch dostaw oprogramowania, której celem były repozytoria GitHub oraz mechanizmy automatyzacji GitHub Actions. Atak nie koncentrował się na klasycznym wstrzykiwaniu złośliwego kodu do aplikacji, lecz na przejęciu kontroli nad procesem budowania, testowania i publikacji poprzez dodawanie złośliwych workflow CI/CD.

To szczególnie groźny model działania, ponieważ pipeline’y często mają dostęp do sekretów, tokenów chmurowych, kluczy SSH i uprawnień publikacyjnych. Kompromitacja workflow może więc prowadzić nie tylko do wycieku danych, ale także do publikacji zainfekowanych artefaktów pod marką legalnego dostawcy.

W skrócie

Badacze opisali zautomatyzowaną kampanię, w ramach której w ciągu około sześciu godzin do tysięcy repozytoriów GitHub trafiły tysiące złośliwych commitów. Atakujący podszywali się pod techniczne tożsamości przypominające boty CI i umieszczali w commitach workflow GitHub Actions zawierające zakodowany ładunek bash odpowiedzialny za eksfiltrację wrażliwych danych z runnerów.

  • Kampania objęła 5561 repozytoriów i 5718 złośliwych commitów.
  • Zaobserwowano wariant masowy oraz wariant ukierunkowany.
  • Celem były m.in. sekrety środowiskowe, tokeny OIDC, poświadczenia chmurowe i klucze SSH.
  • Jeden z nagłośnionych przypadków dotyczył procesu publikacji pakietu @tiledesk/tiledesk-server.

Kontekst / historia

Megalodon wpisuje się w rosnący trend ataków supply chain wymierzonych w ekosystemy open source i platformy deweloperskie. W tego typu operacjach napastnicy wykorzystują zależności między repozytoriami, systemami CI/CD i rejestrami pakietów, aby przejść od pojedynczej kompromitacji do szerszego skażenia procesu dostarczania oprogramowania.

W opisywanym przypadku złośliwe commity zostały rozesłane masowo 18 maja 2026 roku. Operacja wyróżniała się wysoką automatyzacją, ujednoliconymi komunikatami commitów oraz próbą nadania zmianom pozorów rutynowej konserwacji pipeline’ów, co mogło utrudniać ich ręczne wykrycie podczas przeglądu zmian.

Analiza techniczna

Rdzeń ataku polegał na modyfikacji plików workflow odpowiedzialnych za GitHub Actions. Zamiast jawnego kodu do kradzieży sekretów, atakujący wykorzystywali payload bash zakodowany w Base64, co utrudniało szybką identyfikację złośliwego działania podczas pobieżnego przeglądu commitów.

Według opisu incydentu malware zbierał m.in. zmienne środowiskowe procesu CI, poświadczenia AWS i Google Cloud, tokeny OIDC, klucze prywatne SSH, konfiguracje Docker i Kubernetes, tokeny Vault, dane Terraform, historię poleceń powłoki oraz inne sekrety wykrywane na podstawie wzorców. Szczególnie niebezpieczne było przejmowanie tokenów używanych w procesach automatycznego publikowania i integracji z usługami chmurowymi.

Badacze rozróżnili dwa warianty ładunku. Wariant masowy, określany jako SysDiag, dodawał workflow uruchamiany przy zdarzeniach push i pull request. Wariant ukierunkowany, nazwany Optimize-Build, korzystał z triggera workflow_dispatch, dzięki czemu mógł być aktywowany ręcznie i pozostawać mniej widoczny w codziennej pracy zespołu.

Najgroźniejszy scenariusz pojawia się wtedy, gdy zainfekowana zmiana zostaje zaakceptowana jako pozornie nieszkodliwa poprawka CI. Po uruchomieniu workflow złośliwy kod działa w zaufanym kontekście pipeline’u, a więc często z dostępem do sekretów organizacyjnych, tożsamości chmurowych oraz procesów publikacji pakietów i artefaktów.

Konsekwencje / ryzyko

Ryzyko związane z Megalodon ma charakter wielowarstwowy. Atak może prowadzić do kradzieży sekretów CI/CD, ruchów bocznych w środowiskach chmurowych, przejęcia kont projektowych, modyfikacji release’ów oraz publikacji złośliwych pakietów. W skrajnym przypadku kompromitacja pojedynczego repozytorium staje się punktem wyjścia do naruszenia całego łańcucha wydawniczego.

Dla organizacji utrzymujących wiele repozytoriów szczególnie niebezpieczne jest współdzielenie sekretów oraz nadmierne uprawnienia workflow. Jeżeli pipeline’y mają szeroki dostęp do zasobów, atak nie musi wykorzystywać klasycznej podatności aplikacyjnej. Wystarczy skutecznie wprowadzić workflow imitujący optymalizację lub konserwację CI, a następnie uruchomić go w zaufanym środowisku.

Rekomendacje

Organizacje powinny traktować pliki workflow CI/CD jako zasoby wysokiego ryzyka i objąć je równie rygorystyczną kontrolą jak kod odpowiedzialny za uwierzytelnianie czy kryptografię. Każda zmiana w katalogach workflow powinna wymagać obowiązkowego review przez zaufanych maintainerów oraz ochrony za pomocą reguł CODEOWNERS i zabezpieczeń gałęzi.

Kluczowe znaczenie ma także ograniczanie uprawnień zgodnie z zasadą najmniejszych przywilejów. Dotyczy to zakresów GITHUB_TOKEN, dostępu do sekretów repozytorium, środowisk wdrożeniowych oraz federacji OIDC. Warto jawnie definiować minimalne permissions w plikach workflow i usuwać nieużywane sekrety z poziomu repozytoriów oraz organizacji.

Niezbędne jest monitorowanie zmian w GitHub Actions pod kątem anomalii, takich jak użycie Base64, poleceń pobierających dane z nieznanych hostów, prób dostępu do usług metadanych chmurowych, odczytu plików z katalogów domowych runnera czy masowej enumeracji zmiennych środowiskowych.

  • blokowanie auto-merge dla zmian modyfikujących workflow,
  • wymuszanie podpisywania commitów i walidacji tożsamości autorów,
  • izolacja runnerów oraz segmentacja środowisk buildowych,
  • rotacja sekretów i audyt poświadczeń po incydencie,
  • skanowanie artefaktów release i pakietów przed publikacją,
  • centralne logowanie oraz alertowanie dla zdarzeń workflow_dispatch i zmian uprawnień.

W środowiskach publikujących pakiety warto ograniczać użycie długowiecznych tokenów na rzecz krótkotrwałych poświadczeń federacyjnych. Modele oparte na OIDC zmniejszają ryzyko wykorzystania statycznych tokenów skradzionych z runnerów lub logów.

Podsumowanie

Megalodon pokazuje, że współczesne ataki supply chain coraz częściej uderzają bezpośrednio w mechanizmy automatyzacji DevOps. Masowe wstrzykiwanie złośliwych workflow do tysięcy repozytoriów zwiększa skalę zagrożenia, ponieważ kompromitacja pipeline’u otwiera drogę do przejęcia sekretów, tożsamości chmurowych i procesów publikacji.

Dla zespołów bezpieczeństwa oznacza to konieczność traktowania CI/CD jako krytycznej powierzchni ataku. Ochrona workflow, redukcja uprawnień, stosowanie krótkotrwałych poświadczeń oraz ścisła kontrola zmian w pipeline’ach powinny stać się standardem w nowoczesnym procesie wytwarzania oprogramowania.

Źródła

  1. https://thehackernews.com/2026/05/megalodon-github-attack-targets-5561.html
  2. https://safedep.io/megalodon-mass-github-repo-backdooring-ci-workflows
  3. https://docs.github.com/en/actions/how-tos/manage-workflow-runs/manually-run-a-workflow
  4. https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions?azure-portal=true
  5. https://docs.npmjs.com/trusted-publishers/