Sign release binaries with GitHub build provenance attestations
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 62/100
Línea de trabajo
El cambio pertenece al flujo de trabajo cli-release.yml: revisa primero el bloque permissions existente del job y luego localiza dónde goreleaser genera dist/checksums.txt y dónde softprops/action-gh-release publica los assets. Añade el permiso attestations y un paso actions/attest-build-provenance entre esos dos puntos, tal como lo esboza el issue. Se considera terminado cuando el flujo de trabajo sigue ejecutándose y un asset compilado pasa gh attestation verify contra el repositorio.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What problem are you trying to solve?
Release assets are verifiable only against checksums.txt, published through the same channel. That detects a corrupted download; it cannot distinguish artifacts built by cli-release.yml from artifacts uploaded by anyone holding release permissions and able to update checksums.txt at the same time.
This matters a bit more since 0.19.0: devbox version update now replaces /usr/local/bin/devbox with the release binary itself, asking for sudo to do so. The downloaded binary is written to a root-owned path by the updater, where previously only the small launcher script lived there and the binary stayed under ~/.cache.
What solution would you like?
Attest the release artifacts in cli-release.yml. The job already has id-token: write; add
permissions:
attestations: write
and one step after goreleaser, before softprops/action-gh-release:
- uses: actions/attest-build-provenance@v2
with:
subject-checksums: dist/checksums.txt
Keyless (Sigstore), no key to manage, no change to the published assets. Any download can then be verified with
gh attestation verify devbox_0.19.0_linux_amd64.tar.gz --repo jetify-com/devbox
and the launcher or version update could run the same check before installing.
Happy to ask my Muse Wonder to send the PR if you'd take it. We run devbox as the trust root of an agent fleet and adopt releases on day 0 (fail forward fast + report upstream fast); build provenance is the one check we can't do on our side. Thanks in advance, Pallieter @ CopyHosting & eBrain.
Alternatives you've considered
No response
- Lenguaje dominante
- Go
- Estrellas
- 12.4k
- Forks
- 358
- Merge medio
- 17 h 12 min
- PR fusionados (30 d)
- 31
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jetify-com/devbox
-
pulumi is outdatedAbiertobug p4 package processed triage unrelated
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
jetify-com/devbox#2898 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
p4 processed unrelated
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
jetify-com/devbox#2750 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
StorydenAbiertop4 package processed triage unrelated
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
jetify-com/devbox#2685 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Plugin Request]: apacheKafkaAbiertolooks easy p4 package processed triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 60/100
jetify-com/devbox#2656 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
feature triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
jetify-com/devbox#2369 · 3 reacciones ·
Los mantenedores suelen responder en 1 día
Todos los issues de jetify-com/devbox
Issues similares
-
fix(scan): validate and normalize output format in validate-contractPosiblemente ocupada @WKr1shna la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
bug good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Won't Fix
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
microsoft/TypeScript#65107 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
argoproj/argo-workflows#17397 ·
Los mantenedores suelen responder en 1 día