Una campaña de ataque a la cadena de suministro ha distribuido un malware para Linux capaz de robar credenciales, mantener persistencia en los sistemas comprometidos y ocultar procesos y conexiones mediante un rootkit basado en eBPF. La amenaza, identificada con el nombre deps, fue localizada dentro de un paquete npm malicioso que se hacía pasar por la versión 1.4.2 de atomic-lockfile.
El ataque afectó a procesos de compilación vinculados al Arch User Repository, conocido como AUR. Según el análisis técnico publicado por el investigador Whanos, los responsables modificaron los pasos de construcción de varios paquetes para descargar e instalar el componente npm manipulado.
El paquete incluía un script de preinstalación que ejecutaba automáticamente un archivo ELF malicioso durante la instalación. De esta forma, un desarrollador, un mantenedor de software o un servidor de integración continua podía terminar ejecutando el malware simplemente al compilar o instalar uno de los paquetes afectados.
Un robo de credenciales dirigido a desarrolladores
Deps está diseñado especialmente para estaciones de trabajo de desarrolladores y entornos de construcción. Su objetivo es recopilar una amplia variedad de credenciales, sesiones y secretos almacenados en el equipo.
El malware busca información en numerosos navegadores basados en Chromium, entre ellos Google Chrome, Microsoft Edge, Brave, Opera, Vivaldi y otras variantes. También examina datos de aplicaciones Electron y plataformas de colaboración como Slack, Microsoft Teams y Discord.
La lista de objetivos incluye además credenciales y tokens relacionados con GitHub, npm, Vault, Docker, Podman, SSH y servicios VPN. También revisa historiales de terminales como Bash, Zsh y Fish en busca de comandos que puedan contener contraseñas, rutas, claves privadas o información sobre infraestructuras internas.
Entre los archivos de interés se encuentran claves SSH, perfiles .ovpn, tokens de Vault, credenciales de registros de contenedores y configuraciones de acceso remoto. Esta capacidad convierte al malware en una amenaza importante para empresas de desarrollo, repositorios de software y plataformas de integración continua.
El paquete malicioso ejecutaba el malware automáticamente
El paquete fraudulento conservaba gran parte del código legítimo de atomic-lockfile, pero escondía el archivo malicioso en la ruta src/hooks/deps. Su archivo de configuración incluía el siguiente script de ciclo de vida:
preinstall: ./src/hooks/deps
Cuando npm procesaba la instalación y los scripts estaban habilitados, el ejecutable se iniciaba de forma automática. No era necesario que el usuario abriera manualmente el archivo ni realizara ninguna acción adicional.
Este mecanismo demuestra el riesgo asociado a los scripts de instalación de los gestores de paquetes. Una dependencia aparentemente legítima puede ejecutar código antes incluso de que termine la instalación, lo que permite comprometer estaciones de trabajo o servidores de construcción.
El análisis indica que el paquete npm funcionaba únicamente como vector de entrega. La configuración de mando y control estaba codificada directamente dentro del archivo ELF.
Comunicación mediante Tor y subida de archivos
El malware contenía una dirección .onion ofuscada que utilizaba como servidor de mando y control. Para comunicarse con ella, establecía una conexión a través de un transporte local basado en SOCKS y enviaba solicitudes al endpoint /api/agent.
Este canal podía utilizarse para recibir instrucciones, devolver resultados o comunicar el estado de las tareas ejecutadas. Paralelamente, deps subía archivos y bloques de información al servicio temporal temp.sh mediante solicitudes HTTP al endpoint /upload.
El uso de una dirección de la red Tor dificulta la identificación y el bloqueo de la infraestructura controlada por los atacantes. Además, el empleo de un servicio legítimo de intercambio temporal de archivos puede ayudar a camuflar la exfiltración entre conexiones aparentemente normales.
El malware también consultaba APIs legítimas de servicios como Slack, Discord, GitHub, npm, Microsoft Teams y OpenAI para validar las credenciales robadas y recopilar información adicional sobre las cuentas comprometidas.

































