Compartir:
En los últimos tiempos, se ha llevado a cabo un esfuerzo importante para reforzar la seguridad de los flujos de trabajo de GitHub Actions, centrados en proyectos de código abierto. Este esfuerzo ha permitido identificar más de 90 vulnerabilidades distintas, asegurando 75 flujos de trabajo hasta la fecha. Los resultados de esta investigación han dado lugar a una mejora significativa en las herramientas de seguridad de GitHub, con la integración de nuevos soportes en CodeQL para el análisis de flujos de trabajo.
A través de una serie de artículos dedicados a la seguridad de GitHub Actions, se han detallado las vulnerabilidades más frecuentes. Sin embargo, estas amenazas persisten, en gran parte debido a la falta de conocimiento sobre las interacciones entre diferentes componentes y el impacto potencial de estas debilidades en organizaciones y repositorios.
Para minimizar la aparición de nuevas vulnerabilidades y facilitar la identificación y resolución de las ya existentes, se ha implementado soporte para GitHub Actions en CodeQL. Esto permite a los desarrolladores escanear tanto flujos de trabajo existentes como nuevos. El escaneo de código y Copilot Autofix están disponibles de forma gratuita para repositorios de código abierto, lo que hace posible que todos los repositorios públicos accedan a estas mejoras, optimizando así la detección y corrección de vulnerabilidades.
El proceso ha incluido la adición de nuevas capacidades a CodeQL, como el seguimiento de contaminación y soporte para scripts de bash. Estas adiciones son cruciales para identificar patrones complejos de vulnerabilidades, como la interpolación de datos no confiables en scripts, lo cual puede derivar en inyecciones de código.
Los scripts de bash son frecuentemente utilizados en los flujos de trabajo de GitHub, lo que hace que su inclusión en las nuevas consultas de CodeQL sea esencial. Identificar flujos de datos contaminados a través de estos scripts es vital para evitar posibles amenazas de seguridad.
El análisis de acciones de terceros ha permitido identificar múltiples fuentes de vulnerabilidades, creando 18 nuevas consultas que abordan no solo la inyección de código, sino también la exposición excesiva de secretos y la inyección de variables de entorno.
Estas nuevas capacidades han sido puestas a prueba en miles de proyectos de código abierto, demostrando gran precisión y efectividad. Gracias a este análisis, se han podido identificar y reportar vulnerabilidades en grandes organizaciones como Microsoft, GitHub, Adobe y Apache.
Con estas herramientas avanzadas, se espera que los desarrolladores puedan blindar mejor sus flujos de trabajo en GitHub, previniendo así posibles ataques de cadena de suministro en el software de código abierto. Los repositorios que lo deseen pueden comenzar a activar el análisis de acciones en sus configuraciones para beneficiarse de estas mejoras en seguridad.