Według niedawnego raportu Tygodnia Bezpieczeństwa pięć tysięcy pięćset sześćdziesiąt jeden repozytoriów — tyle projektów w GitHub zostało zainfekowanych. Winowajcą był Megalodon.
To nie jest ryba. Jest to atak na łańcuch dostaw, który miał miejsce 18 maja. Badacze SafeDep ustalili wszystkie szczegóły. Napastnicy nie próbowali działać po cichu. Używali jednorazowych kont o fałszywych nazwach, takich jak „build-bot” lub „pipeline-bot”. Godne zaufania nazwy niezaufanych działań.
W ciągu sześciu godzin zautomatyzowana kampania wysłała 571 złośliwych zatwierdzeń. Wiele zmian, gdy nikt nie patrzy.
Cel? Kradzież tajemnic.
Sekrety CI. Poświadczenia w chmurze. Klucze SSH. tokeny OIDC. Kod źródłowy. Szkodnik wstrzykiwał skrypty bash zakodowane w formacie Base64 bezpośrednio do przepływów pracy GitHub Actions. Za każdym razem, gdy potok był uruchamiany, przesyłał dane użytkownika do serwera dowodzenia i kontroli pod adresem 216.126.125.12.1:8443.
StepSecurity ustaliło, co to jest.
„Megalodon to klasyczny atak bezpośredni Poison Pipeline Execution (d-PPE). Jest to rodzaj luki w zabezpieczeniach CI/CD, w przypadku której osoba z uprawnieniami do zapisu wstawia złośliwy kod bezpośrednio do plików procesów roboczych. System CI wykonuje następnie te polecenia jak posłuszny pracownik.
Czy naprawdę wszystko musiało wydarzyć się tak szybko? Prawdopodobnie tak. Zautomatyzowane kampanie nie czekają. Są po prostu wykonywane.
SafeDep ostrzega wszystkie osoby, których to dotyczy, aby natychmiast wycofały swoje repozytoria. Sprawdź każdy plik przepływu pracy. Studiuj historię. Poszukaj autorów botów o fałszywych nazwiskach. Dla niektórych może być już za późno.
20 maja GitHub opublikował wiadomość o włamaniu na urządzenie pracownika. Ta historia ma tytuł. Atak megalodona – nie. Przynajmniej jeszcze nie z GitHuba.
Milczenie nie zawsze jest przeprosinami. Czasami jest to po prostu hałas. Możesz sprawdzić swoje zależności przed wypchnięciem kolejnego zatwierdzenia.
