Investigadores en seguridad han revelado una nueva ola de la campaña GhostAction que introduce workflows maliciosos en repositorios de GitHub para robar credenciales y otros secretos. Los atacantes aprovecharon al menos dos cuentas de mantenedores reconocidos para propagar archivos de flujo de trabajo que recogen y envían secretos fuera del repositorio.
Qué hace el workflow malicioso
Los archivos identificados, con nombres como security-audit.yml o github_actions_security.yml, se ejecutan cuando se disparan manualmente (workflow_dispatch) o por cualquier push sin filtrar (cualquier rama o etiqueta). El flujo hace checkout del repositorio con fetch-depth: 0 para recuperar todo el historial y luego ejecuta un paso denominado «Audit» que busca secretos en:
- Variables de entorno de GitHub Actions (secrets del repositorio).
- Contenido del árbol de trabajo y del historial git (archivos comprometidos en commits antiguos).
- Archivos y credenciales típicas en proyectos: claves AWS, tokens de registries (DockerHub, GHCR), credenciales de PyPI, npm, proveedores de IA (OpenAI, Anthropic, OpenRouter), claves de bases de datos, SSH privadas, entre otros.
La información extraída se envía por HTTP a una dirección IP codificada en el workflow, lo que permite al operador recopilar secretos sin usar canales cifrados ni infraestructura pública obvia.
Alcance y evolución reciente
Según los análisis compartidos por distintos equipos, la campaña ha reutilizado cuentas de mantenedores de proyectos con muchos seguidores para introducir el workflow en cientos de repositorios en ventanas cortas de tiempo. Un ejemplo citado es el uso de la cuenta del autor de Pyxel para comprometer decenas de repositorios, y horas después la de otro desarrollador para afectar a cientos más en minutos.
Investigadores han reportado que desde comienzos de octubre se han detectado cientos de cuentas que han cometido el workflow malicioso en decenas de miles de repositorios; informes previos de la misma familia de ataques (GhostAction) datan desde 2025 y muestran una escalada en la cobertura y en la diversidad de secretos exfiltrados.
Qué cambia y a quién afecta
La novedad no es sólo la técnica de exfiltración, sino la combinación de dos factores: el uso de cuentas de mantenedores legítimos para propagar el código y la extracción del historial git completo (no sólo del árbol actual), lo que aumenta la probabilidad de encontrar credenciales comprometidas en commits antiguos. Afecta a:
- Repositorios públicos y privados que tengan Actions habilitadas y hayan recibido el workflow.
- Forks y mirrors downstream que hereden el archivo malicioso o sincronicen cambios con repositories comprometidos.
- Equipos y organizaciones cuyos desarrolladores hayan cometido credenciales por error en el repositorio o en su historial.
Acciones recomendadas para administradores y dueños de sitios
Los equipos de desarrollo y administradores de repositorios deben asumir compromiso si encuentran estos workflows y actuar de forma inmediata:
- Buscar en todos los repositorios (incluidos forks y ramas) archivos llamados security-audit.yml o github_actions_security.yml creados desde finales de agosto y eliminarlos de todas las ramas.
- Revocar cualquier token o credencial comprometida (GitHub, registries, nube, AI, etc.) y rotar claves encontradas en el historial.
- Deshabilitar GitHub Actions temporalmente en repositorios sospechosos hasta limpiar el repo y las credenciales.
- Revisar forks privados y mirrors, que suelen contener credenciales reales y son especialmente peligrosos.
- Auditar el historial git (por ejemplo con herramientas de detección de secretos) para localizar commits con credenciales y emplear técnicas de reescritura de historial si es necesario y viable.
- Habilitar políticas de seguridad en la organización: protección de ramas, revisiones obligatorias, y limitación de permisos de Actions.
Contexto y consideraciones técnicas
GhostAction es una campaña de cadena de suministro que aprovecha la confianza en los mantenedores y en los flujos automatizados. El uso de fetch-depth: 0 permite al atacante escanear el historial completo del repositorio en busca de secretos antiguos, algo que las buenas prácticas recomiendan evitar: las credenciales nunca deberían estar en el repositorio ni en su historial.
La extracción por HTTP a una dirección codificada facilita la recolección pero también ofrece una pista para la detección en logs de red y en registros de ejecución de Actions.
Recomendación final
Comprobar y limpiar repositorios, rotar credenciales y reforzar controles de Actions son medidas urgentes. Dado que la campaña reutiliza cuentas de colaboradores legítimos, los equipos deben concienciar a mantenedores y auditar contribuciones con especial cuidado.
Lee también:
- Secuestros de DNS en tres ccTLD permitieron 32 certificados HTTPS no autorizados
- Buenas prácticas de seguridad para scripts Bash: qué revisar y qué evitar
Fuente: The Hacker News




