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.
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 :
43[.]228[.]157[.]68.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 .
cpsrvd 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 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 :
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ę :
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.
Kampania stanowi trwałe zagrożenie, ponieważ infrastruktura atakujących nie jest całkowicie zneutralizowana. Kampania może być kontynuowana poprzez :
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 .
Na podstawie opublikowanej analizy, organizacje i programiści powinni natychmiast podjąć następujące działania :
push lub workflow_dispatch bez ręcznego przeglądu.43[.]228[.]157[.]68) i znaną domeną zwrotną DNSHook .github/workflows/, ponieważ sam kod PHP może być czysty, podczas gdy atak żyje wyłącznie w konfiguracji CI/CD