Repository navigation
Conversation
added 2 commits
October 18, 2026 20:29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Versiones fijas para los scanners y dependencias de la CLI
Contexto
Hasta la 1.1.0, la CLI instalaba Trivy y Syft ejecutando su
install.shdesde la ramamain, y Gitleaks desdereleases/latest, sin verificar nada. Si una release upstream sale comprometida, entra directamente en todos los pipelines que ejecutangops creport scan.La 1.2.1 ya fijó versión y SHA-256 de cada archivo. Esta PR cierra lo que faltaba: verificar los binarios ya instalados, comprobar la firma de las releases, fijar dependencias y actions, y actualizar las versiones de forma controlada.
Cambios
Verificación de los scanners
tool-versions.tsguarda también el SHA-256 del binario de cada archivo (binarySha256). Las versiones no cambian (trivy 0.74.0, syft 1.52.0, gitleaks 8.30.1) y los hashes de los archivos son los mismos.installs.tsverifica el binario extraído y, en cada uso, el que ya está en caché. Si no coincide (caché de CI o imagen Docker manipulada), avisa y lo reinstala desde una descarga verificada.Firmas en
tools:updatechecksums.txt, el script verifica con cosign su firma keyless de sigstore. Solo acepta la identidad del workflow de release oficial de cada proyecto.reusable-release.yaml@refs/tags/vXrelease.yaml@refs/heads/main. Soporta tanto el bundle de sigstore como el formato.pem+.sigque usaba antes de la 1.54.0.checksums.txty el digest de GitHub, y el script avisa.npm run tools:update.--latest: fija la última versión estable de cada herramienta con al menos 7 días.Actualización semanal
Update scanners(lunes 06:00 UTC o manual). Ejecutatools:update --latesty abre o actualiza una PR enchore/update-scannerscon los enlaces a las release notes.Ejecución de los scanners (
scan.ts)trivy.yamldel repo escaneado no puede redirigirla. La base de datos se sigue actualizando en cada escaneo.Dependencias y CI
commander12.1.0, etc.) y.npmrcconsave-exact=true.commanderes la única dependencia que se instala en las máquinas de los usuarios, que no usan nuestro lockfile.checkout,setup-node,cli-github-action,cosign-installer).scan-actioninstala la CLI conversion: 1.2.1. El default de la action eslatest.dependabot.ymlpara github-actions y npm, concooldownde 7 días (la misma política quetools:update).Pruebas
npm test(15/15) ytscsin errores.gops tools installdesde cero: descarga y verifica los tres scanners.tools:updateregenera el fichero actual sin cambios en los hashes de los archivos. Con--latestsubiría trivy a 0.75.0 y syft a 1.54.1, con firmas verificadas (no incluido en esta PR).Después de mergear
Update scannersno puede abrir la PR.code-report, porque GitHub no ejecuta workflows en PRs creadas con su propio token. Si hace falta, se puede usar un token de GitHub App.latest:npm deprecate @getgitops/cli@"<1.2.1" "Instala los scanners sin versión fija. Actualiza a >=1.2.1"getgitops/cli-github-action, cambiar el default del inputversiondelatesta una versión fija.Relacionado (PRs aparte en otros repos) FALTA POR HACER
gitops,gitops-base,gitops-platform: CLI fijada a@1.2.1, actions por SHA,bun-version: 1.4.3ydependabot.yml.gitops-web:install.shinstala una versión fija (se puede cambiar conGOPS_VERSION), y la documentación y el blog ya no usanlatest.🤖 Generated with Claude Code