Firma Elementary Data poinformowała o kompromitacji procesów GitHub Actions, w wyniku której hakerzy opublikowali w katalogu PyPI oraz w repozytorium GitHub wydanie pakietu elementary-data 0.23.3, w którym wprowadzono złośliwy kod do kradzieży poufnych informacji z systemów użytkowników. Złośliwe wydanie zostało również uwzględnione w oficjalnym obrazie Docker projektu. W zeszłym miesiącu pakiet elementary-data został pobrany z repozytorium PyPI ponad 1,1 mln razy.
Złośliwe wydanie zostało opublikowane 25 kwietnia o 1:20 (MSK) i pozostawało dostępne do pobrania przez ponad 11 godzin (do 12:45). Atak został przeprowadzony poprzez wysłanie pull requestu z specjalnie sformułowanym komentarzem, wykorzystującym lukę w automatycznie wywoływanym handlerze GitHub Action. Napastnikom udało się uruchomić polecenia shell w środowisku ciągłej integracji i wyodrębnić z niego zawartość zmiennej środowiskowej GITHUB_TOKEN z tokenem dostępu do repozytorium. Token ten został użyty do stworzenia kilku gałęzi w git i przygotowania wydania.
Do opublikowanego przez atakujących wydania włączono złośliwy kod, zakodowany w formacie base64 i aktywowany podczas instalacji pakietu. Złośliwy kod skanował system i wysyłał poufne dane, takie jak klucze SSH i SSL/TLS, zawartość zmiennych środowiskowych, dane dostępowe do AWS, GCP, Azure oraz K8s, klucze do portfeli kryptograficznych, hasła do baz danych, historię operacji w interpreterze poleceń, pliki konfiguracyjne Git, CI/CD, menedżerów pakietów oraz Docker.
Źródło: opennet.ru
