Upwind: Paquetes npm de AsyncAPI afectados por un ataque a la cadena de suministro
Los desarrolladores a menudo asumen que los paquetes publicados a través de canales oficiales han pasado por un proceso de lanzamiento seguro. Esa suposición es fundamental para el desarrollo de software moderno, donde los componentes de código abierto se integran rutinariamente en aplicaciones a través de la gestión automatizada de dependencias. Una nueva investigación sugiere que la confianza puede verse desafiada cuando los atacantes obtienen acceso a los sistemas responsables de publicar software.
La empresa de seguridad en la nube Upwind ha publicado hallazgos de una investigación sobre un ataque coordinado que afecta a múltiples paquetes oficiales de AsyncAPI en npm. Según la empresa, la actividad se extendió más allá de un solo paquete comprometido e involucró múltiples repositorios y canalizaciones de publicación, permitiendo que el código malicioso se distribuyera a través de canales de lanzamiento legítimos.
La investigación descubrió múltiples puntos de compromiso
La investigación de Upwind encontró que la campaña afectó varias partes del ecosistema de AsyncAPI.
Los investigadores confirmaron que los atacantes comprometieron dos repositorios de GitHub separados y luego identificaron un segundo compromiso de repositorio independiente. También observaron ataques contra diferentes ramas de lanzamiento y el abuso de diferentes identidades de publicación de OpenID Connect (OIDC) dentro de un período de tiempo relativamente corto.
Tomados en conjunto, esos hallazgos sugieren que los atacantes obtuvieron acceso a múltiples canalizaciones de publicación en lugar de explotar una única debilidad en el proceso de lanzamiento.
La investigación concluye que la operación representó una campaña coordinada dirigida al proceso de lanzamiento de software en sí, en lugar de un compromiso aislado de un paquete.
El código malicioso llegó a través de flujos de trabajo esperados
Un aspecto de la campaña que llamó la atención de los investigadores fue cómo se ejecutó el código malicioso después de que se utilizaron los paquetes comprometidos.
Según Upwind, los atacantes se alejaron de las técnicas comúnmente asociadas con ataques a la cadena de suministro de npm. En lugar de utilizar scripts de preinstalación o postinstalación, el código malicioso se ejecutó durante las importaciones normales de paquetes o a través de rutas de ejecución alternativas.
Debido a que esas acciones ocurrieron como parte del comportamiento esperado de la aplicación, la actividad sería más difícil de identificar utilizando herramientas de seguridad que se centran principalmente en monitorear la instalación de paquetes.
Los investigadores también observaron que, si bien los métodos de ejecución variaron a lo largo de la campaña, los atacantes reutilizaron repetidamente la misma infraestructura y patrones de malware en los repositorios y canalizaciones de publicación comprometidos.
Las implicaciones se extienden más allá de los mantenedores de paquetes
Los paquetes afectados fueron publicados a través de canales oficiales y parecían legítimos para las organizaciones que confiaban en prácticas estándar de gestión de dependencias.
Eso significa que el impacto no se limitó a los repositorios en sí. Upwind dijo que las estaciones de trabajo de los desarrolladores y los entornos de CI/CD que importaron los paquetes afectados deben ser tratados como potencialmente comprometidos porque el código malicioso fue diseñado para ejecutarse durante el uso rutinario de los paquetes.
“Esto no fue solo un paquete malicioso; fue un compromiso de confianza”, dijo Amiram Shachar, CEO y cofundador de Upwind. “Múltiples paquetes oficiales de AsyncAPI fueron publicados con código con puerta trasera de repositorios y canalizaciones de publicación separadas, mostrando que los atacantes están apuntando cada vez más al proceso de lanzamiento de software en sí”.
Los hallazgos subrayan cómo los ataques contra la distribución de software pueden afectar a los usuarios posteriores incluso cuando obtienen paquetes de fuentes legítimas.
Revisando las dependencias después del incidente
Tras la investigación, Upwind recomienda que las organizaciones revisen si las versiones de paquetes afectados ingresaron a sus entornos de desarrollo.
La empresa aconseja verificar las versiones exactas de las dependencias en lugar de asumir que las versiones actuales son seguras. También recomienda fijar las dependencias a versiones verificadas y revisar las actualizaciones de dependencias, archivos de bloqueo y Listas de Materiales de Software (SBOM) en busca de cambios inesperados.
Las organizaciones también deben considerar las estaciones de trabajo de los desarrolladores y los ejecutores de CI/CD que importaron los paquetes afectados como potencialmente comprometidos y rotar cualquier credencial que fuera accesible desde esos entornos.
Visibilidad a lo largo del ciclo de vida del desarrollo
Upwind dice que la investigación demuestra por qué monitorear el software a lo largo del ciclo de vida del desarrollo se está volviendo cada vez más importante. A medida que los atacantes se alejan de las técnicas que se ejecutan durante la instalación y, en cambio, activan código malicioso durante el comportamiento normal de la aplicación, las organizaciones necesitan visibilidad sobre el software después de que ha sido introducido en los entornos de desarrollo.
La empresa dijo que continúa monitoreando la campaña mientras alienta a las organizaciones a fortalecer las prácticas de seguridad de la cadena de suministro de software a medida que los ataques dirigidos a los procesos de lanzamiento de software continúan evolucionando.
Otros artículos
Upwind: Paquetes npm de AsyncAPI afectados por un ataque a la cadena de suministro
Upwind rastrea múltiples paquetes de npm de AsyncAPI comprometidos en un ataque coordinado a la cadena de suministro que tiene como objetivo las canalizaciones de lanzamiento de software y las identidades de publicación.
