Ponad 5 500 repozytoriów na GitHubie zostało zainfekowanych złośliwym oprogramowaniem w ataku na łańcuch dostaw, wykorzystującym zautomatyzowane zatwierdzanie zmian.

Kampania, nazwana „Megalodon”, opiera się na workflowach GitHub Actions zawierających payload zaprojektowany do kradzieży danych uwierzytelniających, kluczy, tokenów i innych informacji.

Jak podaje SafeDep, workflowy zostały wstrzyknięte za pomocą ponad 5 700 złośliwych commitów wypchniętych do zaatakowanych repozytoriów w ciągu sześciu godzin w dniu 18 maja.

Według raportów atakujący wdrożyli w ramach tego ataku dwa payloady. Jeden miał dodawać nowy workflow uruchamiany przy każdym pushu i pull requeście, a drugi zastępował istniejące workflowy określonymi triggerami, tworząc uśpione backdoory.

Na zainfekowanych maszynach malware wykradał wszystkie zmienne środowiskowe CI, dane logowania AWS, tokeny dostępu GCP, poświadczenia Azure, prywatne klucze SSH, konfiguracje Dockera i Kubernetesa, klucze API, connection stringi baz danych, tokeny GitHub Actions, tokeny GitLab CI/CD oraz dziesiątki innych rodzajów informacji.

Jak wyjaśnia SafeDep, Megalodon został odkryty po analizie złośliwych wersji pakietu Tiledesk – open source’owej platformy live chat i chatbotów. Zainfekowane pakiety były publikowane między 19 a 21 maja.

„To samo konto NPM, eljohnny ([email protected]), opublikowało zarówno czystą wersję 2.18.5, jak i wersje skompromitowane. Atakujący nigdy nie przejęli konta NPM. Zaatakowali repozytorium GitHub, a maintainer opublikował skażony kod źródłowy, nie zdając sobie z tego sprawy” – podaje SafeDep na swoim blogu.

Złośliwy commit, który doprowadził do infekcji, został wypchnięty 18 maja i był podpisany przez „build-bot”. Dochodzenie SafeDep dotyczące powiązanego adresu e-mail wykazało 2 878 commitów wykonanych tego samego dnia, a także dodatkowe 2 841 commitów wykonanych przy użyciu drugiego adresu e-mail.

„Wszystkie 5 718 commitów zostało dodanych tego samego dnia – 18 maja 2026 roku – w sześciogodzinnym oknie między 11:36 a 17:48 UTC, atakując 5 561 różnych repozytoriów” – wyjaśnia SafeDep.

Zauważono również, że wybór złośliwego workflow GitHub Actions – konkretnie „workflow_dispatch” – pozwalał na późniejsze aktywowanie uśpionego backdoora przez API GitHuba przy użyciu skradzionych tokenów GitHub.

Workflow ten jest wyjęty spod zasad antyrekurencyjnych GitHuba, które normalnie zapobiegają uruchamianiu nowych workflowów przez zdarzenia wywoływane tokenami GitHub.

W zeszłym tygodniu NPM ogłosił unieważnienie wszystkich granularnych tokenów dostępu NPM z uprawnieniami zapisu, które omijały uwierzytelnianie dwuskładnikowe, aby zapobiec atakom na łańcuch dostaw podobnym do Mini Shai-Hulud.

Według firmy Ox Security utrudnia to przejmowanie kont, ale nie rozwiązuje podstawowego problemu – złośliwy kod wciąż będzie rozprzestrzeniał się przez skompromitowane repozytoria.

„Jeśli platformy nadal będą pozwalać na przesyłanie dowolnego kodu bez poważnej weryfikacji, liczba ataków będzie tylko rosła” – twierdzą specjaliści Ox.

„Weszliśmy w nową erę ataków na łańcuch dostaw, a kompromitacja GitHuba przez TeamPCP była dopiero początkiem. To, co nadchodzi, będzie niekończącą się falą – tsunami cyberataków wymierzonych w programistów na całym świecie” – ostrzegają eksperci Ox.