Una versión maliciosa del paquete PyTorch Lightning publicada en el Python Package Index (PyPI) instala un payload que roba credenciales, apuntando a navegadores, archivos de entorno y servicios en la nube. El desarrollador reveló el ataque a la cadena de suministro el 30 de abril, indicando que la versión 2.6.3 del paquete incluía una cadena de ejecución oculta que descarga y ejecuta un payload JavaScript.
PyTorch Lightning es un marco de aprendizaje profundo utilizado para preentrenar y ajustar modelos de IA. Es un paquete popular, con más de 11 millones de descargas el mes pasado. El aviso de seguridad del mantenedor señala que la cadena de ejecución maliciosa se activa automáticamente al importar el paquete y ejecuta silenciosamente un proceso en segundo plano.
Ese proceso descarga un runtime JavaScript ('Bun v1.3.13') desde GitHub y ejecuta un payload JavaScript de 11.4 MB fuertemente ofuscado llamado 'router_runtime.js'. En un comunicado durante el fin de semana, Microsoft Threat Intelligence dice que Defender detectó y previno la rutina maliciosa en entornos de clientes, y notificó al mantenedor del paquete.
El payload, detectado por Defender como 'ShaiWorm', es un malware de robo de información que apunta a archivos .env, claves API, secretos, tokens de GitHub y datos almacenados en los navegadores Chrome, Firefox y Brave. También interactúa con las API de servicios en la nube (AWS, Azure, GCP) para robar credenciales y admite la ejecución arbitraria de comandos del sistema.
"lightning==2.6.3 (publicado en PyPI como wheel py3-none-any) contiene una cadena de ejecución oculta que descarga silenciosamente un runtime JavaScript (Bun) y ejecuta un payload JavaScript de 11.4 MB fuertemente ofuscado al importar lightning", dice Lightning AI en el aviso de seguridad.
Según la telemetría de Microsoft, la actividad maliciosa afectó a 'un pequeño número de dispositivos' y parece haberse 'contenido en un conjunto reducido de entornos'. Lightning AI advierte que los usuarios que ejecutaron 'import lightning' con la versión 2.6.3 pueden haber visto comprometidos sus secretos, claves y tokens. En este caso, se recomienda encarecidamente una rotación inmediata de todos los secretos.
Actualmente, PyTorch Lightning se ha revertido a la versión 2.6.1 en PyPI, que es segura de usar. Por el momento, no está claro cómo ocurrió exactamente el compromiso de la cadena de suministro, y los editores del paquete están investigando cómo se vulneró el pipeline de compilación/publicación. Además, se auditarán todas las demás versiones recientes en busca de payloads similares, y se notificará a los usuarios a través de todos los canales disponibles.