### Descubiertas variantes de paquetes npm y Go que instalan un infostealer Python multiplataforma
—
#### 1. Introducción
En las últimas semanas, investigadores de ciberseguridad han desvelado una campaña maliciosa que afecta a los ecosistemas npm y Go, dirigida a la distribución de un ladrón de información (infostealer) desarrollado en Python. A diferencia de otros ataques previos, los actores detrás de esta campaña han logrado evadir los controles reforzados introducidos en versiones recientes de npm, incrementando la sofisticación y el alcance del incidente.
—
#### 2. Contexto del Incidente o Vulnerabilidad
El incidente fue reportado por analistas de JFrog, quienes identificaron dos paquetes npm y varios módulos Go adulterados con payloads maliciosos. Estos paquetes, tras ser instalados en sistemas Windows, Linux o macOS, ejecutan un stealer Python que extrae credenciales, información sensible y archivos relevantes del host comprometido. El ataque se caracteriza por sortear los caminos de ejecución habituales de npm, en particular los scripts del ciclo de vida, adaptándose así a las mejoras de seguridad implementadas en npm v12.
—
#### 3. Detalles Técnicos
**Paquetes afectados:**
Los paquetes npm comprometidos, cuyos nombres no han sido divulgados públicamente para prevenir exploits adicionales, estarían presentes en repositorios públicos y podrían haber sido descargados cientos de veces antes de su retirada. En el caso del ecosistema Go, se ha detectado un clúster de paquetes que comparten dependencias modificadas para ejecutar el payload Python al ser importados.
**Vector de ataque:**
El vector principal consiste en la ejecución de código Python embebido tras la instalación del paquete. En vez de utilizar los tradicionales scripts «preinstall», «postinstall» o «install» de npm que suelen estar bajo vigilancia, los atacantes inyectan código malicioso directamente en los módulos, que se ejecuta cuando el desarrollador importa la librería o inicializa ciertos métodos.
**TTP MITRE ATT&CK:**
– **Initial Access:** Supply Chain Compromise (T1195)
– **Execution:** User Execution (T1204)
– **Persistence:** Implantation of malicious code in legitimate packages
– **Defense Evasion:** Obfuscated scripts, avoiding lifecycle scripts
– **Collection:** Input Capture (T1056), Data from Local System (T1005)
– **Exfiltration:** Exfiltration Over Web Service (T1567)
**Indicadores de Compromiso (IoC):**
– Hashes SHA256 de los paquetes maliciosos
– Dominios y direcciones IP utilizados para la exfiltración de datos
– Rutas de archivo y nombres inusuales en el sistema de archivos local
**CVE:**
A la fecha de redacción, no se ha asignado un CVE específico, dado que la vulnerabilidad reside en el abuso de la cadena de suministro y no en un fallo de software concreto.
—
#### 4. Impacto y Riesgos
La presencia de estos paquetes en repositorios públicos implica un riesgo elevado para desarrolladores y empresas que dependen de dependencias de terceros sin realizar un control exhaustivo. El infostealer puede recolectar variables de entorno (incluyendo claves API y tokens de acceso), archivos de configuración, credenciales almacenadas en navegadores y clientes SSH, así como documentos y bases de datos locales.
El impacto potencial abarca desde el robo de secretos corporativos hasta el compromiso de infraestructuras críticas. Según estimaciones preliminares, más de 1.000 descargas se habrían producido antes de la retirada de los paquetes, afectando tanto a proyectos open source como a entornos empresariales.
—
#### 5. Medidas de Mitigación y Recomendaciones
– Auditar todas las dependencias y versiones utilizadas en los proyectos, empleando herramientas como npm audit, Snyk o Trivy.
– Implementar políticas de restricción de ejecución de código desconocido en entornos de desarrollo.
– Monitorizar el tráfico de red para detectar comunicaciones con indicadores de exfiltración asociados.
– Aplicar controles de integridad y verificación de firmas en los paquetes importados.
– Mantener actualizados todos los entornos de desarrollo y herramientas asociadas.
– Revisar y limitar los permisos de acceso a credenciales y archivos sensibles.
—
#### 6. Opinión de Expertos
Expertos de JFrog y otras firmas coinciden en que este ataque representa una evolución significativa en la amenaza de la cadena de suministro. Eludir las rutas de ejecución tradicionales y aprovechar la transversalidad de Python y Go demuestra una comprensión profunda de los mecanismos internos de los ecosistemas de paquetes. Se subraya la urgencia de establecer controles automáticos de validación y la necesidad de colaboración entre comunidades open source, plataformas de distribución y equipos de seguridad corporativos.
—
#### 7. Implicaciones para Empresas y Usuarios
La campaña pone de manifiesto la fragilidad de la cadena de suministro en el desarrollo moderno. Para las organizaciones sujetas a GDPR, NIS2 u otras normativas, la exposición de datos personales o confidenciales puede acarrear sanciones considerables, además de un daño reputacional severo. La tendencia creciente hacia el uso de dependencias externas sin revisión previa incrementa el riesgo de exposición a ataques similares en el futuro.
—
#### 8. Conclusiones
El hallazgo de paquetes npm y Go comprometidos con un infostealer en Python subraya la importancia de la seguridad en la cadena de suministro de software. Las estrategias empleadas por los atacantes para evadir controles y maximizar la compatibilidad obligan a las organizaciones a reforzar sus políticas de selección, auditoría y actualización de dependencias. Solo una vigilancia continua y la adopción de buenas prácticas podrán mitigar riesgos cada vez más sofisticados en el desarrollo de software moderno.
(Fuente: feeds.feedburner.com)
