Un nuevo ataque a la cadena de suministro dirigido al ecosistema Node Package Manager (npm) está robando credenciales de desarrolladores e intenta propagarse a través de paquetes publicados desde cuentas comprometidas.
La amenaza fue detectada por investigadores de las empresas de seguridad de aplicaciones Socket y StepSecurity en múltiples paquetes de Namastex Labs, una compañía que proporciona soluciones basadas en inteligencia artificial para mejorar la rentabilidad.
Socket señaló que las técnicas utilizadas para el robo de credenciales, la exfiltración de datos y la autopropagación eran similares a los ataques TeamPCP/CanisterWorm, pero la evidencia disponible no permitió una atribución concluyente.
Al momento de la publicación, Socket enumera un conjunto de 16 paquetes de Namastex ya comprometidos en el nuevo ataque a la cadena de suministro. Entre ellos se incluyen: @automagik/genie, pgserve, @fairwords/websocket, @fairwords/loopback-connector-es, @openwebconcept/theme-owc y @openwebconcept/design-tokens. Estos paquetes se utilizan en herramientas de agentes de IA y operaciones de bases de datos, por lo que el ataque apunta a endpoints de alto valor en lugar de buscar infecciones masivas. Sin embargo, debido a su función similar a un gusano, su propagación puede expandirse rápidamente si se cumplen las condiciones.
Los investigadores encontraron que el código malicioso inyectado recopila datos sensibles asociados con varios secretos, como tokens, claves de API, claves SSH, credenciales para servicios en la nube, sistemas CI/CD, registros, plataformas LLM y configuraciones de Kubernetes/Docker. Además, intenta extraer datos sensibles almacenados en Chrome y Firefox, incluyendo carteras de criptomonedas como MetaMask, Exodus, Atomic Wallet y Phantom.
StepSecurity afirma que el malware 'es un gusano de cadena de suministro' que puede encontrar tokens de publicación en npm e inyectarse 'a sí mismo en cada paquete que ese token pueda publicar, propagando el compromiso aún más'.
Según StepSecurity, las versiones maliciosas de pgserve se publicaron por primera vez el 21 de abril a las 22:14 UTC, con otras dos versiones maliciosas posteriores el mismo día. Si se encuentran tokens de publicación en el sistema comprometido en variables de entorno o en el archivo ~/.npmrc, el script malicioso identifica los paquetes que la víctima puede publicar, añade la carga útil y los republica en npm con un número de versión incrementado. Estos paquetes recién infectados ejecutan el mismo proceso al instalarse, permitiendo una propagación recursiva. Los investigadores señalaron que, si se encuentran credenciales de PyPI, se aplica un método similar a los paquetes de Python utilizando una carga útil basada en .pth, convirtiendo esto en un ataque multiecosistema.
Los desarrolladores deben tratar todas las versiones de paquetes listadas como maliciosas, eliminarlas de sistemas y pipelines CI/CD de inmediato, y rotar todos los secretos potencialmente expuestos. Tanto Socket como StepSecurity proporcionan indicadores de compromiso para ayudar a los defensores a identificar entornos de desarrollo comprometidos o defenderse de este ataque.
Las acciones recomendadas en entornos donde se encuentren paquetes afectados incluyen eliminarlos de sistemas de desarrollo y CI/CD, rotar todas las credenciales y datos secretos, y buscar espejos, artefactos y cachés internos de paquetes. Socket también aconseja a los defensores auditar en busca de paquetes relacionados con el mismo archivo public.pem, el mismo host de webhook o el mismo patrón postinstall.