¿Alguna vez has considerado que un simple clic en un enlace de GitHub o GitLab podría comprometer tu seguridad informática? A medida que aumenta la popularidad de estas plataformas de colaboración para desarrolladores, también lo hace el interés de los ciberdelincuentes por explotar sus vulnerabilidades.
Uno de los consejos de seguridad más arraigados dice: "Descarga software únicamente de fuentes confiables". En el caso de numerosas aplicaciones útiles y de código abierto, estas "fuentes confiables" se refieren a menudo al repositorio del desarrollador en plataformas como GitHub o GitLab. Estos sitios son esenciales para cualquiera interesado en la informática, el software y la programación, ya que en ellos se puede acceder al código fuente, actualizaciones y, muchas veces, a una versión lista para implementar de la aplicación. Sin embargo, resultó ser una sorpresa desagradable para muchos, incluidos especialistas en seguridad informática y desarrolladores, descubrir que un archivo en un enlace tipo github{.}com/{Nombre_Usuario}/{Nombre_Repositorio}/files/{id_archivo}/{nombre_archivo} podría haber sido subido por alguien ajeno al equipo de desarrollo original y contener... cualquier cosa. Naturalmente, los ciberdelincuentes no tardaron en explotar esta vulnerabilidad.
Desglosando el problema
GitHub y GitLab son plataformas esenciales para la colaboración en proyectos de desarrollo de software. En estas plataformas, los desarrolladores pueden subir su código para que otros contribuyan con adiciones, correcciones o incluso creen bifurcaciones (versiones alternativas de la aplicación o biblioteca) del proyecto. Si un usuario detecta un error, puede informar al desarrollador mediante un informe de problema, y otros usuarios pueden confirmar este problema a través de comentarios. Además, es posible adjuntar archivos a los comentarios, como capturas de pantalla del error o documentos que provoquen fallos en la aplicación, los cuales se almacenan en los servidores de GitHub usando enlaces específicos.
No obstante, existe una peculiaridad en GitHub: si un usuario prepara un comentario con archivos adjuntos y no presiona "Publicar", la información queda retenida en el borrador y no es visible para el propietario del repositorio ni otros usuarios. A pesar de esto, se genera un enlace directo al archivo en el comentario que está completamente operativo, permitiendo a cualquiera con el enlace descargar el archivo desde el CDN de GitHub.
Se genera un enlace de descarga para un archivo malicioso después de que el archivo se agrega a un comentario no publicado en GitHub
Los propietarios del repositorio no tienen capacidad para eliminar o bloquear este archivo una vez que se ha subido de esta manera. De hecho, ni siquiera están al tanto de su existencia y no existen configuraciones que restrinjan la subida de archivos en el repositorio. La única alternativa sería desactivar los comentarios completamente, lo cual podría impedir que los desarrolladores reciban retroalimentación vital.
GitLab maneja los comentarios de manera similar, permitiendo la publicación de archivos a través de comentarios en borrador. Los archivos son accesibles mediante un enlace estructurado como gitlab.com/{User_Name}/{Repo_Name}/uploads/{file_Id}/{file_name}. Sin embargo, en GitLab, solo los usuarios registrados y que hayan iniciado sesión pueden subir archivos, lo que mitiga el problema hasta cierto punto.
Conoce más sobre: Uso de Wazuh para Monitorear GitHub
Una Herramienta para Campañas de Phishing
La posibilidad de subir archivos arbitrarios en enlaces que empiezan con GitHub/GitLab y que incluyen nombres de desarrolladores respetados y proyectos populares ofrece a los ciberdelincuentes una oportunidad perfecta para ejecutar ataques de phishing altamente convincentes. Se han identificado campañas maliciosas donde se dejan "comentarios" con supuestas aplicaciones trampa para juegos en repositorios de Microsoft, como en el caso del enlace:
https://github{.}com/microsoft/vcpkg/files/…../Cheat.Lab.zip.
Aunque podría resultar extraño encontrar un truco de juego en un repositorio de Microsoft, la presencia de palabras clave como “GitHub” y “Microsoft” puede engañar a la víctima para que no investigue el enlace profundamente. Los delincuentes más astutos pueden camuflar su malware de manera más efectiva, presentándolo como una nueva versión de una aplicación distribuida a través de GitHub o GitLab, utilizando “comentarios” para difundir enlaces maliciosos.
Te podrá interesar: ¿Cómo Fomentar la Conciencia sobre Ciberseguridad en tu Empresa?
¿Cómo Protegerse del Contenido Malicioso en GitHub y GitLab?
Dado que este defecto de diseño aún no se ha corregido y cualquiera puede subir archivos a voluntad en la CDN de GitHub y GitLab, es crucial que los usuarios sean extremadamente cuidadosos. No descargues archivos de enlaces directos de GitHub/GitLab que encuentres en fuentes externas como otros sitios web, correos electrónicos o chats. En su lugar, visita la página del proyecto en github{.}com/{User_Name}/{Repo_Name} o gitlab{.}com/{User_Name}/{Repo_Name} y verifica que puedas descargar el archivo directamente desde allí, asegurándote de que sea un archivo oficial visible en el repositorio.
Asegúrate de que estás en la página del desarrollador correcto, especialmente en GitHub, GitLab y otros repositorios de código abierto donde es común el typosquatting — crear proyectos falsos con nombres muy similares al original, diferenciados por solo una o dos letras (por ejemplo, Chaddev en lugar de Chatdev).
Evita descargar aplicaciones que tengan pocas estrellas o likes y que hayan sido creadas recientemente, ya que pueden ser menos confiables.