TrapDoor es una campaña activa de malware de cadena de suministro con paquetes maliciosos en npm, PyPI y Crates.io. Apunta a desarrolladores de criptomonedas, IA y herramientas de desarrollo, y busca robar monederos, claves SSH, tokens de GitHub, credenciales cloud y otros secretos.

El ataque no gira en torno a una vulnerabilidad concreta ni a un identificador CVE. Su punto fuerte es otro: aprovechar la rutina diaria de los equipos de software, que instalan dependencias, ejecutan compilaciones y confían en registros públicos de paquetes como parte normal del trabajo.
Ahí encaja la campaña TrapDoor. En vez de ir directamente contra una aplicación final, se introduce antes, en el entorno de desarrollo. Una dependencia aparentemente útil puede acabar ejecutándose en una estación con acceso a código fuente, tokens, claves y servicios internos. El margen de daño es amplio. También más difícil de acotar cuando intervienen procesos automatizados.
La operación comprende más de 34 paquetes maliciosos y más de 384 versiones o artefactos. Las publicaciones se produjeron en oleadas rápidas desde, al menos, el 22 de mayo de 2026 a las 20:20 UTC, momento en el que apareció en PyPI el paquete eth-security-auditor 0.1.0. Los paquetes circularon por ecosistemas habituales entre programadores, incluidos npm, PyPI y Crates.io.
La apariencia estaba cuidada. Algunos se presentaban como utilidades de configuración de proyectos, asistentes de compilación, herramientas de prompt engineering o componentes para enrutar modelos. Las temáticas elegidas no son casuales: criptomonedas, DeFi, Solidity, Sui, Move, automatización e inteligencia artificial. Comunidades con activos valiosos y con una elevada dependencia de paquetes externos.
El comportamiento técnico varía según el registro. En npm, varios paquetes utilizan hooks postinstall y cargan un payload compartido llamado trap-core.js. Ese componente busca secretos en el sistema, pero no se queda ahí: valida tokens de AWS y tokens de GitHub mediante llamadas a sus API para priorizar la exfiltración de credenciales que realmente funcionan. Es una señal relevante.
En PyPI, los paquetes actúan como lanzadores. Descargan código JavaScript desde el dominio controlado por el atacante ddjidd564.github.io y lo ejecutan con node -e. Esa técnica permite cambiar la lógica maliciosa sin tener que publicar una nueva versión del paquete. En Crates.io, los crates de Rust abusan de scripts build.rs durante la compilación, rastrean almacenes locales de claves relacionados con criptomonedas, cifran datos con una clave XOR fija y los envían mediante GitHub Gists. Usar infraestructura legítima puede rebajar la visibilidad de la actividad sospechosa.
Los datos buscados incluyen monederos de criptomonedas, claves SSH, tokens de GitHub, credenciales cloud y otros secretos frecuentes en equipos de desarrollo. El riesgo no termina en el ordenador de un programador. Un runner de CI/CD que instale, importe o compile uno de estos paquetes puede quedar expuesto si dispone de permisos para publicar artefactos, acceder a repositorios privados o desplegar infraestructura. Por ese motivo, cualquier entorno que haya ejecutado una dependencia afectada debe tratarse como potencialmente comprometido, aunque el paquete se haya retirado tras hacerse pública la campaña.
La infraestructura asociada muestra también el uso de GitHub como canal de difusión mediante repositorios señuelo. La cuenta ddjidd564 abrió pull requests contra proyectos de IA y herramientas de desarrollo como browser-use, LangChain, Langflow, LlamaIndex, MetaGPT y OpenHands para introducir archivos de instrucciones potencialmente maliciosos. El detalle importa porque asistentes como Cursor o Claude Code pueden leer archivos de contexto del repositorio, incluidos .cursorrules y CLAUDE.md.
La presencia de documentación sobre prompt injection, repositorios genéricos y componentes de malware funcionales sugiere una iteración rápida, posiblemente asistida por IA. Esa observación, por sí sola, no sustituye al análisis técnico de cada artefacto. Conviene separarlo.
La persistencia documentada toca varios puntos sensibles del sistema: .git/hooks, ~/.gitconfig, ficheros de inicio de shell, unidades systemd de usuario, tareas cron, configuración SSH y archivos usados por asistentes de IA. Los equipos deberían revisar referencias en package-lock.json, yarn.lock, pnpm-lock.yaml, requirements.txt, pyproject.toml, poetry.lock, Cargo.lock y manifiestos de CI. La prioridad aumenta si desde el 22 de mayo de 2026 se añadieron dependencias relacionadas con cripto, IA, Solidity, Sui o Move.
También conviene vigilar conexiones hacia ddjidd564.github.io y eventos de subida a GitHub Gists desde estaciones de trabajo y runners. Son indicadores útiles, aunque no bastan por sí solos para descartar compromiso si no aparecen.
La respuesta pasa por eliminar paquetes sospechosos y rotar claves SSH, tokens de GitHub, credenciales cloud y cualquier secreto presente en entornos expuestos. Después, revisar registros de autenticación, actividad en repositorios y accesos a infraestructura. Los tokens deberían limitarse con el principio de mínimo privilegio, y los builds de Rust u otros procesos de instalación tendrían que ejecutarse, cuando sea viable, en workers efímeros, aislados y con salida a Internet restringida.
Hay más medidas prácticas: bloqueo de dependencias, revisión de paquetes nuevos, registros internos aprobados, análisis de comportamiento y reglas de detección. En particular, ejecuciones inesperadas de node -e desde procesos de Python, actividad de red en build.rs, hooks postinstall que enumeren secretos y cambios no autorizados en hooks de Git o ficheros de arranque.
Los archivos de instrucciones para asistentes de IA, como .cursorrules y CLAUDE.md, deberían quedar sujetos a revisión obligatoria, CODEOWNERS y control de cambios, al mismo nivel que otras configuraciones con impacto de seguridad. Un último matiz evita confusiones: esta campaña no debe mezclarse con otra operación llamada TrapDoor vinculada a fraude publicitario en Android. Comparten nombre, pero no indicadores ni conclusiones técnicas.
Más información
- Cointelegraph – ‘TrapDoor’ malware targets crypto dev tools in supply chain attack : https://cointelegraph.com/news/coordinated-crypto-stealer-campaign-trapdoor-detected-targeting-developers
- The Hacker News – TrapDoor Supply Chain Attack Spreads Credential-Stealing Malware via npm, PyPI, and CratesIO : https://thehackernews.com/2026/05/trapdoor-supply-chain-attack-spreads.html
- Prismor Security Blog – TrapDoor: 34 Malicious Packages Stole Crypto Wallet Keys and SSH Credentials Across npm, PyPI, and Crates.io : https://prismor.dev/blog/trapdoor-crypto-stealer-npm-pypi-crates
- TechNadu – TrapDoor Supply Chain Attack Targets npm, PyPI, and Crates.io, Steals Credentials, Crypto : https://www.technadu.com/trapdoor-supply-chain-attack-targets-npm-pypi-and-crates-io-steals-credentials-crypto/628350/
- SOCRadar – TrapDoor: Malicious npm, PyPI, Crates.io Packages Target Developer Secrets & AI Tooling : https://socradar.io/blog/trapdoor-npm-pypi-cratesio-secrets-ai-tooling/
- Rescana – TrapDoor Supply Chain Attack Actively Exploiting npm, PyPI, and CratesIO to Steal Developer Credentials in Crypto, DeFi, Solana, and AI Sectors : https://www.rescana.com/post/trapdoor-supply-chain-attack-actively-exploiting-npm-pypi-cratesio-to-steal-developer-credentials-in-crypto-defi-sol
Deja una respuesta