chore(security): fijar cada action por SHA y cada imagen base por digest - #713
Merged
Merged
Conversation
…est (Scorecard Pinned-Dependencies)
La pestaña Security llevaba 94 alertas de OpenSSF Scorecard, 90 de ellas
Pinned-Dependencies: 74 `uses:` por tag mutable (67 de GitHub, 7 de terceros),
13 `FROM node:XX-alpine` sin digest y 3 `npm install` sin fijar. Un tag se
puede mover; un SHA y un digest no.
- 128 referencias `uses:` en 15 workflows + `action.yml` pasan a
`owner/repo@<sha> # vX.Y.Z`. El SHA es el del tag exacto al que apunta hoy el
tag mayor (`v7` → `v7.0.1`), resuelto con `git ls-remote --tags` y peeled;
el comentario es el que dependabot (ecosistema github-actions, ya declarado)
usa para seguir subiéndolos. Las que ya estaban por SHA (scorecard,
codeql upload-sarif, checkout/setup-node/upload-artifact en un workflow)
no se tocan y coinciden con las resueltas.
- 13 `FROM node:20-alpine` / `node:22-alpine` en 7 Dockerfiles llevan el
digest del manifest list de Docker Hub (multi-arch), resuelto hoy por la
API del registro. El guard 56 sigue parseando el `FROM ... AS stage`.
- `opa-parity.yml`: `npm install --legacy-peer-deps` → `npm ci
--legacy-peer-deps`, como el resto de workflows.
- `examples/validate-repo.sh`: `npm install -g @beyondnet/evolith-cli@1.3.2`.
Los dos `npm install -g …@${version}` del smoke de sdk-cli-release quedan:
son la comprobación del paquete recién publicado y la versión ya es exacta.
- `pattern.tools.ts`: import `path` sin uso (única alerta CodeQL abierta).
Verificado: `ci-runner fast` ✓, guard 64 ✓, guard 56 ✓ (4 imágenes), guard 58
✓, los 16 YAML parsean, tsc del mcp-server sin errores nuevos.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
📊 Bilingual Coverage ImpactPR Changes
Repository Coverage
✅ Good: All EN changes have ES counterparts. Generated by GitHub Actions |
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.
Cierra las 90 alertas Pinned-Dependencies de OpenSSF Scorecard de la pestaña Security (94 en total; las otras 4 no son de código, ver abajo) y la única alerta CodeQL abierta.
Qué cambia
uses: owner/repo@vNen workflows yaction.yml@<sha> # vX.Y.Z— SHA del tag exacto al que apunta hoy el tag mayor, resuelto congit ls-remote --tags(peeled). Dependabotgithub-actions(ya declarado) sigue subiéndolos por el comentario.FROM node:20-alpine/node:22-alpine@sha256:…del manifest list multi-arch, resuelto por la API de Docker Hub hoy.npm installsin fijaropa-parity.yml→npm ci --legacy-peer-deps;examples/validate-repo.sh→@1.3.2. Los dosnpm install -g …@${version}del smoke desdk-cli-releasese quedan: verifican el paquete recién publicado y la versión ya es exacta.js/unused-local-variablepattern.tools.ts: importpathsin uso.Las referencias que ya estaban por SHA (
ossf/scorecard-action,codeql-action/upload-sarif, y checkout/setup-node/upload-artifact en un workflow) no se tocan; coinciden con las resueltas (v7.0.1,v7.0.0,v7.0.1).Lo que la pestaña Security seguirá mostrando y por qué
developpor fix(deps): cerrar las seis moderadas que #703 dejó, y que build-and-test use el mismo gate #704; se apagan cuando la siguiente promoción llegue amain(Dependabot escanea la rama por defecto).AIzaSyD-1234567890abcdefghijklmnopqrstues el fixture de los tests deredactSecrets(); resuelto como used in tests con nota. No es una credencial.Verificación
ci-runner fast✓ · guard 64 (Marketplace) ✓ · guard 56 (closure de 4 imágenes) ✓ · guard 58 ✓ · los 16 YAML parsean ·tscdel mcp-server sin errores nuevos.🤖 Generated with Claude Code