En los últimos meses, se ha avanzado significativamente en la identificación y mitigación de vulnerabilidades en GitHub Actions, logrando asegurar más de 75 flujos de trabajo en proyectos de código abierto y revelando más de 90 vulnerabilidades distintas. Este esfuerzo de investigación ha dado lugar a la implementación de un nuevo soporte para flujos de trabajo en CodeQL, una herramienta que busca ayudar a los desarrolladores a proteger sus proyectos de manera más efectiva.
A través de una serie de artículos enfocados en mantener la seguridad de los flujos de trabajo en GitHub Actions, se han resaltado las vulnerabilidades más comunes y las estrategias para abordarlas. A pesar de estas advertencias informativas, las vulnerabilidades persisten, una situación que se atribuye en gran medida a la falta de conocimiento sobre la interacción entre los diferentes componentes del software y el impacto que estas vulnerabilidades pueden tener en organizaciones o repositorios.
Para reducir la introducción de nuevas vulnerabilidades y asistir en la identificación y corrección de las existentes, se ha añadido soporte para CodeQL en GitHub Actions. Este paquete permite escanear flujos de trabajo tanto existentes como nuevos, y, dado que el escaneo de código y la función Copilot Autofix son gratuitos para los repositorios de código abierto, todos los repositorios públicos de GitHub podrán beneficiarse de estas nuevas consultas, lo que mejora la detección y remediación de vulnerabilidades.
El desarrollo ha incluido la incorporación de nuevas capacidades a CodeQL, como el seguimiento de contaminación y el soporte para Bash, lo cual es crucial dado que los scripts de Bash son muy utilizados en los flujos de trabajo de GitHub. El seguimiento de contaminación, por ejemplo, permite discernir cuándo se introduce un dato no confiable en un script, lo que puede dar lugar a inyecciones de código.
Además, se ha realizado un análisis exhaustivo de acciones de terceros, identificando 62 fuentes, 129 resúmenes y 2,199 recipientes que presentan vulnerabilidades. Este análisis ha dado lugar a 18 nuevas consultas que no solo se centran en la inyección de código, sino que también abordan problemas como la exposición excesiva de secretos y la inyección de variables de entorno.
Recientemente, se llevaron a cabo pruebas en miles de proyectos de código abierto para validar la precisión y el rendimiento de estas nuevas consultas, obteniendo resultados positivos que han permitido identificar y reportar vulnerabilidades en organizaciones críticas como Microsoft, GitHub, Adobe y Apache.
Con estas nuevas herramientas y técnicas, se espera que los desarrolladores tengan una mayor capacidad para proteger sus flujos de trabajo en GitHub y prevenir ataques en la cadena de suministro de software de código abierto, beneficiando así a toda la comunidad de desarrolladores. Los repositorios interesados están ahora en condiciones de habilitar el análisis de acciones en sus configuraciones para aprovechar esta nueva capacidad de seguridad.