Un ataque sofisticado y generalizado de la cadena de suministro ha golpeado el ecosistema NPM, comprometiendo el popular paquete @Ctrl/TinyColor, que se descarga más de 2 millones de veces por semana.
El ataque también afectó a más de 40 paquetes de varios mantenedores, introduciendo un malware peligroso autopropagante diseñado para robar credenciales de desarrolladores y extenderse en todo el panorama del software.
El incidente salió a la luz después de que los usuarios descubrieron actividades sospechosas en Github y rápidamente alertaron a la comunidad de código abierto.
Las versiones maliciosas, identificadas como 4.1.1 y 4.1.2 de @ctrl/tinycolor, se eliminaron rápidamente del registro NPM, pero no antes de que se distribuyeran.
Analistas de seguridad de StepSecurity más tarde proporcionó Un desglose técnico detallado del ataque, confirmando su gravedad y método de propagación único.
El malware autoprayente infecta los paquetes de NPM
Lo que distingue a este ataque es su comportamiento automatizado y similar a un gusano. El malware contiene un “motor de autopropagación” que busca activamente e infecta otros paquetes de software.
Una vez que la máquina de un desarrollador se ve comprometida, el malware utiliza una función llamada npmmodule.updatepackage para inyectar su código malicioso en otros proyectos mantenidos por el mismo autor.
Esto crea un efecto en cascada, lo que permite la amenaza de propagarse rápidamente a través de la Web de Dependencias de Software interconectadas sin más intervención manual de los atacantes.
El objetivo principal del malware es la recolección de credenciales agresivas. Los atacantes reutilizaron una herramienta legítima de escaneo secreto, Trufflehog, para buscar información confidencial sobre sistemas comprometidos. Se dirige específicamente a una amplia gama de valiosos secretos de desarrolladores, que incluyen:
TOKENS DE AUTENTACIÓN NPM GitHub Tokens personales Tokens Servicios web de Amazon Web Services (AWS) CREVISTAS DE SERVICIO DE SERVICIO DE LA PLATA DE CLOUM CLOUD (GCP) Credenciales de Microsoft Azure Credenciales
Para garantizar su persistencia, el malware crea un archivo de flujo de trabajo de GitHub de Malicioso llamado .github/Workflows/Shai-Hulud-Workflow.yml.
Este archivo permite a los atacantes mantener el acceso a repositorios comprometidos, potencialmente reinfectándolos o exfiltrando más datos con el tiempo. Todos los datos robados se canalizaron a un punto final expuesto públicamente en el servicio webhook.site.
Mitigaciones
En respuesta a esta amenaza crítica, los expertos en seguridad instan a los desarrolladores y organizaciones a tomar medidas inmediatas.
El primer paso es verificar todos los proyectos para la presencia de los paquetes comprometidos y sus versiones maliciosas. Si se encuentran, deben eliminarse o degradarse a una versión segura de inmediato.
Dadas las extensas capacidades de robo de credenciales del malware, girar todos los secretos potencialmente expuestos es crucial. Esto incluye tokens NPM, tokens de acceso GitHub y todas las credenciales del proveedor de la nube (AWS, Azure, GCP) que pueden haber estado presentes en los sistemas de desarrollo o CI/CD.
Finalmente, se recomienda una auditoría exhaustiva de la infraestructura. Los desarrolladores deben escanear sus repositorios para el archivo malicioso de Shai-Hulud-Workflow.yml, revisar la actividad de publicación reciente de NPM para cualquier lanzamiento de paquetes no autorizado y monitorear el tráfico de red saliente para cualquier conexión con el punto final de exfiltración conocido.
Según la información proporcionada, aquí hay una lista de los paquetes comprometidos y sus versiones afectadas.
Versión afectada de PackageMalicious(s)@ctrl/tinycolor4.1.1, 4.1.2@Ctrl/Deluge7.2.2angulartics214.1.2@Ctrl/Golang-Template1.4.3@Ctrl/Magnet-Link4.0.4@Ctrl/Ngx-Codemirror7.0.2@Ctrl/Ngx-CSV6. 0.2@ctrl/ngx-emoji-mart9.2.2@ctrl/ngx-rightClick4.0.2@ctrl/qbittorrent9.7.2@ctrl/react-adsense2.0.2@ctrl/compartido-torrent6.3.2@ctr l/torrent-file4.1.2@ctrl/transmission7.3.1@ctrl/ts-base324.0.2Counter-playground0.0.5json-rules-ingenio simplificado 0.2.4@nativos Cript-Community/GestureHandler2.0.35@NativeScript-Community/Sentry4.6.43@NativeScript-Community/Text1.6.13@NativeScript-Communit y/ui-collectionView6.0.6@nativeScript-Community/ui-drawer0.1.30@nativeScript-Community/UI-IMage4.5.6@NativeScript-Community/UI-M Sheet de botas de botas ateriales7.2.72@nativeScript-Community/UI-Material-Core7.2.76@NativeScript-Community/UI-Material-Core-Tabs7.2.76ngx-Co lor10.0.2ngx-tastr1.9.0.2ngx thend8.0.1react-confunteraint-iMage0.0.35react-jsonschema-formy-condicional -extras1.0.4rxnt-autorication0.0.6rxnt-healthchecks-nestjs1.0.5rxnt-kue1.0.7swc-plugin-component-anotate1.9.2ts-gaussian3.0.0.6
¡Webinar gratuito en vivo en nuevas tácticas de malware de nuestros analistas! Aprenda técnicas de detección avanzada -> Regístrese gratis








