Packj — narzędzie do identyfikacji złośliwych bibliotek w językach Python i JavaScript

Deweloperzy platformy Packj, analizującej bezpieczeństwo bibliotek, opublikowali otwarte narzędzie wiersza poleceń, które umożliwia wykrywanie ryzykownych konstrukcji w pakietach, mogących być związanymi z realizacją złośliwych aktywności lub posiadaniem luk, wykorzystywanych do ataków na projekty korzystające z tych pakietów ("łańcuch dostaw"). Wsparcie oferowane jest dla pakietów w językach Python i JavaScript, umieszczonych w katalogach PyPi i NPM (w tym miesiącu planowane jest również dodanie wsparcia dla Ruby i RubyGems). Kod narzędzia został napisany w języku Python i jest publikowany na licencji AGPLv3.

W trakcie analizy 330 tysięcy pakietów za pomocą opisanego narzędzia w repozytorium PyPi zidentyfikowano 42 złośliwe pakiety z backdoorami oraz 2,4 tysiąca ryzykownych pakietów. W procesie badania przeprowadzany jest statyczny analizator kodu w celu wykrycia cech API oraz oceniane jest występowanie znanych luk, oznaczonych w bazie danych OSV. Do analizy API wykorzystywany jest pakiet MalOSS. Kod pakietów analizowany jest pod kątem obecności typowych wzorców, które są zazwyczaj stosowane w złośliwym oprogramowaniu. Wzorce te zostały opracowane na podstawie badania 651 pakietów z potwierdzoną złośliwą aktywnością.

Identyfikowane są również atrybuty i metadane, które prowadzą do zwiększenia ryzyka niezamierzonego użycia, takie jak wykonywanie bloków przez "eval" lub "exec", generowanie nowego kodu w czasie działania, stosowanie technik zaciemniania i ukrywania kodu (obfuscated), manipulacje z zmiennymi środowiskowymi, niezamierzony dostęp do plików, odwołania do zasobów sieciowych w skryptach instalacyjnych (setup.py), wykorzystanie type spoofing (nadawanie nazw podobnych do tytułów popularnych bibliotek), wykrywanie przestarzałych i porzuconych projektów, wskazywanie nieistniejących e-maili i stron, brak publicznego repozytorium z kodem.

Dodatkowo można zauważyć identyfikację przez innych badaczy bezpieczeństwa pięciu złośliwych pakietów w repozytorium PyPi, które wysyłały na zewnątrz serwer zawartość zmiennych środowiskowych w celu kradzieży tokenów do AWS i systemów ciągłej integracji: loglib-modules (prezentowana jako moduły do legitnej biblioteki loglib), pyg-modules, pygrata oraz pygrata-utils (prezentowane jako dodatki do legitnej biblioteki pyg) oraz hkg-sol-utils.

Packj - narzędzie do wykrywania złośliwych bibliotek w językach Python i JavaScript


Źródło: opennet.ru
Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster