🧩 Lab 04: Gobernanza SCA del Repo .github¶
Escenario de Misión
Eres GitOps Governance Operator. Tu objetivo es auditar y endurecer el repositorio inputs/repositories/GitHub/.github para incorporarlo al catálogo de gobernanza de atlantyqa-labs con enfoque local-first.
1. 🎯 Objetivo Operativo¶
Al terminar este lab tendrás:
- Evidencia SCA reproducible del repo
.github. - Hallazgos priorizados de supply-chain en workflows.
- Request de bootstrap validado para promover
.githubaatlantyqa-labs. - Registro de gobernanza actualizado (catálogo + plan de onboarding).
2. ⚔️ Ejecución de la misión¶
target="inputs/repositories/GitHub/.github"
find "$target" -maxdepth 3 -type f | sort
rg -n "^\s*uses:\s*" "$target"/workflows/*.yml
rg -n "sudo apt-get|pip install|git log --show-signature -1" "$target"/workflows/*.yml
Resultado esperado:
1. 3 workflows detectados.
2. Uso de actions/checkout@v3.
3. Instalación runtime mutable en gen-docs.yml.
rg -n --hidden -g '!.git' \
-e 'ghp_[A-Za-z0-9]{30,}' \
-e 'github_pat_[A-Za-z0-9_]{20,}' \
-e 'AKIA[0-9A-Z]{16}' \
-e 'BEGIN (RSA|EC|OPENSSH|PRIVATE) KEY' \
inputs/repositories/GitHub/.github || true
find inputs/repositories/GitHub/.github -type f -iname '*.iso'
Resultado esperado:
1. secret_hit_count=0
2. forbidden_iso_count=0
bash scripts/repo-bootstrap-from-inputs.sh \
--mode validate \
--request-file .github/repo-bootstrap/requests/org-community-health.yml \
--report-file outputs/repo-bootstrap/org-community-health.md
Resultado esperado:
1. Reporte en outputs/repo-bootstrap/org-community-health.md
2. Estado passed.
bash scripts/github-inputs-recovery-runbook.sh \
--inputs-root inputs \
--target-org atlantyqa-labs \
--owners "Kabehz,atlantyde-labs,atlantyqa-labs" \
--skip-github-check \
--publish-all-owned \
--dry-run
Resultado esperado:
1. El repo .github aparece como candidato en repo-inventory.tsv.
2. workflow_count para .github es mayor que 0.
3. 📸 Evidencia obligatoria¶
- [ ] Copia de
outputs/repo-bootstrap/org-community-health.md. - [ ] Extracto de
repo-inventory.tsvcon la fila de.github. - [ ] Extracto de
sca-findings.tsvconsecret_hit_countyworkflow_count. - [ ] Commit hash con cambios de catálogo y documentación.
Template PR (resumen):
- Scope: inputs/.github SCA + governance onboarding
- Findings: actions pinning / permissions / runtime mutable installs
- Bootstrap request: org-community-health.yml (validate: passed)
- Catalog: .github added with decision=review
4. ✅ Criterio de aprobación¶
- Reporte SCA generado y verificable en local.
- Request bootstrap válido.
- Catálogo GitOps actualizado con
.github. - Riesgos documentados con acciones de hardening concretas.