Graphalgo: la campaña que usa ofertas de trabajo y paquetes maliciosos en npm y PyPI para robar cripto

Publicada 5 min de lectura 346 lecturas

Investigadores en ciberseguridad han levantado la alarma por una campaña coordinada que está usando los repositorios públicos de paquetes —npm y PyPI— como vector para comprometer a desarrolladores y candidatos a empleos en el sector cripto. El operativo, rastreado bajo el nombre de código graphalgo, emplea una táctica que combina ingeniería social y envenenamiento de la cadena de suministro: se crean ofertas de trabajo, perfiles y repositorios de evaluación técnica aparentemente legítimos para que quien aplique termine ejecutando proyectos que dependen de paquetes maliciosos alojados en los registries públicos.

Según el análisis publicado por ReversingLabs, la campaña arrancó alrededor de mayo de 2025 y está vinculada a un actor con lazos con Corea del Norte conocido como Lazarus Group. Los atacantes montan toda la coreografía necesaria para parecer creíbles: crean empresas ficticias centradas en blockchain y trading de criptomonedas, registran dominios, gestionan organizaciones en GitHub y publican supuestos ejercicios técnicos. En muchos casos contactan a los candidatos por LinkedIn o por grupos de Facebook y Reddit para atraerlos a participar en los procesos de selección. Puedes leer el reporte de ReversingLabs aquí: ReversingLabs — Fake recruiter campaign.

Graphalgo: la campaña que usa ofertas de trabajo y paquetes maliciosos en npm y PyPI para robar cripto
Imagen generada con IA.

El truco está en el punto en que el candidato clona y ejecuta el repositorio de evaluación: esos proyectos no contienen código malicioso evidente, pero dependen de paquetes publicados en npm o PyPI que sí lo son. Cuando el desarrollador instala dependencias, acaba trayendo consigo un Remote Access Trojan (RAT) que se registra con un servidor de mando y control (C2). El malware implementado permite recolectar información del sistema, enumerar archivos, gestionar procesos, mover y exfiltrar ficheros, e incluso comprobar la presencia de extensiones de billeteras como MetaMask —una pista de que el objetivo final incluye la sustracción de activos y credenciales relacionadas con criptomonedas.

Un aspecto técnico llamativo de este RAT es su mecanismo de comunicación con el C2: primero envía datos del sistema como parte de un paso de registro y recibe a cambio un token. Ese token protege las solicitudes posteriores, de modo que solo clientes registrados y autorizados puedan intercambiar comandos. ReversingLabs apunta que esta técnica de tokenización no es habitual en paquetes maliciosos subidos a repositorios públicos y coincide con tácticas observadas en campañas previas atribuidas a grupos norcoreanos, como la familia conocida como Jade Sleet / UNC4899.

No es un fenómeno aislado dentro del ecosistema npm. JFrog describió otra amenaza sofisticada en un paquete llamado "duer-js" que contenía un info-stealer conocido como Bada Stealer. Este malware es capaz de extraer tokens de Discord, credenciales, cookies y datos de autocompletado de navegadores basados en Chromium, así como información de monederos de criptomonedas, y exfiltra esos datos mediante un webhook de Discord y almacenamiento en servicios de terceros. Además, la carga secundaria de ese paquete se injerta para persistir en el inicio de la aplicación desktop de Discord, aprovechando el entorno Electron, según el análisis de JFrog: JFrog Research — duer-js.

En paralelo, se detectó una campaña distinta que abusa del propio flujo de instalación para extorsionar: bautizada XPACK ATTACK por OpenSourceMalware, esta técnica bloquea la instalación haciendo creer al desarrollador que ha llegado a una pasarela de pago legítima, usando el código de estado HTTP 402 ("Payment Required") como subterfugio. La instalación se interrumpe hasta que la víctima paga una pequeña suma en criptomoneda; si no paga, el proceso simplemente falla después de consumir minutos valiosos del desarrollador, todo ello mientras el atacante recoge huellas del dispositivo y nombres de usuario de GitHub. Más información técnica sobre esa campaña está disponible en el informe de OpenSourceMalware y en la explicación del código 402 en MDN: OpenSourceMalware — XPACK ATTACK y MDN — HTTP 402.

Graphalgo: la campaña que usa ofertas de trabajo y paquetes maliciosos en npm y PyPI para robar cripto
Imagen generada con IA.

Estos incidentes son un recordatorio de que la seguridad en el desarrollo ya no se limita al código propio: las dependencias de terceros y los workflows de contratación pueden ser vectores directos para intrusiones complejas y dirigidas. Cuando el objetivo son profesionales del ecosistema cripto, el interés del atacante suele ir más allá del espionaje técnico y se orienta también al lucro directo mediante el robo de credenciales y fondos. Los investigadores subrayan la modularidad y la paciencia de estos actores: construyen confianza durante semanas o meses, usan múltiples frentes y cifran sus componentes para dificultar el análisis.

¿Qué pueden hacer desarrolladores y responsables de seguridad? Conviene mantener una actitud crítica ante repositorios y paquetes recién publicados, especialmente cuando aparecen en el contexto de pruebas técnicas o procesos de selección. Herramientas de análisis de dependencias, firmas de paquetes, bloqueo de versiones en archivos de lock, ejecución en entornos aislados (máquinas virtuales, contenedores o sandboxes) y la revisión de mantenedores son prácticas que reducen el riesgo de ejecutar código malicioso. También es útil integrar escaneo automático de artefactos en la cadena CI/CD y entender las capacidades de seguridad que ofrecen los propios registries; PyPI y npm disponen de documentación y mecanismos de seguridad que conviene conocer: PyPI — Security y npm — Docs. GitHub, por su parte, ha desarrollado guías y herramientas para proteger la cadena de suministro de software: GitHub — Supply Chain Security.

La lección más amplia es institucional: la comunidad de código abierto y las plataformas de paquetes deben continuar mejorando los controles para detectar y bloquear actores que intentan abusar del ecosistema. A la vez, empresas y reclutadores legítimos necesitan adoptar prácticas que permitan verificar identidades y procesos de selección para que candidatos y desarrolladores no terminen ejecutando artefactos en entornos de producción desde sus máquinas personales. Mientras tanto, la prudencia y la separación estricta entre entornos de trabajo y entornos de prueba seguirán siendo la primera línea de defensa contra campañas que combinan ingeniería social con malware cada vez más sofisticado.

Cobertura

Relacionadas

Mas noticias del mismo tema.