El 24 de junio de 2026, Elad Meged, investigador de seguridad y cofundador de Novee Security, publico el analisis completo de Cordyceps: una clase sistematica de vulnerabilidades en los workflows de GitHub Actions que permite a cualquier usuario con una cuenta gratuita de GitHub, sin permisos especiales ni membresia en ninguna organizacion, secuestrar pipelines de CI/CD, robar credenciales permanentes y comprometer la cadena de suministro de software de las organizaciones que dependen de esos repositorios. El nombre es una referencia directa al hongo parasito Cordyceps, conocido por infectar a su huesped, tomar el control de su comportamiento y reproducirse a expensas de el: exactamente lo que esta clase de vulnerabilidad hace con los workflows de desarrollo. Novee escaneo aproximadamente 30.000 repositorios de alto impacto y confirmo mas de 300 completamente explotables, incluyendo proyectos de Microsoft, Google, Apache, Cloudflare y la Python Software Foundation. No es un CVE asignado a una sola herramienta: es un patron de composicion insegura en el codigo de configuracion CI/CD que los escaneadores tradicionales no pueden detectar porque, tecnicamente, cada fichero individual esta funcionando como fue disenado.

¿Que es Cordyceps y que ha revelado la investigacion de Novee Security?

Los hechos documentados por Novee Security, The Hacker News, Dark Reading, Security Boulevard, GBHackers y Hackread son los siguientes:

  • Clase de vulnerabilidad, no un CVE unico: Cordyceps describe un patron sistematico de vulnerabilidades en workflows de GitHub Actions que combina inyeccion de comandos, logica de autenticacion rota, cadenas de envenenamiento de artefactos y escalada de privilegios entre workflows. El problema no reside en un solo fichero: existe en la composicion de multiples workflows que crean fronteras de confianza inseguras que ningun escaneador audita de extremo a extremo.
  • Explotable por cualquier cuenta gratuita de GitHub: el patron es activable por un usuario no autenticado con una cuenta gratuita. Sin membresia en la organizacion. Sin privilegios previos. Un simple comentario en un pull request o una rama con nombre especialmente construido puede desencadenar la cadena de explotacion completa.
  • Escala confirmada: de los 30.000 repositorios escaneados, 654 fueron marcados como potencialmente explotables en un solo pase automatizado, y mas de 300 fueron confirmados como completamente explotables con ataques de ejecucion de codigo controlado por el atacante, robo de credenciales o compromiso directo de la cadena de suministro de software.
  • Microsoft, Google, Apache, Cloudflare y Python Software Foundation confirmaron impacto: todas las vulnerabilidades fueron comunicadas responsablemente a los afectados antes de la publicacion. Microsoft y Google confirmaron el impacto. Cloudflare y Apache aplicaron hardening y fixes. Novee confirma que no hay evidencia de explotacion amplia en produccion antes de los parches.
  • Los agentes de IA de codificacion amplifican el problema: Novee advierte que los agentes de IA que generan configuraciones CI/CD a velocidad reproducen los mismos patrones inseguros de forma repetida en millones de repositorios, multiplicando exponencialmente el riesgo. Es el mismo patron que el NCSC describio dos dias antes en su advertencia sobre el vibe coding.
  • GitHub actuo en paralelo: el 18 de junio, GitHub actualizo su accion oficial actions/checkout para bloquear por defecto los patrones de pwn request mas comunes en workflows pull_request_target, reduciendo parte de la superficie de ataque que Cordyceps explota. El backport a todas las versiones soportadas esta previsto para el 16 de julio.

Por que Cordyceps es diferente a una vulnerabilidad convencional

