
Un truco en GitHub podría permitir a los atacantes robar secretos de importantes proyectos, y pocos están prestando atención.
Una sola línea de código podría posibilitar que los hackers accedan a los sistemas de MITRE y Splunk.
Un reciente análisis realizado por el equipo de Investigación de Amenazas de Sysdig ha revelado vulnerabilidades críticas en los flujos de trabajo de GitHub Actions, que podrían representar riesgos significativos para importantes proyectos de código abierto. En particular, se han identificado problemas relacionados con la configuración errónea del desencadenador pull_request_target
, que podría permitir a los atacantes tomar control de repositorios activos o acceder a credenciales sensibles.
El equipo demostró esta vulnerabilidad comprometiendo proyectos de organizaciones reconocidas como MITRE y Splunk. GitHub Actions, que se utiliza ampliamente en el desarrollo de software moderno por sus capacidades de automatización, a menudo conlleva riesgos de seguridad que son pasados por alto. El informe expresa que "los ataques en la cadena de suministro moderna a menudo comienzan abusando de flujos de trabajo inseguros", subrayando cómo secretos como tokens o contraseñas, si no están debidamente protegidos, pueden ser explotados.
A pesar de la existencia de buenas prácticas y documentación al respecto, muchos repositorios continúan utilizando configuraciones de alto riesgo, ya sea por descuido o falta de conciencia. El inconveniente principal radica en el desencadenador pull_request_target
, que ejecuta flujos de trabajo en el contexto de la rama principal. Esta configuración concede privilegios elevados, incluidos el acceso a GITHUB_TOKEN
y secretos del repositorio, a códigos enviados desde forks.
Si bien esta mecánica está diseñada para facilitar pruebas previas a la fusión, también permite la ejecución de código no confiable, creando una superficie de ataque que es fácil de pasar por alto. Los riesgos no son hipotéticos; por ejemplo, en el repositorio Spotipy, que se integra con la API Web de Spotify, Sysdig encontró una configuración que podría ejecutar código y recopilar secretos mediante un archivo `setup.py modificado. Asimismo, en el Repositorio de Análisis Cibernético de MITRE, se pudo ejecutar código arbitrario al modificar dependencias, y Sysdig confirmó que era posible tomar el control de la cuenta de GitHub relacionada con el proyecto.
Incluso el repositorio security_content
de Splunk tenía secretos como APPINSPECTUSERNAME
y APPINSPECTPASSWORD
expuestos, a pesar de que el alcance del GITHUB_TOKEN
es limitado. En este contexto, es recomendable que los desarrolladores reconsideren el uso de pull_request_target
, optando por alternativas más seguras. Sysdig sugiere separar flujos de trabajo, realizar verificaciones sin privilegios primero y solo permitir tareas sensibles tras validación. También es vital limitar las capacidades de los tokens y adoptar monitoreo en tiempo real utilizando herramientas como Falco Actions para protegerse adecuadamente.