Distribución de malware: ficheros en comentarios de GitHub
Los ciberdelincuentes siempre tratan de encontrar nuevas formas de distribución de malware que tengan una apariencia cuanta más legítima e inocua mejor. En este artículo analizaremos el último capítulo de esta eterna saga con el abuso de los comentarios en Github, un ataque recientemente descubierto por investigadores de la firma de seguridad McAfee.
¿Qué ha ocurrido?
Investigadores de McAfee han publicado un informe técnico sobre la distribución del malware Redline Infostealer. Lo interesante del informe bajo nuestro punto de vista es que dentro de la cadena de ataque se ha descubierto un abuso de la subida de ficheros dentro de comentarios en las issues de Github de proyectos de Microsoft. Por ejemplo, en el conocido proyecto de gestión de librerías de c++, vcpkg
.
No es que un repositorio de Microsoft estuviera distribuyendo malware desde febrero, sino que se utilizaba el repositorio legítimo para que el malware alojase ahí archivos que no forman parte de vcpkg
, sino que se subieron como parte de un comentario dejado en un commit o issue. Los atacantes conseguían que la url de distribución fuese totalmente legítima, aunque distribuyese malware.
¿Cómo funciona este mecanismo de distribución?
McAfee publica este esquema de la distribución para el caso del stealer que analizaban:

Centrándonos en la parte inicial de la cadena de ataque, se puede ver el uso del repositorio GitHub de vcpkg
de Microsoft como url inicial.
Esto es posible ya que, al dejar un comentario, un usuario de GitHub puede adjuntar un archivo (archivos comprimidos, documentos, etc.), que se subirá al CDN (Cloud Delivery Network) de GitHub y se asociará con el proyecto relacionado utilizando una URL única en el siguiente formato:
https://www[.]github[.]com/{usuario_del_proyecto}/{nombre_del_repositorio}/files/{id_del_archivo}/{nombre_del_archivo}
Esto se debe a un potencial error o mala decisión de diseño de GitHub. En lugar de generar la url después de que se publique un comentario, GitHub genera automáticamente el enlace de descarga después de agregar el archivo a un comentario no guardado. Esto permite a los actores de amenazas adjuntar su malware a cualquier repositorio sin que ellos lo sepan.
Incluso si el atacante decide no publicar el comentario o eliminarlo después de que se haya publicado, los archivos no se eliminan del CDN de GitHub, y las URLs de descarga continúan funcionando.
Impacto
Como la URL del archivo contiene el nombre del repositorio en el que se creó el comentario, y como casi todas las empresas de software utilizan GitHub, este defecto puede permitir a los ciberdelincuentes desarrollar urls maliciosas extraordinariamente robustas y confiables.
Aunque el ataque detectado se centró en repositorios de código de Microsoft realmente la superficie de ataque es muy amplia, cualquier repositorio de código público hospedado en Github (o incluso en Gitlab que tomó la misma decisión de diseño como se ha evidenciado).
Repasemos tres ejemplos de potenciales usos relevantes de esta técnica de ataque:
- Suplantación de herramientas de seguridad: Un atacante podría subir versiones maliciosas de parches de seguridad populares o herramientas dentro de repositorios que alojan software de ciberseguridad. Por ejemplo, podrían subir una versión troyanizada de un archivo de actualización de una herramienta antivirus conocida, engañando a los usuarios para que descarguen y ejecuten malware bajo la apariencia de mejorar la seguridad.
- Complementos para herramientas de desarrollo IDEs: En repositorios que almacenan herramientas de desarrollo o complementos, los atacantes podrían subir actualizaciones o extensiones maliciosas. Esto podría ser particularmente efectivo en repositorios para IDEs como Visual Studio Code o marcos de desarrollo populares, donde los archivos adicionales podrían presentarse como mejoras de rendimiento o nuevas características.
- Explotación de proyectos de firmware y hardware: En repositorios que tratan con firmware o controladores de hardware, subir archivos de firmware comprometidos o actualizaciones de controladores podría llevar a la manipulación directa de dispositivos físicos. Los usuarios que descarguen estas actualizaciones podrían instalar sin su conocimiento firmware que podría alterar el comportamiento del dispositivo o permitir el acceso remoto.
Mitigación
Desafortunadamente, incluso si una empresa se entera de que sus repositorios están siendo abusados para distribuir malware, no existe ninguna configuración que permita gestionar los archivos adjuntos a sus proyectos.
Una vez detectado una organización puede contactar con GitHub para eliminar de forma individual dicho fichero…pero es evidente que esta mitigación no escala de forma adecuada.
Otra alternativa para proteger una cuenta de GitHub de ser abusada de esta manera y minar tu reputación sería desactivando los comentarios. GitHub permite desactivar temporalmente los comentarios por un máximo de seis meses a la vez.
Sin embargo, restringir los comentarios puede afectar significativamente el desarrollo de un proyecto, ya que no permitirá a los usuarios informar sobre errores o sugerencias.
Conclusiones
La distribución del malware sigue y seguirá buscando, de forma creativa, lugares confiables donde poder generar activos para desencadenar sus cadenas de ataque…. esto será una realidad hoy cuando leas esto o dentro de 5, 10 años es lo que se denomina un campo “evergreen” donde los atacantes siguen buscando peces en el mar.
En este artículo hemos repasado como un “leve” fallo de diseño en la subida de ficheros dentro de la plataforma de gestión de código Github puede ocasionar un caudal significativo de aparición de urls aparentemente legítimas para la distribución de malware. Alertamos sobre la especial relevancia de este nuevo vector de ataque en proyectos de firmware, hardware, IDEs y sus complementos y repositorios de herramientas de seguridad.
🧠 Nota Mental: Hasta una efectiva mitigación por parte de GitHub, que sin duda llegará, es necesario estar especialmente atento a las urls de Github no incluidas en las releases oficiales y repositorios de código fuente descargables.
Como curiosidad final, la creatividad no solamente se encuentra en el lado de los atacantes. Se han detectado usos “legítimos” de esta capacidad de introducir en CDN previo a la publicación en Github, por ejemplo, para el almacenamiento de imágenes para un blog como podemos ver en el siguiente tweet:

Más tarde o más temprano será abordada por la plataforma y no es una alternativa a largo plazo.
______