Udviklerne af platformen Packj, der analyserer sikkerheden i biblioteker, har offentliggjort et åbent kommandolinjeværktøj, der gør det muligt at identificere risikable konstruktioner i pakker, som kan være forbundet med implementeringen af skadelig aktivitet eller tilstedeværelsen af sårbarheder, der anvendes til at udføre angreb på projekter, der bruger de pågældende pakker ("supply chain"). Værktøjet understøtter kontrol af pakker på Python- og JavaScript-sprog, der er placeret i kataloger som PyPi og NPM (i denne måned planlægges det også at tilføje støtte til Ruby og RubyGems). Koden til værktøjet er skrevet i Python og distribueres under AGPLv3-licensen.
Under analysen af 330.000 pakker ved hjælp af det nævnte værktøj i PyPi-depotet blev der identificeret 42 skadelige pakker med bagdøre og 2.400 risikable pakker. Under undersøgelsen udføres der en statisk kodeanalyse for at identificere API-funktioner og vurdere forekomsten af kendte sårbarheder, der er registreret i OSV-databasen. MalOSS-pakken anvendes til API-analyse. Koden i pakkerne analyseres for tilstedeværelsen af typiske mønstre, der almindeligvis anvendes i skadelig software. Mønstrene er baseret på en undersøgelse af 651 pakker med bekræftet skadelig aktivitet.
Der identificeres også attributter og metadata, der øger risikoen for utilsigtet brug, såsom udførelse af blokke gennem "eval" eller "exec", dannelse af ny kode under kørsel, brug af teknikker til obfuskering og skjulning af kode, manipulation af miljøvariabler, utilsigtet adgang til filer, adgang til netværksressourcer i installationsscripts (setup.py), brug af type-squatting (tildele navne, der ligner navne på populære biblioteker), identificering af forældede og forladte projekter, angivelse af ikke-eksisterende e-mail og websteder samt mangel på et offentligt repository med koden.
Derudover kan det bemærkes, at andre sikkerhedsundersøgere har identificeret fem skadelige pakker i PyPi-depotet, som sendte indholdet af miljøvariabler med henblik på at stjæle tokens til AWS og systemer til kontinuerlig integration: loglib-modules (præsenteret som moduler til det legitime bibliotek loglib), pyg-modules, pygrata og pygrata-utils (præsenteret som tilføjelser til det legitime bibliotek pyg) samt hkg-sol-utils. server indhold af miljøvariabler med henblik på at stjæle tokens til AWS og systemer til kontinuerlig integration: loglib-modules (præsenteret som moduler til det legitime bibliotek loglib), pyg-modules, pygrata og pygrata-utils (præsenteret som udvidelser til det legitime bibliotek pyg) samt hkg-sol-utils.

Kilde: opennet.ru
