20 de junio de 2025

Configuraciones inseguras de GitHub Actions ponen en riesgo proyectos open source

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?

  1. 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.
  2. Acceso a GITHUB_TOKEN con permisos write: el payload puede modificar el repositorio, subir artefactos infectados o publicar nuevas versiones.
  3. 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 de pull_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, configurando permissions: 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

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