Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I2165 — Vydaný archiv nese atestaci původu, kterou instalátor umí ověřit

Atestovat každý archiv release v úloze publish, ověřovat atestaci v install.sh, je-li nástroj k dispozici, a v docs/DISTRIBUTION.md uvést, co která cesta instalace ověřuje.

HOTOVO vlna 0 · p1 · profil implementation · bezpečné souběžně

Součást safe-self-update — Každý uzel mesh sleduje publikovaný release sám, verze se potkávají bezpečně a původ release lze ověřit.

Cíl

Atestovat každý archiv release v úloze publish, ověřovat atestaci v install.sh, je-li nástroj k dispozici, a v docs/DISTRIBUTION.md uvést, co která cesta instalace ověřuje.

Proč

Artefakty mají kontrolní součty, nejsou podepsané: sha256 a velikost každého artefaktu jsou v releases/<tag>.json a latest.json a kontroluje je verify_checksum v site/static/install.sh:478 (volané na :706); SHA256SUMS se nahrává do GitHub release (.github/workflows/release.yml). Není tu žádný podpis, atestace ani Sigstore a docs/DISTRIBUTION.md:151-153 zaznamenává, že je to odloženo záměrně. Kontrolní součet stažený ze stejného původu jako archiv dokazuje integritu při přenosu, ne původ. Předpoklad balíčku, že release jsou podepsané, je nepravdivý, stejně jako jeho předpoklad, že majordomus update je self-updater: přegenerovává projekce providerů (lib/update.sh:4) a žádný příkaz self-update neexistuje (docs/DISTRIBUTION.md:416-439). Nejnižší priorita, protože odložení je zaznamenané rozhodnutí. Základní audit z 2026-10-09 na masteru 1fb8d6be44, mezera selhání 12 a předpoklady 1-2.

Aktuální stav

install.sh ověřuje kontrolní součet poskytovaný vedle archivu; provenienci ověřit nelze.

Cílový stav

Publikační job atestuje každý archiv pomocí GitHub artifact attestations; install.sh ověří atestaci, je-li přítomen nástroj gh, a uvede, co ověřil, zda původ, nebo jen kontrolní součet; uvádí to docs/DISTRIBUTION.md.

Rozsah

  • .github/workflows/release.yml
  • site/static/install.sh
  • docs/DISTRIBUTION.md
  • test/cases/85_installer.sh

Závislosti

Žádné. Tento úkol je kořenem grafu.

Co na tom čeká

Kritéria přijetí

  • Každý archiv releasu nese atestaci, kterou gh attestation verify pro tento repozitář přijme
  • install.sh hlásí, zda ověřil provenienci, nebo jen kontrolní součet
  • docs/DISTRIBUTION.md jmenuje, co každá instalační cesta ověřuje

Validace

  • bin/majordomus plan validate
  • MJ_TEST_JOBS=4 bash test/run.sh 85_installer

Požadované důkazy

  • attested_release
  • installer_reports_verification_case

Důkazy

pokrývátypcommandvýsledeku commitu
installer_reports_verification_casetestMJ_TEST_JOBS=2 bash test/run.sh 85_installertesty: 1 prošel, 0 selhalo, 0 přeskočeno (běh 2026-10-14 mezi 07:40Z a 07:58Z na masteru ce5959db59)ce5959d
attested_releaseciworkflow releasu pro v0.24.1 skončil úspěchem 2026-10-14; každá úloha smoke skončila úspěchem; úloha smoke ověřuje atestaci původu (release.yml, smoke, permissions attestations: read)ce5959d

Časová osa

zahájeno
2026-10-14T08:02:21Z
ověřeno
—
dokončeno
2026-10-14T08:02:30Z

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Kanonický záznam: .ai/repo/project/issues/I2165.yaml. Přečtěte ho zpět pomocí majordomus plan show I2165.

Prohledává názvy a popisy všech stránek, které tento web publikuje.