Grupo vinculado a Corea del Norte identifica 108 paquetes y extensiones maliciosos en la operación PolinRider

Los investigadores afirman que un grupo de amenazas vinculado a Corea del Norte y relacionado con la campaña Contagious Interview, activa desde hace años, ha distribuido 108 paquetes y extensiones de...

Los investigadores afirman que un grupo de amenazas vinculado a Corea del Norte y relacionado con la campaña Contagious Interview, activa desde hace años, ha distribuido 108 paquetes y extensiones de navegador maliciosos distintos en varios ecosistemas de software, incluidos npm, Packagist, Go y la Tienda web de Google Chrome. La actividad, rastreada como PolinRider, continúa activa y probablemente seguirá a medida que los atacantes obtengan acceso a cuentas de mantenedores y canales legítimos de publicación.

Según Karlo Zanki, investigador de Socket, los 162 artefactos de lanzamiento maliciosos corresponden a 108 paquetes y extensiones únicos. La colección abarca 19 bibliotecas de npm, 10 paquetes de Composer, 61 módulos de Go y una extensión de Chrome. La operación está diseñada para llegar a desarrolladores de software y trabajadores del sector de las criptomonedas mediante la inserción de malware en las herramientas y repositorios en los que más confían.

Cómo funciona la campaña

Contagious Interview está activa desde al menos 2023 y es conocida por hacerse pasar por reclutadores, socios o posibles empleadores en plataformas como LinkedIn, GitHub y mercados de trabajo independiente. Los atacantes suelen utilizar ofertas de empleo convincentes y evaluaciones técnicas para persuadir a las víctimas de ejecutar código malicioso. En la oleada PolinRider, el grupo también ha sido asociado con repositorios públicos de GitHub comprometidos y archivos de tareas maliciosos de VS Code capaces de ejecutar código cuando se abre una carpeta en el editor.

OpenSourceMalware informó anteriormente de que los atacantes no dependían únicamente de credenciales de GitHub robadas. En su lugar, parecen haber obtenido acceso mediante paquetes o extensiones maliciosos y, en algunos casos, podrían haber utilizado procesos de recuperación de cuentas o apropiaciones de dominios expirados para publicar versiones infectadas. Una vez activo, el malware busca archivos de proyecto comunes, como

  • postcss.config.mjs
  • tailwind.config.js
  • eslint.config.mjs
  • next.config.mjs
  • babel.config.js
  • app.js
y luego añade cargas útiles de JavaScript ocultas.

Cargas útiles y recomendaciones para los defensores

Las muestras más recientes actúan como cargadores que se ponen en contacto con servicios relacionados con cadenas de bloques, incluidos TRON, Aptos y BNB Smart Chain, para recuperar una segunda fase cifrada. Informes anteriores vincularon esa cadena con DEV#POPPER RAT y OmniStealer. Los investigadores también observaron intentos de ocultar la actividad reescribiendo el historial de Git, incluidos force pushes y confirmaciones con fechas modificadas, lo que puede hacer que las cronologías de los repositorios parezcan legítimas.

Se recomienda a los equipos de seguridad revisar los registros de actividad de los repositorios, los metadatos de los paquetes, las rutas de ejecución ocultas y los cambios de configuración en archivos como .vscode/tasks.json, config.js, vite.config.js y eslint.config.js. Cualquier persona que haya instalado paquetes afectados debe asumir que el sistema está comprometido, rotar los secretos desde un sistema limpio, eliminar las versiones afectadas y reconstruir el proyecto a partir de fuentes confiables.