En los últimos meses, se ha intensificado el enfoque en la seguridad de los flujos de trabajo de GitHub Actions, con la protección de más de 75 proyectos de código abierto y la revelación de más de 90 vulnerabilidades distintas. Este esfuerzo ha llevado al desarrollo de un nuevo soporte para flujos de trabajo en CodeQL, que promete mejorar significativamente la seguridad para los desarrolladores.
La serie de artículos publicada recientemente ofrece un análisis detallado de las vulnerabilidades más comunes en los flujos de trabajo de GitHub Actions y estrategias para abordarlas. A pesar de la creciente conciencia respecto a estos temas, las vulnerabilidades siguen siendo frecuentes, en parte debido a la falta de comprensión sobre cómo interactúan los componentes dentro de los proyectos y las serias repercusiones que pueden tener.
Para combatir esta problemática, CodeQL ahora incorpora soporte para GitHub Actions, permitiendo a los desarrolladores escanear tanto los flujos de trabajo existentes como los nuevos en busca de vulnerabilidades. Dado que CodeQL y Copilot Autofix son gratuitos para los repositorios de código abierto, todos los desarrolladores con repositorios públicos podrán beneficiarse de estas nuevas capacidades, facilitando la detección y remediación de vulnerabilidades.
El equipo de desarrollo ha ampliado las capacidades de CodeQL mediante la incorporación de técnicas avanzadas como el seguimiento de contaminación y soporte para bash, elementos clave para identificar complejos patrones de vulnerabilidad. El seguimiento de contaminación, por ejemplo, ayuda a localizar cuando los datos no confiables se integran en scripts de manera peligrosa, lo que puede resultar en inyecciones de código.
La relevancia de incluir scripts de Bash en estas mejoras se debe a su uso frecuente en los flujos de trabajo de GitHub. Comprender el flujo de datos a través de estos scripts es esencial para evitar posibles fallas de seguridad. Además, el análisis de acciones de terceros ha permitido identificar numerosas vulnerabilidades a través de nuevas consultas que abordan desde la inyección de código hasta la exposición de secretos y la manipulación de variables de entorno.
Las pruebas realizadas en miles de proyectos de código abierto han demostrado la eficacia de estas nuevas consultas, lo que ha llevado a la identificación y resolución de vulnerabilidades en organizaciones de alto perfil como Microsoft, GitHub, Adobe y Apache.
Con la introducción de estas herramientas, se espera que los desarrolladores puedan fortalecer la seguridad de sus flujos de trabajo en GitHub, reduciendo el riesgo de ataques en la cadena de suministro del software de código abierto. Los repositorios que deseen implementar esta solución pueden habilitar el análisis de acciones en sus configuraciones para beneficiarse de las mejoradas capacidades de seguridad.