En el catálogo de paquetes de Python PyPI (Python Package Index) se encontraron paquetes maliciosos "» y «", que fueron subidos por un autor llamado olgired2017 y se hacían pasar por paquetes populares "» y «" (se diferencia por el uso del símbolo «I» (i) en lugar de «l» (L) en el nombre). Tras la instalación de dichos paquetes, las claves de cifrado encontradas en el sistema y los datos confidenciales de los usuarios eran enviadas al servidor del atacante. Actualmente, los paquetes problemáticos ya han sido eliminados del catálogo de PyPI.
El código malicioso estaba presente en el paquete "jeIlyfish", mientras que el paquete "python3-dateutil" lo utilizó como dependencia.
Los nombres fueron elegidos con base en la distracción de los usuarios, que cometen errores tipográficos al buscar (). El paquete malicioso "jeIlyfish" fue subido hace aproximadamente un año, el 11 de diciembre de 2018, y permaneció sin ser detectado. El paquete "python3-dateutil" fue subido el 29 de noviembre de 2019 y, pocos días después, generó sospechas en uno de los desarrolladores. No se proporciona información sobre el número de instalaciones de los paquetes maliciosos.
El paquete jellyfish incluía código que descargaba una lista de "hashes" de un repositorio externo en GitLab. El análisis de la lógica de trabajo con estos "hashes" mostró que contenían un script codificado con la función base64 y se ejecutaba tras su decodificación. El script buscaba en el sistema claves SSH y GPG, así como ciertos tipos de archivos del directorio de inicio y credenciales para proyectos de PyCharm, y luego los enviaba a un servidor externo, alojado en la infraestructura en la nube de DigitalOcean.
Fuente: opennet.ru