Comprender por que Cordyceps es dificil de detectar y de remediar requiere entender que los ficheros de configuracion de CI/CD (los .yml de GitHub Actions) no son pasivos: son codigo ejecutable que corre comandos de shell, gestiona claves de firma, se autentica contra proveedores de nube y publica releases. Sin embargo, la mayoria de los equipos los tratan como simples ficheros de configuracion, no como codigo critico de seguridad. Tres caracteristicas hacen a Cordyceps especialmente peligroso:

  1. El riesgo existe solo en la composicion, no en los ficheros individuales. Un escaneador de seguridad lee un fichero YAML valido y lo considera correcto. Un atacante lee ese mismo fichero e identifica una cadena de cuatro pasos hacia credenciales de nube permanentes. La vulnerabilidad no esta en ningun paso individual: esta en como el output de un workflow de baja privilegio fluye hacia un workflow de alta privilegio cuyo token se autentica contra un proveedor de nube con permisos de propietario.
  2. Los workflows tienen acceso a activos de muy alto valor. En muchas organizaciones, los pipelines de CI/CD tienen acceso a claves de firma de codigo, tokens de publicacion en registros de paquetes (npm, PyPI, Docker Hub), claves de API de proveedores de nube, secretos de despliegue y llaves SSH de produccion. Un pipeline comprometido no da acceso solo al repositorio: da acceso a todo lo que el pipeline toca en su ejecucion.
  3. El impacto es de cadena de suministro, no solo de repositorio. En el caso de la Python Software Foundation, la explotacion de Cordyceps permitia robar el token del bot del formateador Black (130 millones de instalaciones mensuales) para forjar aprobaciones de PR y crear una ruta hacia el envenenamiento de las imagenes Docker oficiales. Cualquier organizacion que instale ese paquete downstream se convierte en victima potencial sin haber hecho nada incorrecto.

Los ataques documentados: Microsoft, Google, Apache, Cloudflare y Python

Los ejemplos concretos documentados por Novee en sus repos de prueba ilustran el alcance real del patron:

  • Microsoft Azure Sentinel: un comentario en un pull request ejecutaba codigo del atacante en la infraestructura CI de Microsoft y robaba una GitHub App key sin fecha de expiracion, lo que otorgaba acceso de escritura persistente al contenido de detecciones de seguridad desplegado directamente en los workspaces de clientes de Sentinel.
  • Google AI Agent Development Kit (adk-samples): un unico pull request ejecutaba codigo del atacante en el CI de Google y otorgaba control autenticado sobre el proyecto Google Cloud asociado con el rol de maximo nivel (roles/owner), la posicion mas privilegiada disponible en Google Cloud.
  • Apache Doris: dos vectores de ataque zero-click confirmados. Un simple comentario en cualquier PR, o un PR desde un fork, activaba la cadena y resultaba en robo de credenciales CI hardcodeadas o de un token con permisos de escritura completos sobre el repositorio.
  • Cloudflare Workers SDK: un nombre de rama especialmente construido desencadenaba ejecucion arbitraria de comandos en los runners CI de Cloudflare.
  • Python Black (130 millones de instalaciones/mes): cualquier pull request podia robar el token del bot del proyecto, habilitando la falsificacion de aprobaciones de PR y creando una ruta aguas abajo hacia el envenenamiento de las imagenes Docker oficiales.

Como funciona la cadena de explotacion de Cordyceps

La cadena tipo documentada por Novee sigue esta progresion:

  1. El atacante crea un pull request o comentario desde una cuenta gratuita. No se requiere membresia en la organizacion ni permisos especiales. El pull request puede ser desde un fork o simplemente un comentario en un PR existente.
  2. Un workflow de baja privilegio procesa el input no confiable. El workflow esta configurado para ejecutar acciones automaticas cuando llega un PR o comentario. La configuracion no valida correctamente que el input no sea malicioso antes de pasarlo a los siguientes pasos del pipeline.
  3. El output del workflow de baja privilegio cruza una frontera de confianza hacia un workflow de alta privilegio. El resultado (un artefacto, una variable de entorno, un identificador) del primer workflow se convierte en input del segundo, que tiene permisos mucho mas elevados. Ningun control intermedio verifica que ese input no ha sido manipulado.
  4. El workflow de alta privilegio ejecuta el payload del atacante con sus credenciales. Con permisos de owner sobre el repositorio o el proyecto de nube, el atacante puede publicar paquetes maliciosos, modificar el codigo fuente, robar todas las secrets del workflow, o desplegar backdoors en los sistemas conectados.

Lecciones clave y checklist de mitigacion para equipos de desarrollo

