Przejdź do treści
Cyberataki

Kampania PolinRider: hakerzy przejmują konta GitHub, by infekować pakiety. Co robić?

Atakujący kompromitują konta maintainerów na GitHubie i publikują złośliwe wersje pakietów w npm, Go, Packagist i Chrome. Deweloperzy i zespoły IT powinni natychmiast sprawdzić swoje zależności.

3 min read
Kampania PolinRider: hakerzy przejmują konta GitHub, by infekować pakiety. Co robić?

Atakujący kompromitują konta maintainerów na GitHubie i publikują złośliwe wersje pakietów w ekosystemach npm, Go, Packagist oraz Chrome. Deweloperzy i zespoły IT powinni natychmiast sprawdzić swoje zależności i zaktualizować procedury bezpieczeństwa.

Jak działa kampania PolinRider?

Jak wynika z analizy opublikowanej przez GBHackers, kampania PolinRider to szeroko zakrojony atak na łańcuch dostaw oprogramowania. Operatorzy – powiązani z północnokoreańską grupą Contagious Interview / Famous Chollima – przejmują konta GitHub maintainerów, a następnie modyfikują legalne repozytoria, wstrzykując ukryte ładunki złośliwego kodu.

W wyniku śledztwa zidentyfikowano 162 złośliwe artefakty w 108 unikalnych pakietach i rozszerzeniach. Obejmują one pakiety npm, moduły Go, pakiety Packagist (PHP) oraz rozszerzenie Chrome. Atakujący wykorzystują różne techniki, by ukryć złośliwy kod przed wzrokiem deweloperów.

Techniki ukrywania i wykonywania kodu

Badacze z Socket opisali dwie główne metody maskowania payloadów. Pierwsza polega na umieszczeniu jednoliniowego ładunku w pliku, który jest „wypychany” poza domyślny obszar widoczny w edytorze – kod staje się widoczny dopiero po przewinięciu w prawo. Druga metwa to kamuflowanie payloadów jako fałszywe pliki czcionek .woff2.

Wykonanie złośliwego kodu często uruchamiane jest automatycznie przez konfigurację VS Code. Atakujący dodają do repozytorium plik .vscode/tasks.json z regułą "runOn": "folderOpen". Oznacza to, że gdy deweloper otworzy projekt w Visual Studio Code, ukryty skrypt JavaScript zostaje wykonany bez żadnego ostrzeżenia.

Przepisywanie historii Git – jak oszukują kontrolę

Kolejnym elementem taktyki PolinRider jest przepisywanie historii Git. Operatorzy wykonują force push i antydatują commity, by złośliwe zmiany wyglądały na starsze i nieszkodliwe. Jak wskazują analitycy, repozytorium na GitHubie może wyglądać na niezmienione, podczas gdy zakładka Activity ujawnia niedawne przepisanie historii.

W przypadku konta Xpos587 badacze zaobserwowali, że wiele niezwiązanych ze sobą repozytoriów zostało zmodyfikowanych w wąskim oknie czasowym 23 czerwca 2026 roku. Po modyfikacjach opublikowano złośliwe wersje modułów Go, co wskazuje na przejęcie konta i dostęp do danych uwierzytelniających do rejestru.

Co atakujący mogą zrobić po infekcji?

Po uruchomieniu skryptu JavaScript ładuje on zaszyfrowany payload drugiego etapu z publicznych usług blockchain (TRON, Aptos, BNB Smart Chain). Kod jest odszyfrowywany przy użyciu wbudowanego klucza XOR i wykonywany przez eval(). Wśród zaobserwowanych następczych ładunków znajdują się DEV#POPPER i OmniStealer – narzędzia do kradzieży poświadczeń, portfeli kryptowalut oraz zdalnego dostępu.

Kampania ma charakter modułowy, co oznacza, że operatorzy mogą w każdej chwili podmienić dostarczane złośliwe oprogramowanie. Każde środowisko deweloperskie, które pobrało zainfekowany pakiet, należy traktować jako potencjalnie skompromitowane.

Jak się bronić? Praktyczne kroki dla zespołów IT

Jeśli Twoja organizacja korzysta z podejrzanych pakietów lub zauważyła nietypową aktywność w repozytoriach, należy podjąć następujące działania:

  • Sprawdź historię Git – przejrzyj zakładkę Activity w repozytoriach, szukając force push i antydatowanych commitów.
  • Zrewiduj konfigurację VS Code – poszukaj plików .vscode/tasks.json z regułą "runOn": "folderOpen".
  • Usuń zainfekowane pakiety – odtwórz środowisko z zaufanych plików lockfile (np. package-lock.json, go.sum).
  • Rotuj wszystkie sekrety – klucze API, tokeny GitHub, hasła SSH i dane uwierzytelniające do chmury muszą zostać zmienione z czystej maszyny.
  • Monitoruj publikacje w rejestrach – porównaj historię publikacji pakietów z aktywnością w repozytorium. Nieoczekiwane wydania to czerwona flaga.

Kampania PolinRider pokazuje, że ataki na łańcuch dostaw wymagają od deweloperów większej czujności. Regularny audyt zależności, ograniczenie uprawnień kont GitHub i stosowanie narzędzi do skanowania pakietów (np. Socket, Snyk) mogą znacząco zmniejszyć ryzyko. Warto śledzić dalsze raporty dotyczące tej kampanii, ponieważ operatorzy prawdopodobnie będą dostosowywać swoje metody.

Redakcja sekuret.pl

Redakcja sekuret.pl

AUTHOR