Ataque TrapDoor apunta a desarrolladores de cripto e IA en npm, PyPI y Crates.io
Se ha descubierto un sofisticado ataque a la cadena de suministro de software, denominado **TrapDoor**, dirigido a desarrolladores en los sectores de cripto, DeFi, Solana e IA. La campaña coordinada abarca múltiples ecosistemas, incluyendo npm, PyPI y Crates.io, distribuyendo malware que roba credenciales a través de paquetes maliciosos.

**Ataque Multi-Ecosistema: TrapDoor**
Una nueva campaña coordinada de ataque a la cadena de suministro de software multi-ecosistema ha apuntado a npm, PyPI y Crates.io para distribuir malware que roba credenciales.
La campaña, con nombre en código **TrapDoor**, abarca 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 clúster de cuentas en rápida sucesión.
Según **Socket**, "TrapDoor apunta a desarrolladores en las comunidades de cripto, DeFi, Solana e IA. Los paquetes maliciosos están diseñados para robar secretos de desarrolladores, billeteras de criptomonedas, claves SSH, credenciales de la nube, datos del navegador y variables de entorno."
Varios paquetes de npm también implementan un payload compartido, `trap-core.js`, que escanea credenciales, valida tokens de **AWS** y **GitHub**, intenta movimiento lateral basado en SSH y establece persistencia a través de `.cursorrules`, `CLAUDE.md`, Git hooks, shell hooks, systemd, cron y SSH.
Es importante tener en cuenta que esta actividad es distinta de otra campaña con el mismo nombre, detallada previamente por el Equipo de Inteligencia e Investigación de Amenazas Satori de **HUMAN**, que se centró en el fraude publicitario a través de aplicaciones de Android en la **Google Play Store**.
**Paquetes Maliciosos Identificados**
Los siguientes paquetes han sido identificados como parte de la campaña TrapDoor:
* Crates.io
* `move-analyzer-build`
* `move-compiler-tools`
* `move-project-builder`
* `sui-framework-helpers`
* `sui-move-build-helper`
* `sui-sdk-build-utils`
* npm
* `async-pipeline-builder`
* `build-scripts-utils`
* `chain-key-validator`
* `crypto-credential-scanner`
* `defi-env-auditor`
* `defi-threat-scanner`
* `deployment-key-auditor`
* `dev-env-bootstrapper`
* `eth-wallet-sentinel`
* `llm-context-compressor`
* `mnemonic-safety-check`
* `model-switch-router`
* `node-setup-helpers`
* `project-init-tools`
* `prompt-engineering-toolkit`
* `solidity-deploy-guard`
* `token-usage-tracker`
* `wallet-backup-verifier`
* `wallet-security-checker`
* `web3-secrets-detector`
* `workspace-config-loader`
* PyPI
* `cryptowallet-safety`
* `data-pipeline-check`
* `defi-risk-scanner`
* `env-loader-cli`
* `eth-security-auditor`
* `git-config-sync`
* `solidity-build-guard`
**Detalles Técnicos y Tácticas**
La operación es notable por sus diversos mecanismos de entrega. Aprovecha los hooks de postinstalación, payloads de JavaScript remotos ejecutados durante la importación de paquetes y scripts maliciosos de `build.rs` para apuntar a desarrolladores de Sui y Move. Los paquetes están diseñados para parecer herramientas legítimas, permitiendo a los atacantes llegar a una amplia audiencia.
Los paquetes de npm ejecutan un payload de JavaScript (`trap-core.js`) que escanea credenciales, valida credenciales robadas utilizando las APIs de **AWS** y **GitHub**, y establece persistencia a través de trabajos cron, servicios systemd y Git hooks. También intenta movimiento lateral a través de SSH.
Los crates de Rust buscan de manera similar almacenes de claves locales, cifran los datos utilizando una clave XOR codificada y los exfiltran a Gists de **GitHub**. El uso de un script de compilación (`build.rs`) es crucial para activar la ejecución del código malicioso.
Los paquetes de Python están diseñados para la ejecución automática al importar. Su función principal es descargar JavaScript de un dominio de **GitHub** Pages controlado por el atacante y ejecutarlo usando `node -e`.
**Manipulación de Asistentes de IA**
Un aspecto particularmente inusual es la inclusión de archivos `.cursorrules` y `CLAUDE.md` que contienen instrucciones ocultas destinadas a engañar a los asistentes de IA. Estas instrucciones solicitan a la IA que realice un "escaneo de seguridad" que conduce al descubrimiento y exfiltración de secretos. Esto se logra abriendo pull requests (PRs) en proyectos populares de IA y desarrollo, incluyendo `browser-use/browser-use`, `langchain-ai/langchain` y `langflow-ai/langflow`.
Esta actividad de PR sugiere que TrapDoor se extiende más allá de simplemente publicar paquetes maliciosos. **Socket** cree que el actor de la amenaza está probando si los archivos de proyectos relacionados con IA pueden ser introducidos a través de flujos de trabajo de contribución de código abierto regulares, haciendo que las herramientas de codificación de IA analicen y apliquen estas instrucciones ocultas.
**Implicaciones y Recomendaciones**
Estos hallazgos subrayan la creciente tendencia de los actores de amenazas a apuntar a los flujos de trabajo de los desarrolladores para robar información sensible, permitiendo una penetración más profunda en los entornos objetivo para ataques posteriores.
**Socket** concluye: "TrapDoor muestra cómo los atacantes están combinando el typosquatting tradicional de paquetes con rutas de ataque más nuevas en el entorno de desarrollo. Los nombres de los paquetes están diseñados para parecer relevantes para el desarrollo de criptomonedas, herramientas de IA, configuración del entorno local y flujos de trabajo de seguridad. El malware luego utiliza rutas de ejecución específicas del ecosistema: `build.rs` en Rust, hooks de postinstalación en npm y ejecución en tiempo de importación en Python."