Investigación revela que múltiples repositorios muy populares, incluidos los de MITRE y Splunk, emplean configuraciones peligrosas en sus workflows de GitHub Actions, sobre todo al abusar del evento pull_request_target
. Esta práctica concede a las pull requests de colaboradores externos acceso a los secretos del repositorio, lo que abre la puerta a ataques de cadena de suministro y robo de credenciales.
¿Cómo se materializa el riesgo?
pull_request_target
+ checkout de código no confiable: el workflow se ejecuta con permisos de la rama principal, pero compila código del fork atacante.- Acceso a
GITHUB_TOKEN
con permisos write: el payload puede modificar el repositorio, subir artefactos infectados o publicar nuevas versiones. - Exfiltración de secretos: API keys, credenciales de despliegue y tokens de publicación quedan expuestos mediante simples comandos
echo $SECRET | curl ...
.
Los analistas demostraron la técnica sobre proyectos como MITRE Cyber Analytics Repository y Splunk Security Content, logrando la exfiltración de tokens con privilegios completos en segundos.
Impacto potencial
- Compromiso total del repositorio: modificación de código, releases y documentación.
- Ataques aguas abajo a organizaciones que consumen estos paquetes como dependencias.
- Facturación ilícita en servicios cloud si las claves robadas otorgan acceso a infraestructuras externas.
Recomendaciones
- Migrar al evento
pull_request
en lugar depull_request_target
para evitar que las pull requests de forks externos tengan acceso a los secretos del repositorio. - Aplicar el principio de mínimos privilegios al
GITHUB_TOKEN
, configurandopermissions:
con solo los ámbitos estrictamente necesarios (por ejemplo,contents: read
). - Bloquear la ejecución de código procedente de forks añadiendo una condición en el workflow (
if: github.event.pull_request.head.repo.fork == false
) para impedir que Jobs privilegiados se lancen sobre código no confiable. - Referenciar acciones mediante etiquetas o SHA inmutables —p. ej.
actions/checkout@v4.1.2
— y firmar las acciones propias para garantizar la integridad de la cadena de suministro. - Auditar periódicamente los archivos de workflow con herramientas de seguridad de CI/CD como Scorecard, GHA-Guard o Sysdig
zizmor
, a fin de detectar permisos excesivos, uso de eventos riesgosos y secretos expuestos.
Más información
- CyberSecurityNews – Insecure GitHub Actions in Open Source Projects: MITRE and Splunk Expose Critical Vulnerabilities
- Sysdig TRT – Dangerous by default: Insecure GitHub Actions found in MITRE, Splunk and others
- GitHub Docs – Security hardening for GitHub Actions
La entrada Configuraciones inseguras de GitHub Actions ponen en riesgo proyectos open source se publicó primero en Una Al Día.
☞ El artículo completo original de Hispasec lo puedes ver aquí
No hay comentarios.:
Publicar un comentario