BRIEFING DE SEGURIDAD · 13.07.2026 DEENFRES

Casos de estudio

Puerta trasera: Ataque coordinado a la cadena de suministro en npm, PyPI y Crates – qué deben

Por Alec Chizhik · 25 de mayo de 2026 · 11 min de lectura

El 22 de mayo de 2026, a las 20:20 UTC, un cuenta de PyPI subió el paquete eth-security-auditor 0.1.0. Hasta que Socket clasificó la oleada como una TrapDoor, había 34 paquetes más en npm, PyPI y Crates.io. El tiempo promedio de detección por versión fue de 5 minutos y 27 segundos. Quien inicia un run CI/CD en este rango tiene un problema que ningún demo del proveedor explica.

Lo más importante en resumen

  • Ataque coordinado a múltiples registros. Socket documenta 34 paquetes en más de 384 versiones, distribuidos de forma paralela en npm, PyPI y Crates.io a través del cuenta asdxzxc, todos con el mismo marcador P-2024-001.
  • Las configuraciones de AI-Coding se convierten en superficie de ataque. TrapDoor escribe instrucciones ocultas con Unicode de ancho cero en los archivos cursorrules y CLAUDE.md, para que el cursor o el código de Claude inicien falsos escaneos de seguridad.
  • Las cadenas de CI/CD son el objetivo, no la computadora portátil del desarrollador. Quien no ha desactivado postinstall, build.rs y Python-Import-Hooks en su build, tiene un camino de cadena de suministro sin parchear, lo cual está obligado a documentarse según el artículo 21 de NIS2 y el manejo de riesgos DORA-ICT.

Relacionado:NIS2 cumple con el CLOUD Act  /  Cumplimiento NIS2 en pequeñas y medianas empresas

Por qué esta oleada no parece un typosquatting

¿Qué es TrapDoor? TrapDoor es el nombre que los investigadores de seguridad de Socket le dieron a un ataque coordinado a la cadena de suministro en mayo de 2026, durante el cual más de 34 paquetes maliciosos fueron introducidos simultáneamente en npm, PyPI y Crates.io para robar wallets, keys SSH, credenciales en la nube y configuraciones de editores de IA. El cluster lleva el marcador interno P-2024-001 y está vinculado a través del cuenta GitHub ddjidd564 y del cuenta npm asdxzxc.

Las campañas típicas de typosquat viven del azar. Al alguien le sale mal al instalar un paquete en npm, y un paquete con un nombre similar puede entregar una carga oculta. TrapDoor funciona de manera diferente. Los paquetes llevan nombres como prompt-engineering-toolkit, solidity-deploy-guard y defi-threat-scanner. Se presentan como herramientas destinadas exactamente a la audiencia que el atacante busca captar: desarrolladoras en entornos de criptografía, DeFi, Solana e IA.

La segunda diferencia con la oleada normal de npm es la amplitud de los registros. Tres gestores de paquetes al mismo tiempo, con el mismo huella de actor amenazante, el mismo cuenta GitHub ddjidd564 y el mismo marcador. Este es un setup operativo, no un run de scriptkiddie.

Y es rápido. Socket reporta un tiempo promedio de detección de 5 minutos y 27 segundos sobre 381 datos de lanzamiento con marcas temporales completas. El descubrimiento más rápido ocurrió 58 segundos después de la publicación. Quien inicia un npm install o pip install en uno de estos intervalos en un runner CI no controlado, tiene mala suerte.

Cómo se ramifica el ataque por cada registro

1 149
Líneas de código en npm-Loader trap-core.js, el módulo central de recolección de credenciales y propagación de TrapDoor.
Fuente: Socket Threat Research, mayo de 2026

Los paquetes comparten una arquitectura objetivo, pero tienen disparadores distintos según el ecosistema. En npm, la carga útil se anexa a postinstall; en Rust, el código se ejecuta mediante build.rs; y en Python, se activa al momento de la importación. Esta separación es relevante porque abarca precisamente los tres puntos donde los sistemas de compilación ejecutan automáticamente código ajeno sin que el usuario lo inicie explícitamente.

Se recopilan claves SSH, credenciales de AWS, tokens de GitHub, bases de datos de inicio de sesión del navegador, archivos de billetera para Sui, Solana y Aptos, variables de entorno, claves API y configuraciones locales de desarrollo. Esta es la visión completa desde el punto de vista del proveedor sobre el perfil típico de una estación de trabajo de desarrollador, incluyendo todas las persistencias en la nube.

