Alerta por el ataque CanisterWorm en 47 paquetes npm tras vulnerabilidad en Trivy

Publicado el

Introducción

Un reciente ataque a la cadena de suministro que afecta al popular escáner Trivy ha llevado a la propagación del malware CanisterWorm a un gran número de paquetes npm. Este ataque ha sido atribuido a un grupo de actores maliciosos que han logrado comprometer diversas credenciales, publicando versiones maliciosas de Trivy y otros componentes relacionados.

Detalles del ataque

El malware, denominado CanisterWorm, utiliza un canister de ICP (Internet Computer Protocol) para su funcionamiento, lo que representa un uso inédito de esta tecnología para obtener acceso a un servidor de comando y control (C2). La investigación de Aikido Security destaca que este método de ataque permite a los delincuentes desplegar comandos de manera descentralizada, haciendo más difícil su neutralización.

Los paquetes afectados incluyen 28 en el ámbito de @EmilGroup y 16 en @opengov, junto con otros como @teale.io/eslint-config y @airtm/uuid-base32. El ataque ha ocurrido poco después de que se publicaran versiones maliciosas de Trivy que incluían un roba credenciales.

Mecánica de infección

La cadena de infección aprovecha un hook postinstall para ejecutar un cargador, que luego introduce un backdoor en Python. Este backdoor se conecta al canister ICP para obtener una URL que apunta a un payload de siguiente etapa. La infraestructura descentralizada del canister proporciona resistencia frente a esfuerzos de desmantelamiento, ya que el controlador del canister puede cambiar la URL en cualquier momento.

Además, el backdoor se oculta como una herramienta de PostgreSQL, lo que le permite operar sin ser detectado. Cada 50 minutos, el backdoor se comunica con el canister, buscando actualizaciones en la URL. Si la URL contiene 'youtube[.]com', el script se encuentra en un estado inactivo, lo que permite a los atacantes activar o desactivar la carga útil a voluntad.

Autonomía del CanisterWorm

Una variante del CanisterWorm detectada en versiones específicas de @teale.io/eslint-config ha demostrado la capacidad de auto-propagarse sin intervención manual. A diferencia de los métodos previos, que requerían que el atacante ejecutara un script, esta nueva versión integra la funcionalidad de búsqueda de tokens npm directamente en el proceso de postinstall, recolectando tokens de autenticación de la máquina del desarrollador y propagándose automáticamente.

Este cambio en la dinámica del ataque convierte a cada desarrollador que instala el paquete en un vector de propagación involuntario, permitiendo que malware se difunda rápidamente entre múltiples cuentas y paquetes.

Conclusión

El ataque CanisterWorm representa una nueva dimensión en las amenazas a la seguridad del software, donde un simple compromiso de cuenta puede llevar a una cadena de infecciones devastadora. Cada desarrollador que tenga acceso a un token npm se convierte en un posible blanco, lo que subraya la importancia de proteger las credenciales y ser cauteloso con las dependencias del software.

A medida que esta historia se desarrolla, es crucial que los desarrolladores y equipos de seguridad estén al tanto de estos riesgos y tomen medidas proactivas para mitigar las posibles infecciones.

Fuente

Ver noticia original