Memverifikasi rilis
Setiap kandidat rilis DispatchAtlas dibangun oleh satu alur kerja yang diaudit yang memancarkan, di samping distribusi Python, satu set artefak rantai-pasok yang dapat diverifikasi secara independen: hash SHA-256, Sigstore signature bundles, GitHub build provenance attestations, satu SBOM attestation, dan satu software bill of materials CycloneDX. Halaman ini mendokumentasikan cara memverifikasi masing-masing.
Ganti vX.Y.Z dengan tag rilis yang Anda unduh di seluruh dokumen.
📦 Artefak yang dilampirkan ke rilis
| Artefak | Tujuan |
|---|---|
*.whl, *.tar.gz | Wheel Python dan distribusi sumber. |
SHA256SUMS.txt | Hash SHA-256 untuk setiap artefak distribusi. |
*.sigstore.json | Sigstore signature bundle (satu per artefak). |
sbom.cyclonedx.json | SBOM CycloneDX dari lingkungan build yang diaudit. |
GitHub build provenance dan SBOM attestations disimpan dengan catatan attestation repositori alih-alih sebagai lampiran rilis, dan diverifikasi melalui CLI GitHub.
🔢 Verifikasi hash
Unduh artefak distribusi dan SHA256SUMS.txt ke direktori yang sama, lalu periksa:
sha256sum --check SHA256SUMS.txtSetiap baris harus melaporkan OK.
✍️ Verifikasi tanda tangan Sigstore
Rilis menandatangani setiap artefak dengan penandatanganan Sigstore tanpa-kunci melalui identitas OpenID Connect alur kerja. Pasang cosign dan verifikasi bundle untuk sebuah artefak:
cosign verify-blob \
--bundle dispatchatlas-vX.Y.Z-py3-none-any.whl.sigstore.json \
--certificate-identity-regexp 'https://github.com/ahmed-g-gad/dispatchatlas/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
dispatchatlas-vX.Y.Z-py3-none-any.whlEksekusi yang berhasil mencetak Verified OK. Perintah yang sama memverifikasi
SHA256SUMS.txt dan sbom.cyclonedx.json terhadap bundle mereka.
🧾 Verifikasi GitHub build provenance
Setiap distribusi membawa pernyataan provenance bertanda-tangan yang menjelaskan alur kerja, commit, dan runner yang membangunnya. Verifikasi dengan CLI GitHub:
gh attestation verify dispatchatlas-vX.Y.Z-py3-none-any.whl \
--repo ahmed-g-gad/dispatchatlasKeluaran mengonfirmasi bahwa artefak dibangun oleh alur kerja rilis pada commit yang diharapkan.
🧰 Inspeksi SBOM
SBOM CycloneDX menyebutkan setiap komponen di lingkungan build dengan URL paket, lisensi, dan hash kontennya. Inspeksi dengan alat apa pun yang sadar-CycloneDX, atau baca daftar komponen secara langsung:
python -c "import json; d = json.load(open('sbom.cyclonedx.json')); \
print('\n'.join(c['name'] + ' ' + c.get('version', '') for c in d['components']))"SBOM itu sendiri attested; verifikasi SBOM attestation dengan:
gh attestation verify dispatchatlas-vX.Y.Z-py3-none-any.whl \
--repo ahmed-g-gad/dispatchatlas \
--predicate-type https://cyclonedx.org/bom🚨 Melaporkan kegagalan verifikasi
Jika langkah verifikasi mana pun gagal untuk artefak yang Anda unduh dari rilis resmi, jangan memasangnya. Laporkan ketidaksesuaian melalui kanal dalam kebijakan keamanan proyek.