Dónde realmente innova TrapDoor: configuraciones de codificación con IA

El ataque cuenta con un vector que el malware habitual de la cadena de suministro no posee. TrapDoor manipula directamente los archivos de configuración de Cursor y Claude Code. Concretamente, cursorrules y Projekt-CLAUDE.md se adornan con caracteres Unicode de ancho cero, invisibles para el revisor en el editor, pero interpretados como comandos por el asistente de IA.

El resultado es una instrucción camuflada que induce al asistente a ejecutar sus propios escaneos de seguridad o rutinas de diagnóstico, que en realidad exportan datos del contexto del proyecto. Quien trabaje con un editor impulsado por IA y no controle versionadamente los archivos de configuración del repositorio abre un camino que la detección tradicional de endpoints no detecta. Se trata de la primera oleada documentada en la cadena de suministro que utiliza agentes de IA como capas adicionales de ejecución.

Quienes tomen esto en serio dentro del equipo deben tratar a partir de hoy cursorrules y Projekt-CLAUDE.md como scripts de compilación. Revisiones de diferencias por commit, verificaciones de codificación en busca de anomalías Unicode y prohibición de fusiones sin la supervisión de dos pares de ojos.

Mitigaciones en CI/CD: qué ayuda y qué perjudica

Qué perjudica

  • Compiladores con acceso a Internet y sin filtros de salida
  • npm install sin la opción –ignore-scripts en CI
  • Archivos de bloqueo sin verificación de hash durante la restauración
  • Cuentas de servicio compartidas entre múltiples proyectos
  • cursorrules y Projekt-CLAUDE.md sin seguimiento en el espacio de trabajo

Qué ayuda

  • npm ci –ignore-scripts, pip –no-build-isolation controlados
  • Creación de SBOM por cada compilación, firmadas digitalmente
  • Listas blancas en lugar de negras en los registros
  • Credenciales de compilación efímeras basadas en OIDC, sin tokens estáticos
  • Compilaciones reproducibles con comparación de hashes respecto al último run verde

Los filtros de salida son una herramienta subestimada. Incluso si un postinstall malicioso se ejecuta durante la compilación, sin conexión saliente hacia redes externas carece de destino para las credenciales. Quien aún opere su runner de GitHub Actions o su executor de GitLab en una VPC simple sin reglas de salida no logrará avanzar con npm audit.

El segundo ganador silencioso es OIDC. Una compilación que obtenga su token efímero de AWS únicamente en el momento de la ejecución desde el emisor OIDC del CI no dispone de una clave de nube permanente que TrapDoor pueda robar. Esto desplaza el período de ataque desde el secreto perpetuo hasta la duración de la compilación.

NIS2 y DORA: dónde el tema ya es hoy obligatorio documentar

El artículo 21 de NIS2 enumera la seguridad de la cadena de suministro como una de las medidas mínimas de gestión de riesgos que un proveedor esencial o importante debe implementar. En concreto: evaluación documentada de los proveedores directos y de servicios, incluidas las dependencias de software. Una dependencia npm en una compilación utilizada en producción no es jurídicamente menos proveedor que un módulo de control adquirido externamente.

DORA exige para el sector financiero en los artículos 28 y 30 un inventario completo de terceros TIC más riesgos de concentración documentados. Quien como banco o proveedor de servicios financieros utilice un repositorio npm con cientos de dependencias transitivas sin registrarlas en el registro de terceros TIC, tendrá un flanco abierto en la próxima auditoría.

Ambos marcos normativos no exigen una protección completa contra paquetes Zero-Day, pero sí exigen un proceso trazable. Aquí radica precisamente la palanca de NIS2 y DORA para los responsables de seguridad: TrapDoor se convierte en un caso práctico concreto con el que medir los propios procesos de la cadena de suministro.

