Packj: un conjunto de herramientas para identificar bibliotecas maliciosas en Python y JavaScript

Los desarrolladores de la plataforma Packj, que analiza la seguridad de las bibliotecas, han publicado un conjunto de herramientas de línea de comandos abierto que les permite identificar estructuras de riesgo en paquetes que pueden estar asociadas con la implementación de actividades maliciosas o la presencia de vulnerabilidades utilizadas para realizar ataques. en proyectos que utilizan los paquetes en cuestión (“cadena de suministro”). La verificación de paquetes es compatible con los lenguajes Python y JavaScript, alojados en los directorios PyPi y NPM (también planean agregar soporte para Ruby y RubyGems este mes). El código del kit de herramientas está escrito en Python y distribuido bajo la licencia AGPLv3.

Durante el análisis de 330 mil paquetes utilizando las herramientas propuestas en el repositorio PyPi, se identificaron 42 paquetes maliciosos con puertas traseras y 2.4 mil paquetes riesgosos. Durante la inspección, se realiza un análisis de código estático para identificar las características de la API y evaluar la presencia de vulnerabilidades conocidas observadas en la base de datos OSV. El paquete MalOSS se utiliza para analizar la API. El código del paquete se analiza para detectar la presencia de patrones típicos comúnmente utilizados en malware. Las plantillas se prepararon a partir de un estudio de 651 paquetes con actividad maliciosa confirmada.

También identifica atributos y metadatos que conducen a un mayor riesgo de uso indebido, como la ejecución de bloques a través de "eval" o "exec", la generación de código nuevo en tiempo de ejecución, el uso de técnicas de código ofuscado, la manipulación de variables de entorno, el acceso a archivos no deseados, acceder a recursos de red en scripts de instalación (setup.py), usar tipos quatting (asignar nombres similares a los nombres de bibliotecas populares), identificar proyectos obsoletos y abandonados, especificar correos electrónicos y sitios web inexistentes, falta de un repositorio público con código.

Además, podemos notar la identificación por parte de otros investigadores de seguridad de cinco paquetes maliciosos en el repositorio de PyPi, que enviaban el contenido de las variables de entorno a un servidor externo con la expectativa de robar tokens para AWS y sistemas de integración continua: loglib-modules (presentado como módulos para la biblioteca loglib legítima), pyg-modules, pygrata y pygrata-utils (promocionados como adiciones a la biblioteca pyg legítima) y hkg-sol-utils.

Packj: un conjunto de herramientas para identificar bibliotecas maliciosas en Python y JavaScript


Fuente: opennet.ru

Añadir un comentario