Paquetes maliciosos en el repositorio de python PyPI

Se ha descubierto un total de 12 librerías maliciosas en el repositorio de Python PyPI, subidas al repositorio, usando técnicas de ‘Typosquatting’ con del popular framework de desarrollo web Django.

 

PyPI logo, extraído de https://pypi.org/

PyPI (Python Package Index) es el repositorio de librerías de Python por excelencia. El repositorio permite la descarga e instalación de los paquetes necesarios para nuestros proyectos de desarrollo de forma fácil y cómoda.

La forma de instalar los paquetes que tiene PyPI es utilizando sentencia:

python pip install <nombre_de_paquete>

Donde <nombre_de_paquete> será sustituido por el paquete que queramos instalar en nuestro proyecto.

La forma en la que los atacantes alojan código malicioso en este tipo de repositorios no es comprometiendo un paquete legítimo, sino poniendo en los repositorios oficiales paquetes fraudulentos. Para realizar este tipo de ataques se utiliza (descarga) el paquete oficial como base, y partiendo desde aquí, se va añadiendo el código malicioso, y una vez terminado, se sube al repositorio oficial con nombres similares al original. A modo de ejemplo, los paquetes encontrados fueron: ‘Diango’, ‘Djago’, ‘Dajngo’, ‘Djanga’ que fueron creados para suplantar al paquete ‘Django’.

El ataque utilizado es el denominado ‘Typosquatting’ que consiste en la utilización de nombres similares, pero con algún error ortográfico al que se quiere suplantar esperando un error tipográfico por parte de los desarrolladores.

Ejemplo del ataque ‘Typosquatting’

Los paquetes han sido detectados por un investigador con el seudónimo ‘Bertus’, el cual utilizó un sistema de escaneo automatizado que creó él mismo.

Actualmente los paquetes detectados han sido eliminados del repositorio PyPI.

 

Más información:

Encuentran 12 bibliotecas maliciosas en Python PyPI:

http://noticiasseguridad.com/tecnologia/encuentran-12-bibliotecas-maliciosas-en-python-pypi/

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *