Hace pocos días se confirmó que la cadena de suministro abierta de npm sufrió un incidente serio: el popular paquete Axios fue manipulado para distribuir un software malicioso multiplataforma, y Google ha señalado que un grupo norcoreano conocido como UNC1069 estaría detrás del ataque. Aunque la noticia saltó en varios medios especializados, lo que preocupa a la comunidad no es solo que una librería tan extendida haya sido comprometida, sino la sofisticación del procedimiento y la capacidad del atacante para operar de forma escalable y sigilosa.
El mecanismo usado por los atacantes no consistió en alterar el código fuente de Axios, sino en aprovechar la confianza de la cadena de publicación. Los responsables del paquete npm del mantenedor fueron secuestrados y se publicaron dos versiones manipuladas (1.14.1 y 0.30.4) que añadían una dependencia maliciosa llamada "plain-crypto-js". Esa dependencia se servía de un gancho de instalación (un postinstall definido en el archivo package.json) para ejecutar código en el equipo de quien instalara Axios: npm, por diseño, corre esos scripts automáticamente tras la instalación, lo que permitió una ejecución silenciosa del código malicioso sin tocar la API de Axios.

La dependencia actuó como una especie de vehículo para desplegar un dropper JavaScript ofuscado, apodado SILKBELL (archivo denominado "setup.js"), que contacta con un servidor remoto y descarga la siguiente etapa según el sistema operativo de la víctima. En la rama para Windows se entrega una carga basada en PowerShell, en macOS se instala un binario Mach-O escrito en C++, y en Linux se provee un backdoor en Python. Tras descargar y ejecutar la carga adecuada, el dropper realiza una limpieza: elimina rastros y sustituye el package.json de la dependencia maliciosa por uno "limpio" sin gancho de instalación, lo que dificulta la detección forense posterior.
La puerta trasera identificada en los sistemas se ha bautizado como WAVESHAPER.V2, una evolución de una herramienta previa vinculada al mismo actor. Esta variante amplía funcionalidades y explota un canal de comando y control con comunicación en JSON; recoge más información del sistema y acepta órdenes para detener su ejecución, listar directorios y metadatos de archivos, ejecutar scripts (AppleScript, PowerShell o shell, según plataforma) e incluso inyectar y ejecutar binarios decodificados en memoria. El malware realiza sondeos al servidor de control cada 60 segundos, y comparte características operativas y artefactos (como rutas temporales y cadenas de agente de usuario) que permitieron a firmas de seguridad y a Google correlacionarlo con UNC1069.
La atribución, aunque no siempre definitiva, contó con aportes importantes: Elastic Security Labs fue quien primero detectó similitudes funcionales y Mandiant junto a Google Threat Intelligence Group aportaron análisis técnicos que apoyan la relación entre las muestras nuevas y campañas previas del actor. La historia completa está relatada en múltiples análisis técnicos y noticias especializadas que documentan tanto la técnica del postinstall como las cargas específicas desplegadas: conviene revisar fuentes de seguridad para los indicadores de compromiso y más contexto técnico, por ejemplo en el registro del paquete en npm y en reportes de especialistas en seguridad (página de Axios en npm, análisis de Elastic Security Labs y cobertura en medios como The Hacker News).
¿Qué podemos aprender de este incidente? En primer lugar, que los ataques a la cadena de suministro están evolucionando: no se limitan a un script oportunista sino a operaciones planificadas que combinan compromiso de cuentas, cargas preposicionadas para múltiples sistemas y mecanismos para borrar huellas. Expertos han advertido que este caso debe verse como un patrón operativo que puede replicarse en otros registros y ecosistemas (PyPI, NuGet, etc.), porque el objetivo es maximizar el alcance al que llegan las dependencias de desarrolladores y procesos de construcción automatizados.
En términos prácticos, las medidas que las organizaciones y desarrolladores deberían tomar no son triviales y pasan por revisar tanto la higiene de los entornos como las prácticas de seguridad en la publicación y consumo de paquetes. Conviene auditar las cadenas de dependencia y bloquear versiones comprometidas, fijar (pin) versiones seguras en archivos de bloqueo como package-lock.json para prevenir actualizaciones accidentales, y comprobar manualmente si existe la dependencia sospechosa plain-crypto-js en node_modules. Si se detecta actividad, es imprescindible terminar los procesos maliciosos, aislar los equipos afectados y rotar credenciales y claves que hayan podido quedar expuestas. Además, bloquear las conexiones al dominio de comando y control reportado y su IP asociada ayuda a cortar el canal de mando y control; herramientas de análisis de tráfico y listas de bloqueo deben actualizarse en consecuencia.
Más allá de esta respuesta reactiva, el ecosistema necesita medidas preventivas sostenibles: aplicar autenticación multifactor en las cuentas de mantenedores, obligar a revisiones más estrictas de los cambios que afectan a dependencias, generar y mantener un SBOM (software bill of materials) para conocer exactamente qué entra en los builds, y limitar el uso de hooks que ejecuten código en etapas de instalación o construcción. También es prudente asumir que cualquier secreto almacenado en el entorno que publicó o construyó paquetes comprometidos puede haber quedado comprometido y debe rotarse sin dilación.

Este incidente es, además, una llamada de atención sobre la economía detrás de ciertos actores: grupos con motivaciones financieras han preferido históricamente las campañas contra servicios y plataformas de criptomonedas, y la sofisticación observada (payloads para tres sistemas, despliegue en cortos intervalos de tiempo y mecanismos de autodestrucción) sugiere una intención de operar a gran escala. Por tanto, la respuesta no debe limitarse a un parche puntual, sino a replantear cómo las organizaciones gestionan dependencias y permisos en su ciclo de desarrollo.
Si quieres profundizar, revisa los análisis publicados por laboratorios de seguridad y proveedores de inteligencia que han documentado las muestras, los dominios y los patrones de comportamiento. Consultar fuentes confiables y actualizadas te permitirá aplicar los indicadores de compromiso más recientes y coordinar una respuesta adecuada: Elastic Security Labs, Mandiant, ReversingLabs y reportes de prensa especializada como The Hacker News son buenos puntos de partida para contrastar la información y acceder a listas de IoCs.
Al final, la lección es clara: la confianza en una dependencia no es inmutable. Adoptar controles más estrictos en la cadena de suministro de software, elevar la vigilancia en los procesos de publicación y tratar la gestión de secretos como algo crítico son pasos imprescindibles para reducir el riesgo de que un incidente similar afecte a tus proyectos o a tu organización.
Relacionadas
Mas noticias del mismo tema.

Alerta de seguridad Drupal vulnerabilidad crítica de inyección SQL en PostgreSQL obliga a actualizar de inmediato
Drupal ha publicado actualizaciones de seguridad para una vulnerabilidad calificada como "altamente crítica" que afecta a Drupal Core y permite a un atacante lograr inyección SQ...

Joven ucraniano de 18 años lidera una red de infostealers que vulneró 28.000 cuentas y dejó pérdidas de 250.000 dólares
Las autoridades ucranianas, en coordinación con agentes de EE. UU., han puesto el foco sobre una operación de infostealer que, según la Policía Cibernética de Ucrania, habría si...

RAMPART y Clarity redefinen la seguridad de los agentes de IA con pruebas reproducibles y gobernanza desde el inicio
Microsoft ha presentado dos herramientas de código abierto, RAMPART y Clarity, orientadas a cambiar la manera en que se prueba la seguridad de los agentes de IA: una que automat...

La firma digital está en jaque: Microsoft desmantela un servicio que convirtió malware en software aparentemente legítimo
Microsoft anunció la desarticulación de una operación de “malware‑signing‑as‑a‑service” que explotaba su sistema de firma de artefactos para convertir código malicioso en binari...

Un único token de workflow de GitHub abrió la puerta a la cadena de suministro de software
Un único token de workflow de GitHub falló en la rotación y abrió la puerta. Esa es la conclusión central del incidente en Grafana Labs tras la reciente oleada de paquetes malic...

Webworm 2025: el malware que se esconde en Discord y Microsoft Graph para evadir la detección
Las últimas observaciones de investigadores en ciberseguridad señalan un cambio de tácticas preocupante de un actor vinculado a China conocido como Webworm: en 2025 ha incorpora...

La identidad ya no basta: la verificación continua del dispositivo para una seguridad en tiempo real
La identidad sigue siendo la columna vertebral de muchas arquitecturas de seguridad, pero hoy esa columna está agrietándose bajo nuevas presiones: phishing avanzado, kits que pr...