← Últimos artículos
💻 computer science

Beyond Takedown: Measuring Malicious Go Module Persistence in the Wild

Este artículo revela un ataque a la cadena de suministro de Go a gran escala donde los adversarios empaquetan de nuevo módulos legítimos con malware ofuscado, demostrando que confiar únicamente en las búsquedas de GitHub no logra detectar el alcance total del compromiso debido a que más del 99% de los artefactos maliciosos eliminados siguen siendo recuperables a través de los proxies de Go.

Autores originales: Minjae Bae, Carter Yagemann

Publicado 2026-06-26
📖 4 min de lectura☕ Lectura para el café

Autores originales: Minjae Bae, Carter Yagemann

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina el mundo del desarrollo de software como una biblioteca enorme y bulliciosa donde los programadores piden prestados "módulos" (bloques de código preescritos) para construir sus propias aplicaciones. En el lenguaje de programación Go, esta biblioteca tiene un bibliotecario muy estricto: el Go Proxy.

Aquí está la historia de un robo reciente en esta biblioteca, contada de forma sencilla.

El Robo: "El Club del Libro Falso"

Los atacantes decidieron robar a la biblioteca, pero no derribaron las puertas. En su lugar, jugaron un juego de impostura.

  1. La Preparación: Encontraron libros legítimos y populares (módulos de código legítimos) que todos confiaban.
  2. La Falsificación: Crearon copias falsas de estos libros bajo sus propios nombres. Dentro de estos libros falsos, escondieron una trampa diminuta e invisible.
  3. La Trampa: En el mundo de Go, cuando "importas" (pides prestado) un libro, la biblioteca ejecuta automáticamente algunas tareas de configuración. Los atacantes escondieron una instrucción maliciosa dentro de estas tareas de configuración. Era como un libro que, en el momento en que lo abrías, le susurraba secretamente un comando a tu computadora para descargar y ejecutar un virus.
  4. El Bombo Publicitario: Para que sus libros falsos parecieran reales, los atacantes usaron un "ejército de bots" para darles miles de "estrellas" (likes) en GitHub, engañando a los desarrolladores para que pensaran: "Oh, esto debe ser popular y seguro".

La Investigación: Dos Formas de Mirar

Los investigadores (Minjae Bae y Carter Yagemann) querían ver qué tan grande era realmente este problema. Usaron dos linternas diferentes para buscar a los ladrones.

Linterna 1: La Búsqueda en GitHub (La Vista del "Estante")
Buscaron manualmente en el principal sitio de alojamiento (GitHub), buscando patrones sospechosos y siguiendo las conexiones de "estrellas" entre cuentas.

  • Lo que encontraron: Encontraron 2,113 repositorios falsos.
  • El Problema: Esta linterna solo funciona si el libro falso todavía está sentado en el estante. Si el personal de la biblioteca retira el libro, o si el ladrón nunca puso el libro en el estante principal, esta linterna no ve nada.

Linterna 2: El Escaneo del Proxy (La Vista de la "Circulación")
Construyeron un escáner especial llamado GOAST (un robot que lee código sin ejecutarlo) para escanear el Go Proxy. Esta es la copia de seguridad de la biblioteca. Mantiene una copia perfecta e inalterable de cada libro que ha sido prestado alguna vez, incluso si el libro original se elimina del estante.

  • Lo que encontraron: Encontraron 2,289 versiones maliciosas.
  • La Sorpresa: La linterna del Proxy encontró un 83% más de libros maliciosos que la linterna de GitHub. Muchos de estos libros falsos ni siquiera estaban en el estante principal, o ya habían sido eliminados, pero el Proxy aún los tenía.

El Gran Descubrimiento: "Eliminar" No Significa "Solucionar"

Esta es la parte más importante de la historia.

Normalmente, cuando los equipos de seguridad encuentran un libro malo, le piden a la biblioteca que lo elimine (takedown). Borran el repositorio en GitHub. Piensan: "Genial, la amenaza ha desaparecido".

Los investigadores demostraron que esto es erróneo.

Debido a que el Go Proxy mantiene una copia permanente e inalterable de cada módulo, eliminar la fuente en GitHub no elimina el virus del ecosistema.

  • Los investigadores descubrieron que incluso después de que los repositorios de los atacantes fueran eliminados o suspendidos (haciéndolos "invisibles" en GitHub), el 99.4% de esos módulos maliciosos seguían disponibles y descargables a través del Go Proxy.
  • Es como si el personal de la biblioteca tirara un libro falso a la basura, pero el dron de entrega automatizado de la biblioteca (el Proxy) todavía tuviera una copia perfecta en su almacén y la siguiera entregando a los clientes que la solicitan.

El Resultado

Los investigadores informaron al personal de la biblioteca (GitHub y Google) sobre el problema.

  • GitHub eliminó 684 repositorios maliciosos.
  • Google (el equipo del Proxy) limpió 1,377 versiones de módulos maliciosos de su almacenamiento permanente.

La Lección

No puedes solucionar un problema de la cadena de suministro de software simplemente limpiando la capa de "alojamiento" (GitHub). Si la capa de "distribución" (el Proxy) conserva el código malo, la amenaza sobrevive. Para solucionar realmente el problema, tienes que limpiar tanto el estante como el almacén.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →