Una vulnerabilidad detectada en un workflow público de GitHub Actions del repositorio snowflake-connector-net ha mostrado cómo un error en una canalización CI/CD puede convertirse en una vía de acceso a secretos internos. El problema podía permitir inyección de comandos y poner en riesgo credenciales relacionadas con Jira.
La cadena de desarrollo también es superficie de ataque
Los pipelines modernos ejecutan código automáticamente, descargan dependencias y utilizan tokens para interactuar con repositorios, servicios cloud y herramientas internas. Por eso un workflow mal diseñado puede tener un impacto superior al de un fallo convencional en una aplicación.
Cuando datos controlables por un usuario terminan interpolados dentro de comandos ejecutados por el runner, una entrada aparentemente inocua puede convertirse en una instrucción para el sistema.
Secretos y permisos mínimos
La defensa debe partir del principio de que cada workflow posee únicamente los permisos imprescindibles. Los tokens deben tener alcance reducido, duración limitada cuando sea posible y no exponerse a ejecuciones originadas desde contextos no confiables.
También es recomendable revisar acciones de terceros, fijar versiones confiables, proteger ramas y separar runners sensibles de trabajos que procesan contribuciones externas.
Qué buscar en una auditoría
En hacking ético autorizado, una revisión de CI/CD debería comprobar expresiones interpoladas en shell, eventos que activan workflows, uso de pull_request_target, permisos del GITHUB_TOKEN, secretos disponibles y posibilidad de modificar scripts ejecutados con privilegios.
El objetivo no es explotar repositorios ajenos, sino detectar rutas de confianza peligrosas antes de que puedan ser utilizadas por un atacante real.
Fuente principal: Consultar fuente