Seguridad

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.

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.