Todos los repositorios afectados identificados por Novee han sido parcheados o endurecidos tras la divulgacion responsable. Para las organizaciones que no son Microsoft o Google pero usan GitHub Actions en sus pipelines, las acciones recomendadas son:

  • Tratar los ficheros de configuracion CI/CD como codigo critico de seguridad, no como infraestructura pasiva. Los .yml de GitHub Actions merecen el mismo nivel de revision de codigo y auditoria de seguridad que el codigo de aplicacion. Incluirlos explicitamente en el proceso de revision de Pull Requests y en las herramientas de SAST.
  • Auditar todos los workflows en busca de inputs no confiables interpolados directamente en comandos de shell. La construccion de comandos de shell con variables derivadas directamente del titulo, cuerpo o nombre de rama de un PR es el patron de inyeccion de comandos mas comun en Cordyceps. Buscar patrones como run: echo ${{ github.event.pull_request.title }} o construcciones similares.
  • Validar que las fronteras de confianza entre workflows son explicitas y auditadas. Si un workflow de baja privilegio pasa output a un workflow de alta privilegio, ese punto de transferencia debe ser tratado como un limite de seguridad: el output debe ser sanitizado o validado antes de ser consumido por el workflow privilegiado.
  • Actualizar actions/checkout a la version mas reciente. GitHub actuo el 18 de junio actualizando su accion oficial para bloquear por defecto los patrones pwn request mas comunes en workflows pull_request_target. Actualizar a la version mas reciente reduce parte de la superficie de ataque.
  • Rotar todos los tokens y credenciales almacenados como secrets de GitHub Actions si no se tiene certeza de que los workflows han estado correctamente aislados desde su creacion.
  • Considerar la auditoria de CI/CD como parte del scope de pentesting. Los escaneadores estaticos no detectan Cordyceps porque el riesgo existe en la composicion de workflows, no en ficheros individuales. Requiere razonamiento sobre cadenas de confianza entre workflows, algo que solo la revision manual o herramientas de validacion de ataque externo pueden verificar.

La ciberseguridad como prioridad estrategica

Cordyceps es la culminacion de tres avisos que el blog de Apolo ha documentado este mes de junio. El 8 de junio analizamos como un agente de IA en la GitHub Action oficial de Claude Code podia robar secrets de CI/CD via prompt injection. El 23 de junio recogimos la advertencia del NCSC sobre como los agentes de IA que generan configuraciones CI/CD reproducen patrones inseguros a escala. Cordyceps es la manifestacion concreta y a escala de esa cadena: la misma automatizacion que acelera el desarrollo y que los agentes de IA generan sin supervision crea fronteras de confianza no auditadas que cualquier usuario con una cuenta gratuita de GitHub puede explotar. Para las organizaciones espanolas que tienen pipelines de CI/CD en GitHub, la pregunta de hoy no es si tienen alguna de las tecnologias afectadas por Cordyceps: es si sus equipos de seguridad auditan los ficheros .yml de GitHub Actions con el mismo rigor con el que auditan el codigo de aplicacion.

Apolo Cybersecurity: auditoria de seguridad de pipelines CI/CD y revision de GitHub Actions ante Cordyceps

En Apolo Cybersecurity ayudamos a organizaciones a evaluar la exposicion de sus pipelines de CI/CD ante la clase de vulnerabilidades documentadas por Cordyceps: identificacion de inputs no confiables interpolados en comandos de shell en workflows de GitHub Actions, auditoria de fronteras de confianza entre workflows de diferente nivel de privilegio, revision del estado de actualizacion de actions/checkout, rotacion de credenciales y secrets almacenados en GitHub Actions, e integracion de la revision de seguridad de CI/CD en el proceso de desarrollo y pentesting.

Si tu organizacion tiene pipelines CI/CD en GitHub y los ficheros .yml de GitHub Actions no se revisan con los mismos controles de seguridad que el codigo de aplicacion, la investigacion de Cordyceps es la senal para incorporar esa revision.

Prev Post
Next Post

¿Tienes dudas? ¡Estamos encantados de ayudarte!