Wielkoskalowy atak na łańcuch dostaw: GitHub Actions zamienione w botnet do ataku na cPanel
Atak na łańcuch dostaw ujawniony 22 23 lipca 2026 r. – hakerzy włamali się na konto programisty PHP 'dinushchathurya' na Packagiście, wstrzykując 583 złośliwe pliki przepływów pracy GitHub Actions do dziesięciu repozy...
Opublikowane przezEdytowane za pomocą DeepSeek-V4-FlashObrazy wygenerowane za pomocą GPT Image 1.5
Atak na łańcuch dostaw ujawniony 22 23 lipca 2026 r. – hakerzy włamali się na konto programisty PHP 'dinushchathurya' na Packagiście, wstrzykując 583 złośliwe pliki przepływów pracy GitHub Actions do dziesięciu repozy...
Celem była krytyczna luka CVE 2026 41940 (CVSS 9.8) w cPanel i WHM, pozwalająca na ominięcie uwierzytelniania i uzyskanie dostępu na poziomie root.
Atakujący wykorzystali darmowe serwery GitHub Actions do skanowania Internetu i atakowania systemów cPanel, kradnąc klucze AWS, tokeny GitHub/GitLab, klucze API (OpenAI, Google), dane Stripe i poświadczenia SSH.
Skala kampanii jest ogromna – zidentyfikowano od około 6100 do nawet 16 000 pasujących plików przepływów pracy na GitHub.
Search & fact-check with cited sources for What is the large-scale campaign disclosed in July 2026 in which attackers compromised a PHP deveSimplified depiction of a supply chain attack vector, similar to the campaign that weaponized GitHub Actions workflows to distribute exploits.
AI Prompt
Create a landscape editorial hero image for this Studio Global article: Search & fact-check with cited sources for What is the large-scale campaign disclosed in July 2026 in which attackers compromised a PHP deve. Article summary: Here are the confirmed facts, with sources:. Topic tags: general, government, general web, user generated. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clickbait thumbnails, icons, and tiny thumbnail layouts. Make it useful as an illustrative visual, not as factual evidence.
openai.com
Pod koniec lipca 2026 roku badacze bezpieczeństwa ujawnili kampanię ataku na łańcuch dostaw i nadużycia CI/CD o niespotykanej dotąd skali. Atakujący włamali się na konto programisty PHP na Packagiście, głównym rejestrze pakietów PHP, i wykorzystali je do wstrzyknięcia setek złośliwych plików przepływów pracy GitHub Actions do repozytoriów open-source. Celem nie było zainfekowanie kodu PHP, ale przekształcenie darmowych serwerów CI/CD GitHuba w rozproszony, jednorazowy botnet do wykorzystania krytycznej luki w cPanel i WHM, powszechnie używanym oprogramowaniu do zarządzania hostingiem .
Oto analiza kampanii, wykorzystanej luki, skradzionych danych, rzeczywistej skali operacji oraz niezbędnych działań obronnych.
Kampania: Zamiana serwerów GitHub Actions w botnet
Studio Global AI
Continue your research
This page includes a source-backed answer you can continue inside Studio Global.
What is the short answer to "Wielkoskalowy atak na łańcuch dostaw: GitHub Actions zamienione w botnet do ataku na cPanel"?
Atak na łańcuch dostaw ujawniony 22 23 lipca 2026 r. – hakerzy włamali się na konto programisty PHP 'dinushchathurya' na Packagiście, wstrzykując 583 złośliwe pliki przepływów pracy GitHub Actions do dziesięciu repozy...
What are the key points to validate first?
Atak na łańcuch dostaw ujawniony 22 23 lipca 2026 r. – hakerzy włamali się na konto programisty PHP 'dinushchathurya' na Packagiście, wstrzykując 583 złośliwe pliki przepływów pracy GitHub Actions do dziesięciu repozy... Celem była krytyczna luka CVE 2026 41940 (CVSS 9.8) w cPanel i WHM, pozwalająca na ominięcie uwierzytelniania i uzyskanie dostępu na poziomie root.
What should I do next in practice?
Atakujący wykorzystali darmowe serwery GitHub Actions do skanowania Internetu i atakowania systemów cPanel, kradnąc klucze AWS, tokeny GitHub/GitLab, klucze API (OpenAI, Google), dane Stripe i poświadczenia SSH.
Atak rozpoczął się od przejęcia konta na Packagiście należącego do legalnego programisty PHP i DevOps, dinushchathurya, między 12 a 13 lipca 2026 roku . Packagist automatycznie synchronizuje wersje pakietów z ich repozytoriów źródłowych. Ta funkcja została uzbrojona: atakujący wypchnęli złośliwe wersje "dev-main" wszystkich dziesięciu pakietów powiązanych z kontem programisty, które Packagist następnie zaimportował i udostępnił . Dziesięć pakietów było legalnymi bibliotekami PHP, ale atak nie był wymierzony w ich użytkowników poprzez kod PHP.
583 złośliwych plików przepływów pracy
Sedno ataku nie leżało w samym kodzie PHP – biblioteki PHP pozostały nieszkodliwe, bez złośliwych skryptów instalacyjnych czy aktywności sieciowej . Zamiast tego, atakujący wstrzyknęli 583 złośliwe pliki przepływów pracy GitHub Actions (.github/workflows/*.yml) do repozytoriów źródłowych programisty. Każda dotknięta wersja pakietu zawierała od 55 do 62 takich plików . Przepływy pracy GitHub Actions to pliki YAML definiujące zautomatyzowane zadania, takie jak uruchamianie testów czy wdrażanie kodu. Atakujący wykorzystali tę legalną infrastrukturę automatyzacji.
Złośliwy mechanizm
Po wykonaniu widelca lub kopii zagrożonego repozytorium, które uruchomiło przepływ pracy (np. przy zdarzeniu push), złośliwy plik .yml instruował serwer Ubuntu GitHuba, aby :
Wykrył architekturę procesora serwera.
Pobrał ładunek skanowania i eksploatacji z serwera dowodzenia i kontroli (C2) o adresie IP 43[.]228[.]157[.]68.
Zeskanował Internet w poszukiwaniu systemów z usługami cPanel i WHM.
W efekcie każdy uruchomiony przepływ pracy stawał się węzłem skanującym i eksploatującym, wykorzystującym darmową infrastrukturę GitHuba jako platformę do rozproszonego ataku .
Podatność: CVE-2026-41940
Celem kampanii była CVE-2026-41940, krytyczna luka w cPanel i WebHost Manager (WHM) .
Typ: Ominięcie uwierzytelniania przed autoryzacją .
Dotkliwość: CVSS 9.8 (krytyczna) .
Przyczyna: Luka typu CRLF (Carriage Return Line Feed) w module obsługi uwierzytelniania podstawowego cpsrvd. Nieuwierzytelniony atakujący mógł wysłać spreparowany nagłówek Authorization zawierający surowe znaki nowego wiersza. Pozwalało to na wstrzyknięcie dowolnych właściwości do pliku sesji, takich jak user=root i hasroot=1, skutecznie przyznając dostęp administracyjny na poziomie root do interfejsu WHM bez ważnego hasła .
Data łatki: cPanel wydał aktualizację bezpieczeństwa 28 kwietnia 2026. Oznacza to, że atakujący mieli działającą łatkę do analizy na kilka miesięcy przed rozpoczęciem kampanii.
Co zostało skradzione
Po udanym wykorzystaniu luki na zagrożonym serwerze cPanel/WHM, ładunek poeksploatacyjny miał na celu zebranie szerokiego zakresu poświadczeń i tajemnic. Główne cele obejmowały :
Poświadczenia chmurowe: Klucze Amazon Web Services (AWS).
Tokeny kontroli wersji: Tokeny GitHub, tokeny GitLab.
Klucze API: OpenAI, Google API.
Przetwarzanie płatności: Klucze Stripe.
Poświadczenia usług e-mail: (np. Mailgun, SendGrid).
Kradzież tak szerokiego zakresu poświadczeń wskazuje na oportunistyczne, niezależne od danych przechwytywanie wszelkich wartościowych tokenów dostępu obecnych na zagrożonym serwerze .
583 pliki przepływów pracy w 10 pakietach Packagist były dopiero początkiem. Analizując wskaźniki atakujących, takie jak współdzielona domena zwrotna DNSHook i wzorce ponownego wykorzystania kodu, badacze odkryli znacznie większą operację :
~6100 plików przepływów pracy było bezpośrednio powiązanych z tą samą początkową infrastrukturą atakujących .
~15000 do 16000 plików przepływów pracy w GitHub pasowało do powiązanych wzorców z kampanii .
Ta ogromna rozbieżność silnie sugeruje, że atakujący przejęli wiele innych kont programistów i repozytoriów poza pojedynczym kontem dinushchathurya. Kampania nie była pojedynczym punktem awarii, ale skoordynowaną operacją na wielu kontach. The Hacker News poinformował o osobnym, wcześniejszym ataku na łańcuch dostaw Packagist w maju 2026 roku, który naruszył 8 pakietów z powiązanymi złośliwymi elementami , co dodatkowo podkreśla podatność ekosystemu.
Trwające ryzyko: Dlaczego kampania prawdopodobnie wciąż trwa
Kampania stanowi trwałe zagrożenie, ponieważ infrastruktura atakujących nie jest całkowicie zneutralizowana. Kampania może być kontynuowana poprzez :
Widelce i kopie lustrzane: Złośliwe pliki przepływów pracy mogą pozostać w rozwidlonych lub lustrzanych kopiach zagrożonych repozytoriów.
Zapisane w pamięci podręcznej migawki: Pamięci podręczne GitHuba mogą zawierać złośliwe wersje przepływów pracy.
Skradzione poświadczenia: Skradzione poświadczenia pozostają w posiadaniu atakujących i mogą być wykorzystane do ruchu bocznego lub przyszłych ataków.
Ocalała infrastruktura C2: Serwer C2 (43[.]228[.]157[.]68) może nadal działać i aktywnie odbierać dane .
Chociaż oryginalne konto programisty na Packagiście zostało zawieszone, ogromna skala pasujących plików przepływów pracy (do ~16000) oznacza, że operacja ma szeroki zasięg, który jest trudny do całkowitego wyeliminowania .
Wymagane działania obronne
Na podstawie opublikowanej analizy, organizacje i programiści powinni natychmiast podjąć następujące działania :
Natychmiast załataj cPanel/WHM: CVE-2026-41940 została załatana 28 kwietnia 2026. Każda instalacja cPanel lub WHM (wersje po 11.40), która nie jest zaktualizowana, jest trywialnie podatna na ataki nieuwierzytelnionych zdalnych napastników. To najważniejszy krok.
Przeprowadź audyt wszystkich przepływów pracy GitHub Actions: Przejrzyj każdy plik YAML przepływu pracy w swoich repozytoriach, szczególnie te, które:
Pobierają i wykonują zewnętrzne pliki binarne.
Nawiązują wychodzące połączenia sieciowe.
Uruchamiają się na wyzwalaczach push lub workflow_dispatch bez ręcznego przeglądu.
Są obecne w gałęziach deweloperskich lub funkcyjnych, które mogą być automatycznie synchronizowane przez menedżera pakietów.
Zrotuj wszystkie ujawnione poświadczenia: Zakładaj, że każde poświadczenie obecne na zagrożonym serwerze cPanel/WHM zostało skradzione. Obejmuje to, ale nie ogranicza się do:
Kluczy dostawców chmury (AWS, GCP, Azure).
Tokenów API (OpenAI, Google, Stripe).
Kluczy SSH i haseł do baz danych.
Tokenów do zarządzania kodem źródłowym (GitHub, GitLab).
Sprawdź znane wskaźniki naruszenia (IOC): Przeszukaj logi w poszukiwaniu połączeń sieciowych z adresem IP C2 atakujących (43[.]228[.]157[.]68) i znaną domeną zwrotną DNSHook .
Wzmocnij repozytoria i zarządzanie pakietami:
Włącz zasady ochrony gałęzi na wszystkich gałęziach deweloperskich.
Wymagaj podpisanych commitów.
Unikaj automatycznej synchronizacji rejestrów pakietów (takich jak Packagist) bezpośrednio z gałęzi repozytorium bez etapu przeglądu .
Przejrzyj wersje deweloperskie Packagist: Podczas audytu zależności, szczególnie sprawdź wersje deweloperskie (dev-master, dev-main) pod kątem nieoczekiwanych plików .github/workflows/, ponieważ sam kod PHP może być czysty, podczas gdy atak żyje wyłącznie w konfiguracji CI/CD .