Plan de acción 30 días
Día 1 a 3
Activar filtros de salida (Egress) en los runners de CI/CD, limitar los destinos salientes a la lista blanca del registro. Efectividad inmediata, baja complejidad.
Día 4 a 10
Cambiar npm ci y pip a –ignore-scripts o aislamiento de compilación controlado. Anclar la generación de SBOM por cada compilación.
Día 11 a 20
Implementar federación OIDC para credenciales cloud en CI, marcar como obsoletos y rotar los tokens de servicio de larga duración.
Día 21 a 30
Versionar cursorrules y CLAUDE.md del proyecto en todas partes, diff de codificación en hook pre-commit. Actualizar documentación NIS2 y DORA por repositorio.

Cuatro semanas son una ventana realista si el equipo de seguridad redacta los tickets y el equipo de plataforma construye. El orden es intencionadamente asimétrico: Egress antes que SBOM antes que OIDC antes que configuración de IA. Quien siga este orden, cierra primero las vías por las que TrapDoor exfiltra datos y después se ocupa de los temas estructurales.

Qué queda pendiente

Socket describe a un atacante que sabe mucho sobre sistemas de compilación modernos y editores de IA. La próxima ola probablemente no residirá en paquetes pep y npm, sino en Helm-Charts, imágenes base de contenedores o directamente en flujos de trabajo de GitHub Actions. Por tanto, quien despache TrapDoor simplemente como un incidente de npm, estará planificando al margen del siguiente vector.

Vale la pena tratar desde hoy la propia plataforma CI/CD como un sistema de producción en ejecución, no como una herramienta auxiliar. Con todo lo que ello implica: línea base de endurecimiento (hardening), monitorización, manual de incidentes y responsabilidades documentadas.

Preguntas frecuentes

Cada pregunta está bloqueada. Un toque desbloquea la respuesta.

¿Qué paquetes están marcados actualmente como maliciosos?

Socket documenta 34 paquetes y más de 384 versiones a través de npm, PyPI y Crates.io. Ejemplos individuales del informe de Socket son prompt-engineering-toolkit, solidity-deploy-guard y defi-threat-scanner. Socket mantiene una lista completa y continuamente actualizada en la publicación original del blog. Los propios inventarios de compilación deben cotejarse con esta lista.

¿Estoy afectado si ejecuto npm install localmente?

Localmente el riesgo es alto, porque postinstall se dispara sin más restricciones. En CI/CD es aún mayor, porque los runners de compilación suelen tener acceso a credenciales cloud de larga duración y claves SSH. Quien trabaje en ambos entornos sin filtros de salida, sin npm ci –ignore-scripts y sin comparación de SBOM, debería revisar hoy los registros de las últimas 72 horas.

¿Qué se debe hacer concretamente con Cursor y Claude Code?

Los archivos de configuración como cursorrules y Project-CLAUDE.md deben estar versionados en cada repositorio. Un hook pre-commit que verifique la presencia de caracteres Unicode de ancho cero en el archivo previene la variante más obvia del ataque. Además, la cuestión de qué fuentes externas lee un editor de IA en tiempo de ejecución debe formar parte de cada documento de incorporación.

¿Cómo encaja TrapDoor en la evaluación de riesgos NIS2?

El artículo 21 de la NIS2 exige una evaluación documentada de los riesgos de la cadena de suministro. Una dependencia de código abierto con un mantenedor poco claro es jurídicamente un proveedor. Quien no dispone de un proceso que evalúe los paquetes antes de su inclusión y los supervise después, tiene un hallazgo de auditoría claro.

¿Compensa el cambio a espejos de registro privados?

Sí, para equipos con alta frecuencia de compilación y una base de código cercana a producción. Un espejo interno con lista blanca y verificación de hash desplaza el modelo de confianza lejos del registro público. El esfuerzo es real, pero la protección es verificable y auditable, lo cual cuenta explícitamente bajo NIS2 y DORA.

Consejos de lectura de la redacción

Selección de la redacción

RecomendadoCero confianza en el proveedor de energía: lo que ahora revelan las auditorías de NIS2RecomendadoNIS2 se encuentra con la Ley CLOUD: ¿Quién responde por la brecha de terceros países?RecomendadoAnálisis de amenazas impulsado por IA: lo que necesitan ahora los SOC alemanes

Más de la red MBF Media

cloudmagazinIngeniería de plataforma para el cumplimiento: Los IDP imponen NIS2 y DORAMyBusinessFutureLa transferencia rompe la optimizaciónDigital ChiefsSaaS-Renovaciones: dónde se encuentra el aumento de precio silencioso

Lectura adicional

Una revista de Evernine Media GmbH