Ciberespionaje encubierto mediante código abierto: la campaña de Lazarus
Ciberespionaje encubierto mediante código abierto: la campaña de Lazarus

Ciberespionaje encubierto mediante código abierto: la campaña de Lazarus

Un informe reciente revela una campaña de ciberespionaje encubierta llevada a cabo por el Grupo Lazarus, vinculado a Corea del Norte. Esta operación se desarrolló durante 2025 y está dirigida a desarrolladores mediante paquetes de código abierto «envenenados». El objetivo principal es extraer información confidencial de los procesos de CI/CD y entornos de desarrollo.

Detalles de la campaña

Solo desde enero de 2025, los sistemas automatizados de detección de malware de Sonatype descubrieron y bloquearon 234 paquetes únicos de malware atribuibles al Grupo Lazarus. El informe destaca que el código abierto ya no es solo un facilitador de la innovación, sino también un vector instrumental para el espionaje estatal.

Esta campaña continúa una tendencia preocupante: los adversarios se están integrando cada vez más en el ciclo de vida del desarrollo de software (SDLC), aprovechando la confianza de los desarrolladores y las normas de código abierto para distribuir cargas maliciosas a gran escala.

Debilidades sistémicas

  • Los desarrolladores suelen instalar paquetes sin verificación ni aislamiento de procesos.
  • Los sistemas CI/CD propagan dependencias maliciosas automáticamente.
  • Muchos proyectos populares de código abierto son mantenidos por una o dos personas, lo que facilita su suplantación o vulneración.
  • Los entornos de desarrollo contienen credenciales y tokens confidenciales.
  • El código malicioso puede persistir sin ser detectado durante largos periodos.
  • El ecosistema de código abierto se ha convertido en un mecanismo eficaz para el espionaje y el robo de credenciales.

Tácticas empleadas por Lazarus

El Grupo Lazarus, ya conocido por el hackeo de Sony, el robo al Banco de Bangladesh, el ransomware WannaCry y el robo de miles de millones de dólares en criptomonedas, ahora ha centrado su atención en aprovechar la confianza que los desarrolladores depositan en las herramientas de NPM y PyPI.

Los hallazgos destacan tácticas como el robo de marca y el aprovechamiento de errores tipográficos. Estas técnicas disfrazan paquetes maliciosos para que parezcan dependencias legítimas:

  • npm:winston-compose: suplantación de la popular biblioteca de registro Winston.
  • npm:nodemailer-helper: imitación de Nodemailer, una biblioteca SMTP.
  • pypi:pycryptoconf: suplantación del confiable paquete pycrypto.

Estas tácticas aprovechan errores tipográficos, confusión visual o nombres «similares», que siguen siendo muy eficaces contra desarrolladores desprevenidos y procesos de compilación automatizados.

Estructura del malware

El malware opera en tres etapas:

  • Dropper inicial: Un paquete aparentemente inocuo obtiene la siguiente etapa de un servidor de comando y control (C2).
  • Cargador ofuscado: Un script altamente codificado ejecuta comprobaciones del sistema para detectar entornos sandbox.
  • Ejecución de la carga útil: Se libera un conjunto de malware modular, que incluye:
    • Ladrón de portapapeles y shell remoto
    • Ladrón de credenciales (BeaverTail en JS) (dirigido a navegadores y monederos de criptomonedas)
    • Ladrón de archivos (que busca secretos, mnemónicos, tokens de API)
    • Registrador de teclas de Windows y herramienta de captura de pantalla

El Grupo Lazarus no implementa un único archivo malicioso monolítico; en su lugar, el cargador genera múltiples cargas útiles independientes como procesos Node.js separados.

Objetivo de la campaña

A diferencia del malware oportunista diseñado para minar criptomonedas, Lazarus se centra exclusivamente en la exfiltración de secretos. No hubo indicios de comportamiento relacionado con la criptominería. Están aprovechando el código abierto para recopilar datos confidenciales de forma silenciosa y allanar el camino para el acceso a largo plazo a información financiera lucrativa y operaciones de espionaje.

Estos secretos (variables de entorno, tokens de API, claves SSH) sirven como llaves maestras para acceder al código fuente interno, plataformas en la nube y redes empresariales.

Ejemplo ilustrativo

Un ejemplo ilustrativo es vite-postcss-helper, un paquete NPM que:

  • Contacta con un servidor C2 durante la instalación
  • Implementa un cargador que busca máquinas virtuales
  • Genera múltiples cargas útiles para exfiltración y vigilancia
  • Un ladrón de portapapeles… un recolector de credenciales llamado BeaverTail… un cazador de archivos… y un keylogger con función de captura de pantalla.

Defensa recomendada

Sonatype enfatiza una defensa multicapa:

  • Cortafuegos de repositorio: bloquear el malware antes de que llegue al sistema de compilación.
  • Auditorías de dependencia: escanear regularmente con SBOM (Lista de materiales de software).
  • Gobernanza: evitar paquetes con procedencia incierta.
  • Repositorios centralizados: solo permite paquetes verificados internamente.

Lazarus no está minando criptomonedas. Está minando la confianza.