En el dinámico ecosistema del desarrollo de software y la gestión de criptomonedas, la seguridad se ha convertido en una preocupación prioritaria para desarrolladores y usuarios por igual. Recientemente se ha detectado una amenaza creciente que involucra paquetes maliciosos publicados en npm, el popular gestor de paquetes para JavaScript, los cuales están específicamente diseñados para robar credenciales y datos sensibles de usuarios de la plataforma de trading de criptomonedas BullX. Esta campaña maliciosa representa un claro ejemplo de cómo los actores malintencionados están evolucionando en sus estrategias, utilizando plataformas de comunicación comunes como Telegram para exfiltrar datos de forma silenciosa y eficiente. El descubrimiento fue realizado por el equipo de investigación de Socket, quienes identificaron paquetes npm con nombres aparentemente inofensivos como pumptoolforvolumeandcomment y un paquete wrapper llamado debugdogs. Publicados por un atacante conocido bajo el alias 'olumideyo', estos paquetes contienen un código altamente ofuscado que ejecuta una serie de acciones maliciosas en sistemas con entornos UNIX, principalmente Linux y macOS.
El código malicioso busca activamente credenciales codificadas en Base58, archivos de billeteras criptográficas y datos relacionados con la plataforma BullX. Cuando encuentra esta información, la recopila y la envía mediante un bot de Telegram controlado por los atacantes, permitiendo la exfiltración de datos en tiempo real y sin levantar sospechas significativas. BullX es una plataforma de trading especializada y muy apreciada por su rapidez y eficiencia, especialmente entre aquellos que comercian con monedas recién lanzadas. Debido a su popularidad, se ha convertido en un foco directo para los cibercriminales. Los atacantes enfocan sus esfuerzos para infiltrarse en sistemas que contengan archivos relacionados con BullX, reconociendo el valor de las credenciales y datos de trading para ejecutar transacciones fraudulentas, vaciar cuentas o incluso manipular operaciones de forma remota.
Esto pone en riesgo no solo los fondos de los usuarios sino también la integridad y confianza en la plataforma. La complejidad de esta amenaza reside en la forma en que el malware está construido e implementado. El cargador inicial, identificado en el archivo index.js del paquete, lee un archivo llamado parts.txt que contiene un payload codificado en base64.
Luego, evalúa este código para ejecutar el ataque sin que el usuario tenga indicios claros de lo que sucede en segundo plano. Esta técnica de ofuscación dificulta la detección por parte de los sistemas tradicionales y ayuda a evitar los filtros de seguridad comunes en los entornos de desarrollo. Una vez ejecutado, el payload descodificado realiza una búsqueda exhaustiva en directorios críticos del sistema, especialmente en rutas POSIX estándar como ~/Documents, /media y /Volumes. Busca archivos con extensiones comunes que suelen contener información sensible, incluyendo archivos .txt, .
env, .docs, .log, .cfg y .ini.
El malware aplica patrones específicos de expresiones regulares para detectar cadenas codificadas en Base58, un formato común en claves privadas y direcciones de criptomonedas, lo que indica un diseño intencionado para robar información financiera valiosa. Además de las claves y archivos de billeteras, el malware verifica la presencia de archivos relacionados con "BullX" y extrae su contenido si cumplen ciertos criterios, como terminar en .txt. Estos datos se agregan en un archivo JSON estructurado llamado fss.json, que luego es enviado al atacante mediante un bot de Telegram utilizando un token y un chat ID hardcodeados en el código, facilitando así la exfiltración rápida y discreta.
Una característica particularmente preocupante en esta campaña es la utilización de Telegram para transmitir los datos robados. Telegram, conocido por su facilidad para crear bots y su capacidad para enviar documentos rápidamente, ofrece a los atacantes un canal de comunicación eficiente, casi indetectable y con un bajo costo de implementación. Esto evidencia cómo la combinación de herramientas legítimas con malware especializado puede complicar los esfuerzos defensivos de seguridad. El paquete debugdogs, actúa como una especie de puerta trasera adicional o carga secundaria, sirviendo simplemente como un envoltorio que llama e invoca al paquete malicioso pumptoolforvolumeandcomment. Esta estrategia, además de facilitar la propagación del malware bajo múltiples nombres, aumenta la probabilidad de infección al burlar el escrutinio superficial de los usuarios y desarrolladores que puedan instalar debugdogs sin sospechar.
El modus operandi de estos ataques subraya importantes vulnerabilidades en las cadenas de suministro del software y destaca la necesidad de implementar rigurosas medidas de seguridad en proyectos que dependen de paquetes externos, especialmente cuando estos están vinculados a operaciones financieras o criptomonedas. Para mitigar estas amenazas, expertos en seguridad recomiendan una serie de buenas prácticas: realizar escaneos automáticos de dependencias para detectar comportamientos sospechosos, monitorear en tiempo real la ejecución y comportamiento de los paquetes instalados, y manejar credenciales con máxima precaución, evitando almacenarlas de forma insegura en los sistemas. Además, el uso de herramientas especializadas como las desarrolladas por Socket contribuyen a detectar y bloquear estas amenazas antes de que puedan afectar a los usuarios. Las consecuencias reales de esta amenaza son significativas, ya que pueden ocasionar desde pérdidas financieras directas por el robo de criptoactivos hasta brechas de seguridad que comprometen información personal y de negocio, generando impactos duraderos en la reputación y confianza de los usuarios y empresas involucradas. Este incidente también forma parte de una tendencia más amplia donde Telegram se ha convertido en un vector preferido para operaciones de exfiltración por parte de actores maliciosos en distintas plataformas y contextos.