Przejdź do treści
Cyberataki

Atak na łańcuch dostaw w ekosystemie Laravel. Jak fałszowanie tagów GitHub grozi kradzieżą poświadczeń

Atakujący przejęli kontrolę nad pakietami Laravel Lang i podmienili znaczniki w GitHub, by rozsyłać złośliwy kod. Deweloperzy, którzy pobrali zainfekowane wersje, mogli stracić dostęp do chmury, repozytoriów i portfeli kryptowalut.

3 min read
An abstract visual metaphor: a tangled web of colorful code lines and version tags, with a single red tag detaching and pulling a dark, faceless figure toward a cloud server that leaks glowing credentials shaped like keys and tokens. No text, no screens.

W połowie maja 2026 roku doszło do poważnego incydentu w łańcuchu dostaw open source. Atakujący przejęli kontrolę nad pakietami lokalizacyjnymi Laravel Lang – popularnymi rozszerzeniami dla frameworka PHP – i wykorzystali mechanizm tagów w GitHub, by rozsyłać złośliwy kod. Zagrożone są setki wersji pakietów, a malware wykrada poświadczenia do chmury, repozytoriów, menedżerów haseł i portfeli kryptowalut. Artykuł wyjaśnia, jak doszło do ataku i co powinni zrobić deweloperzy oraz administratorzy.

Czym jest atak i jak działał?

Badacze z firm StepSecurity, Aikido Security i Socket ostrzegli w piątek 23 maja o kompromitacji pakietów laravel-lang/lang, laravel-lang/http-statuses, laravel-lang/attributes i prawdopodobnie laravel-lang/actions. Zamiast publikować nowe, złośliwe wersje, atakujący nadpisali istniejące tagi w repozytoriach, tak by wskazywały na commit w kontrolowanym przez nich forku. Jak wyjaśnia StepSecurity: „Atakujący przepisał każdy istniejący tag gita w każdym repozytorium, by wskazywał na nowy złośliwy commit”. Operacja rozpoczęła się 22:32 UTC przeciwko głównemu pakietowi (502 tagi) i zakończyła około północy. Wszystkie cztery repozytoria łączy ta sama fałszywa tożsamość autora i ten sam kod złośliwy.

Jakie dane wykradał malware?

Gdy deweloper instalował pakiet przez Composera, pobierał pozornie legalną wersję, ale wraz z nią ładowany był plik src/helpers.php. Ten plik działał jako dropper – ściągał z serwera atakującego (flipboxstudio[.]info) właściwy ładunek. Był to wieloplatformowy kradzież poświadczeń dla systemów Linux, macOS i Windows. Malware zbierał m.in.:

  • poświadczenia do chmury (AWS, GCP),
  • tokeny GitHub, Slack, Stripe,
  • sekrety Kubernetes, Vault, CI/CD,
  • klucze SSH, dane z menedżerów haseł,
  • dane przeglądarek (Chrome, Brave, Edge) wraz z kluczami szyfrowania App-Bound,
  • portfele kryptowalut i frazy odzyskiwania,
  • lokalne pliki konfiguracyjne .env.

W systemie Windows dodatkowo uruchamiany był plik wykonywalny DebugElevator, który wyciągał dane z przeglądarek. Po zebraniu informacje były szyfrowane i wysyłane do C2. Ślady w kodzie (PDB zawierające 'claude’ i nazwę użytkownika 'Mero’) sugerują użycie AI przy tworzeniu tego elementu.

Skala i reakcja

Aikido podaje, że skompromitowano 233 wersje w trzech repozytoriach, natomiast Socket mówi o około 700 historycznych wersjach. Atakujący użył jednego skompromitowanego poświadczenia z uprawnieniami do zapisu w całej organizacji. Po zgłoszeniu przez badaczy, Packagist szybko usunął złośliwe wersje i czasowo wycofał dotknięte pakiety. Deweloperzy, którzy korzystają z Laravel Lang, powinni:

  • sprawdzić zainstalowane wersje pakietów i porównać ich sumy kontrolne,
  • rotować wszystkie poświadczenia do chmury, repozytoriów, CI/CD i menedżerów haseł,
  • przeskanować systemy pod kątem połączeń wychodzących do flipboxstudio[.]info,
  • w razie wątpliwości uruchomić procedurę reagowania na incydenty.

Warto podkreślić, że pakiety Laravel Lang są rozszerzeniami firm trzecich, a nie częścią oficjalnego projektu Laravel. Atak na łańcuch dostaw, w którym podmienia się znaczniki w GitHub, jest szczególnie podstępny: użytkownik widzi poprawny numer wersji, a pobiera szkodliwy kod.

Co dalej?

Incydent pokazuje, że nawet pakiety o długiej historii i dużej liczbie pobrań mogą stać się celem. Dla zespołów developerskich kluczowe jest wdrożenie mechanizmów weryfikacji integralności zależności, na przykład przez pinowanie konkretnych commitów lub używanie podpisanych wydań. Atak na Laravel Lang to kolejne ostrzeżenie, że w ekosystemie open source zaufanie do tagów i wersji nie może być ślepe. W najbliższych tygodniach możemy spodziewać się dalszych doniesień o podobnych technikach wymierzonych w inne popularne pakiety.

Redakcja sekuret.pl

Redakcja sekuret.pl

AUTHOR