Asegura tus flujos de trabajo en GitHub Actions con CodeQL para mejorar la seguridad

Elena Digital López

En los días recientes, se ha alcanzado un significativo avance en la seguridad de los proyectos de código abierto, con la identificación y resolución de más de 90 vulnerabilidades en 75 flujos de trabajo de GitHub Actions. Este esfuerzo exhaustivo no solo ha elevado los estándares de seguridad dentro de la comunidad de desarrolladores, sino que también ha resultado en la introducción de un nuevo apoyo para los flujos de trabajo en CodeQL, que brinda a los desarrolladores herramientas más robustas para proteger sus proyectos.

A través de una serie de artículos enfocados en cómo mantener seguras las acciones de GitHub, se han identificado y abordado las vulnerabilidades más frecuentes. A pesar de las advertencias y las guías disponibles, muchas de estas fallas de seguridad persisten, principalmente por la falta de conciencia sobre cómo los componentes del sistema interactúan y los riesgos que estas vulnerabilidades pueden traer a los repositorios y organizaciones.

Para enfrentar este desafío, se ha incorporado soporte de CodeQL específicamente para GitHub Actions, una herramienta vital que permite el escaneo tanto de flujos de trabajo existentes como de nuevos. Este recurso es fundamentalmente accesible, ya que el escaneo de código y las funciones de Copilot Autofix son servicios gratuitos para los repositorios de código abierto, permitiendo así que todos los repositorios públicos en GitHub puedan beneficiarse de esta mejora en la detección y resolución de vulnerabilidades.

El desarrollo de estas herramientas ha incluido nuevas capacidades en CodeQL, como el seguimiento de contaminación y un soporte mejorado para scripts de bash. Estas capacidades son esenciales para identificar vulnerabilidades complejas y fuentes de datos no confiables. El seguimiento de contaminación resulta especialmente útil al identificar casos donde un dato potencialmente corrupto podría ser interpolado en un script, lo que podría causar inyecciones de código y otros ataques.

Los scripts de Bash, comúnmente usados en los flujos de trabajo de GitHub, han sido un foco central de esta mejora, ya que el entendimiento y gestión de datos contaminados son críticos para prevenir vulnerabilidades. Los avances en análisis de acciones de terceros también han permitido identificar 62 fuentes, 129 resúmenes y 2199 recipientes vulnerables, abordando así problemas más allá de la simple inyección de código, como la exposición indebida de secretos.

Las pruebas realizadas en una multitud de proyectos de código abierto han validado la efectividad de estas nuevas consultas de seguridad, permitiendo la identificación de vulnerabilidades en organizaciones tan influyentes como Microsoft, GitHub, Adobe y Apache. Este avance augura un futuro más seguro para el software de código abierto, aumentando la protección contra ataques de cadena de suministro.

Los desarrolladores interesados pueden comenzar a habilitar estas nuevas capacidades de seguridad en sus configuraciones de GitHub, un paso crucial hacia la protección de los flujos de trabajo y la prevención de posibles brechas de seguridad en el software comunitario que millones utilizan diariamente.