fix(release): sluit signing-race fail-closed #2068

Merged
brenno merged 6 commits from codex/fix-release-signing-race into main 2026-09-12 21:07:49 +00:00
Owner

Samenvatting

  • stopt fase 3 wanneer release-CI nog actief, onbekend of getime-out is
  • herdispatcht alleen na een terminale fout en wacht aantoonbaar op een nieuwe taak-id
  • verifieert na upload de publiek teruggelezen SHA256SUMS en minisign-handtekening
  • laat --status alleen een cryptografisch geldige publieke combinatie als compleet gelden
  • onderdrukt verwachte polling-404’s en documenteert het veilige handmatige herstelpad

Incident

Bij v0.6.2 liep de oorspronkelijke release-run nog toen fase 3 na een stille time-out een tweede volledige run startte. De eerste SHA256SUMS werd ondertekend, waarna de tweede run het manifest en de artefacten verving. De gepubliceerde handtekening was daardoor ongeldig. De live handtekening van v0.6.2 is vóór deze PR hersteld en publiek geverifieerd.

Verificatie

  • make check — 11.545 tests groen, 1 skip; 86,8% dekking; 59 goldens groen
  • make check-secrets — gitleaks en trufflehog zonder treffers
  • make sast — Semgrep zonder bevindingen
  • 7 hermetische release-raceregressies groen
  • scripts/release_auto.sh --status v0.6.2 bevestigt de geldige publieke handtekening

DAST/ZAP is niet gedraaid: voor deze lokale Bash/Forgejo-releaseketen en de CanvasKit-bundel bestaat binnen het project geen bruikbare DAST-opstelling.

Waardenafweging

Veiligheid en een toetsbare integriteitsbelofte gaan hier vóór automatisch doorlopen. Bij onzekere CI- of API-toestand stopt de keten en geeft zij een hervatroute, ook als dat een release vertraagt.

## Samenvatting - stopt fase 3 wanneer release-CI nog actief, onbekend of getime-out is - herdispatcht alleen na een terminale fout en wacht aantoonbaar op een nieuwe taak-id - verifieert na upload de publiek teruggelezen SHA256SUMS en minisign-handtekening - laat --status alleen een cryptografisch geldige publieke combinatie als compleet gelden - onderdrukt verwachte polling-404’s en documenteert het veilige handmatige herstelpad ## Incident Bij v0.6.2 liep de oorspronkelijke release-run nog toen fase 3 na een stille time-out een tweede volledige run startte. De eerste SHA256SUMS werd ondertekend, waarna de tweede run het manifest en de artefacten verving. De gepubliceerde handtekening was daardoor ongeldig. De live handtekening van v0.6.2 is vóór deze PR hersteld en publiek geverifieerd. ## Verificatie - `make check` — 11.545 tests groen, 1 skip; 86,8% dekking; 59 goldens groen - `make check-secrets` — gitleaks en trufflehog zonder treffers - `make sast` — Semgrep zonder bevindingen - 7 hermetische release-raceregressies groen - `scripts/release_auto.sh --status v0.6.2` bevestigt de geldige publieke handtekening DAST/ZAP is niet gedraaid: voor deze lokale Bash/Forgejo-releaseketen en de CanvasKit-bundel bestaat binnen het project geen bruikbare DAST-opstelling. ## Waardenafweging Veiligheid en een toetsbare integriteitsbelofte gaan hier vóór automatisch doorlopen. Bij onzekere CI- of API-toestand stopt de keten en geeft zij een hervatroute, ook als dat een release vertraagt.
brenno merged commit 71b72f0000 into main 2026-09-12 21:07:49 +00:00
Sign in to join this conversation.
No description provided.