TrapDoor Malware infecta 34 paquetes de desarrollo y roba claves criptográficas y billeteras

La empresa de seguridad Socket identificó un ataque coordinado a la cadena de suministro el 22 de mayo de 2026. Los investigadores encontraron 34 paquetes maliciosos que abarcan 384 versiones en npm, PyPI y Crates.io. La campaña, denominada TrapDoor, estaba dirigida a desarrolladores de criptomonedas, finanzas descentralizadas (DeFi) e inteligencia artificial (IA). El primer paquete confirmado, eth-security-auditor@0.1.0, apareció en PyPI el 22 de mayo de 2026 a las 20:20 UTC. La campaña distribuyó 21 paquetes en npm, siete en PyPI y seis en Crates.io. Los paquetes utilizaban nombres engañosos como fast-engineering-toolkit, solidity-deploy-guard y defi-threat-scanner.
Las claves SSH, las billeteras y las credenciales de la nube estaban dirigidas. TrapDoor utilizó un método de ejecución diferente en cada registro. En npm, los ganchos postinstalación ejecutaron una carga útil de JavaScript de 1149 líneas llamada trap-core.js. En PyPI, los paquetes buscaban y ejecutaban un script remoto desde GitHub Pages al importar. En Crates.io, scripts build.rs maliciosos exfiltraron almacenes de claves criptográficas locales utilizando cifrado XOR.
Los datos robados incluyeron claves Secure Shell (SSH), datos de billeteras de Coinbase, Binance, Solana, Sui, Aptos y MetaMask. También estaban dentro del alcance las credenciales de la nube, los tokens de GitHub, las bases de datos de inicio de sesión del navegador y las claves API. El componente Crates.io estaba dirigido a los desarrolladores de Sui y Move. Extrajo almacenes de claves de billetera del almacenamiento local.
El atacante convirtió las herramientas de codificación de IA en agentes de robo de credenciales. El atacante envenenó dos archivos de configuración del proyecto: .cursorrules, utilizado por el editor Cursor, y CLAUDE.md, utilizado por el asistente de codificación Claude. Los caracteres Unicode de ancho cero ocultaban comandos maliciosos dentro de ambos archivos. Cuando una herramienta de codificación de IA leyó cualquiera de los archivos, ejecutó lo que parecía ser un análisis de seguridad de rutina. El escaneo exfiltró las credenciales del desarrollador a la infraestructura del atacante. La campaña también envió solicitudes de extracción envenenadas a los proyectos de inteligencia artificial LangChain, MetaGPT y OpenHands.
"Secuestra a tu asistente de codificación de IA", 25 de mayo de 2026.
— Ahmad Nassri, director de tecnología de Socket
Socket detectó los 34 paquetes en menos de seis minutosSocket marcó los 34 paquetes en menos de seis minutos en promedio después de la publicación de cada uno. La detección individual más rápida tardó 58 segundos. El atacante operó desde una única cuenta de GitHub, ddjidd564, y alojaba cargas útiles en ddjidd564.github.io. La campaña llevó el marcador interno P-2024-001. Socket no informó ningún recuento confirmado de entornos de desarrolladores infectados en el momento de la publicación. Los mantenedores de registro en npm, PyPI y Crates.io recibieron informes de los 34 paquetes. TrapDoor utilizó un método de ejecución diferente en cada registro. En npm, los ganchos postinstalación ejecutaron una carga útil de JavaScript de 1149 líneas llamada trap-core.js. En PyPI, los paquetes buscaban y ejecutaban un script remoto desde GitHub Pages al importar. En Crates.io, scripts build.rs maliciosos exfiltraron almacenes de claves criptográficas locales utilizando cifrado XOR.
Los datos robados incluyeron claves Secure Shell (SSH), datos de billeteras de Coinbase, Binance, Solana, Sui, Aptos y MetaMask. También estaban dentro del alcance las credenciales de la nube, los tokens de GitHub, las bases de datos de inicio de sesión del navegador y las claves API. El componente Crates.io estaba dirigido a los desarrolladores de Sui y Move. Extrajo almacenes de claves de billetera del almacenamiento local.
El atacante convirtió las herramientas de codificación de IA en agentes de robo de credenciales. El atacante envenenó dos archivos de configuración del proyecto: .cursorrules, utilizado por el editor Cursor, y CLAUDE.md, utilizado por el asistente de codificación Claude. Los caracteres Unicode de ancho cero ocultaban comandos maliciosos dentro de ambos archivos. Cuando una herramienta de codificación de IA leyó cualquiera de los archivos, ejecutó lo que parecía ser un análisis de seguridad de rutina. El escaneo exfiltró las credenciales del desarrollador a la infraestructura del atacante. La campaña también envió solicitudes de extracción envenenadas a los proyectos de inteligencia artificial LangChain, MetaGPT y OpenHands.
"Secuestra a tu asistente de codificación de IA", 25 de mayo de 2026.
— Ahmad Nassri, director de tecnología de Socket
Socket detectó los 34 paquetes en menos de seis minutosSocket marcó los 34 paquetes en menos de seis minutos en promedio después de la publicación de cada uno. La detección individual más rápida tardó 58 segundos. El atacante operó desde una única cuenta de GitHub, ddjidd564, y alojaba cargas útiles en ddjidd564.github.io. La campaña llevó el marcador interno P-2024-001. Socket informó que no hay confirmación