Paso 1Mapea la línea
Repos, workflows, runners, secretos y destinos de deploy.
ATALAIAPrimero listemos cada workflow, runner y secreto.
PLATAFORMA23 workflows, dos runners compartidos y secretos en cada repo.
Sale de la salaMapa: 23 workflows, 4 runners, 31 secrets
Paso 2Sigue las claves
Qué paso puede llegar a qué secret y a qué entorno.
ATALAIAEste token de deploy es visible para todos los jobs, tests incluidos.
PLATAFORMAEs un token para todos los entornos. Más fácil de rotar.
ATALAIAY más fácil de robar. Un paso de test puede desplegar en producción.
Sale de la sala1 token llega a prod desde cada job
Paso 3Rómpelo sobre el papel
Cómo se movería una PR, una action o un runner maliciosos.
ATALAIAUna PR desde un fork se ejecuta en el runner compartido, y el runner conserva su caché.
DEV LEAD¿O sea que una PR maliciosa podría envenenar el siguiente build?
ATALAIASí. Y esta action está fijada a un tag. Quien la mantiene puede mover el tag.
Sale de la salaAttack path: PR desde fork → runner → prod
Paso 4Refuerza las plantillas
Actions fijadas, tokens acotados, runners efímeros, workflows protegidos.
PLATAFORMAPlantilla nueva: actions fijadas por SHA, un token por entorno.
ATALAIARunners efímeros para los forks y CODEOWNERS en los ficheros de workflow.
DEV LEADLo desplegamos en los 23 repos, una PR en cada uno.
Sale de la salaPlantilla: SHAs fijados, tokens acotados, runners efímeros
- ATALAIA
- PLATAFORMA
- DEV LEAD
- DESARROLLADOR