Packj - et verktøysett for å identifisere ondsinnede biblioteker i Python og JavaScript

Utviklerne av Packj-plattformen, som analyserer sikkerheten til biblioteker, har publisert et åpent kommandolinjeverktøysett som lar dem identifisere risikofylte strukturer i pakker som kan være assosiert med implementering av ondsinnet aktivitet eller tilstedeværelsen av sårbarheter som brukes til å utføre angrep på prosjekter som bruker de aktuelle pakkene ("forsyningskjeden"). Pakkesjekking støttes i Python- og JavaScript-språkene, vert i PyPi- og NPM-katalogene (de planlegger også å legge til støtte for Ruby og RubyGems denne måneden). Verktøysettkoden er skrevet i Python og distribuert under AGPLv3-lisensen.

Under analysen av 330 tusen pakker ved bruk av de foreslåtte verktøyene i PyPi-depotet, ble 42 ondsinnede pakker med bakdører og 2.4 tusen risikable pakker identifisert. Under inspeksjonen utføres en statisk kodeanalyse for å identifisere API-funksjoner og evaluere tilstedeværelsen av kjente sårbarheter notert i OSV-databasen. MalOSS-pakken brukes til å analysere API. Pakkekoden analyseres for tilstedeværelsen av typiske mønstre som vanligvis brukes i skadelig programvare. Malene ble utarbeidet basert på en studie av 651 pakker med bekreftet ondsinnet aktivitet.

Den identifiserer også attributter og metadata som fører til økt risiko for misbruk, for eksempel å utføre blokker via "eval" eller "exec", generere ny kode mens du kjører, bruke tilslørte kodeteknikker, manipulere miljøvariabler og ikke-måltilgang. filer, tilgang til nettverksressurser i installasjonsskript (setup.py), bruk av typequatting (tildeling av navn som ligner på navn på populære biblioteker), identifisere utdaterte og forlatte prosjekter, spesifisere ikke-eksisterende e-poster og nettsteder, mangel på et offentlig depot med kode.

I tillegg kan vi legge merke til identifiseringen av andre sikkerhetsforskere av fem ondsinnede pakker i PyPi-depotet, som sendte innholdet av miljøvariabler til en ekstern server med forventning om å stjele tokens for AWS og kontinuerlige integrasjonssystemer: loglib-moduler (presentert som moduler for det legitime loglib-biblioteket), pyg-modules , pygrata og pygrata-utils (utpekt som tillegg til det legitime pyg-biblioteket) og hkg-sol-utils.

Packj - et verktøysett for å identifisere ondsinnede biblioteker i Python og JavaScript


Kilde: opennet.ru

Legg til en kommentar