Una nueva campaña coordinada de ataque a la cadena de suministro de software entre ecosistemas se ha dirigido a npm, PyPI y Crates.io para distribuir malware de robo de credenciales.
La campaña, cuyo nombre en clave Trampaabarca más de 34 paquetes maliciosos en más de 384 versiones. La actividad más temprana se registró el 22 de mayo de 2026, a las 8:20 p.m. UTC, con nuevos paquetes publicados en los ecosistemas en oleadas desde un grupo de cuentas en rápida sucesión.
«TrapDoor se dirige a desarrolladores de comunidades de criptografía, DeFi, Solana e IA», dijo Socket. «Los paquetes maliciosos están diseñados para robar secretos de desarrolladores, billeteras criptográficas, claves SSH, credenciales de la nube, datos del navegador y variables de entorno».
«Varios paquetes npm también implementan una carga útil compartida, trap-core.js, que busca credenciales, valida tokens de AWS y GitHub, intenta el movimiento lateral basado en SSH y planta la persistencia a través de .cursorrules, CLAUDE.md, ganchos de Git, ganchos de shell, systemd, cron y SSH».
Vale la pena señalar que la actividad no tiene conexión con otra campaña del mismo nombre que el Equipo de Investigación e Inteligencia de Amenazas Satori de HUMAN detalló la semana pasada como involucrada en fraude publicitario al distribuir 455 aplicaciones de Android a través de Google Play Store.
La lista de paquetes identificados se encuentra a continuación:
-
Cajas.io
- construcción del analizador de movimientos
- mover-herramientas-compiladoras
- constructor-de-proyectos-de-movimiento
- ayudantes-sui-framework
- sui-move-build-ayudante
- sui-sdk-build-utils
-
npm
- constructor de canalizaciones asíncronas
- utilidades de scripts de compilación
- validador-de-clave-de-cadena
- escáner de credenciales criptográficas
- auditor-defi-env
- escáner-de-amenazas-defi
- auditor-clave-de-despliegue
- dev-env-bootstrapper
- centinela-billetera-eth
- compresor-de-contexto llm
- control-de-seguridad-mnemotécnico
- modelo-switch-router
- ayudantes de configuración de nodos
- herramientas-init-del-proyecto
- kit de herramientas de ingeniería rápida
- solidez-despliegue-guardia
- rastreador de uso de tokens
- verificador-de-respaldo-de-billetera
- verificador-de-seguridad-de-billetera
- detector-de-secretos-web3
- cargador-de-configuración-del-espacio de trabajo
-
PyPI
- seguridad-criptomoneda
- verificación de canalización de datos
- escáner-de-riesgo-defi
- env-cargador-cli
- auditor-de-seguridad-ética
- git-config-sincronización
- solidez-construcción-guardia
La operación se destaca por sus diversas rutas de entrega, que utilizan enlaces posteriores a la instalación, cargas útiles de JavaScript remotas que se ejecutan durante las importaciones de paquetes y scripts build.rs maliciosos dirigidos a los desarrolladores de Sui y Move. Los paquetes se hacen pasar por herramientas aparentemente inofensivas y brindan a los atacantes la capacidad de llegar a una audiencia más amplia.
Se ha descubierto que los paquetes npm ejecutan una carga útil de JavaScript («trap-core.js»), que busca credenciales y secretos de desarrollador, valida las credenciales robadas mediante llamadas API de AWS y GitHub y crea persistencia en el host mediante trabajos cron, servicios systemd, enlaces Git y se mueve a través de la red a través de SSH.
Las cajas Rust, de manera similar, buscan almacenes de claves locales, cifran los datos usando una clave XOR codificada y los exfiltran a GitHub Gists. Los paquetes también destacan por el uso de un script de compilación («build.rs») para desencadenar la ejecución del código malicioso.
Los paquetes de Python asociados con TrapDoor están diseñados de manera que se ejecuten automáticamente al importarlos. El objetivo principal de los paquetes es descargar JavaScript desde un dominio de GitHub Pages controlado por un atacante («ddjidd564.github(.)io») y ejecutarlo usando «node -e».
«Esta técnica permite que el paquete Python delegue la ejecución a una carga útil remota de JavaScript, dando al atacante más flexibilidad después de la publicación», explicó Socket. «Al alojar la carga útil externamente, el atacante puede actualizar el comportamiento sin publicar una nueva versión de PyPI».
Un aspecto inusual de la campaña es la implantación de .cursorrules y CLAUDE.md que contienen instrucciones ocultas para engañar a los asistentes de inteligencia artificial (IA) para que ejecuten un «escaneo de seguridad» que resulta en el descubrimiento y exfiltración de secretos. Esto se logra abriendo solicitudes de extracción (PR) de GitHub en proyectos populares de IA y desarrolladores, incluidos «browser-use/browser-use», «langchain-ai/langchain» y «langflow-ai/langflow».
La actividad de relaciones públicas indica que TrapDoor va más allá de enviar paquetes maliciosos a ecosistemas de código abierto. Socket dijo que el actor de amenazas probablemente esté probando si los archivos de proyectos relacionados con la IA se pueden introducir a través de flujos de trabajo regulares de contribución de código abierto, lo que provocará que las herramientas de codificación de IA analicen esas instrucciones ocultas y las apliquen.
Los hallazgos demuestran una vez más cómo los actores de amenazas se dirigen cada vez más a los flujos de trabajo de los desarrolladores, con el objetivo de robar una amplia gama de información que podría permitir profundizar en los entornos de destino para ataques posteriores.
«TrapDoor muestra cómo los atacantes están combinando la tradicional manipulación tipográfica de paquetes con rutas de ataque más nuevas en el entorno de desarrollador», dijo Socket. «Los nombres de los paquetes están diseñados para que parezcan relevantes para el desarrollo criptográfico, las herramientas de inteligencia artificial, la configuración del entorno local y los flujos de trabajo de seguridad. Luego, el malware utiliza rutas de ejecución específicas del ecosistema: build.rs en Rust, enlaces postinstalación en npm y ejecución en tiempo de importación en Python».