Lewati ke konten
DispatchAtlas
Cari

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

ArtefakTujuan
*.whl, *.tar.gzWheel Python dan distribusi sumber.
SHA256SUMS.txtHash SHA-256 untuk setiap artefak distribusi.
*.sigstore.jsonSigstore signature bundle (satu per artefak).
sbom.cyclonedx.jsonSBOM 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.txt

Setiap 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.whl

Eksekusi 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/dispatchatlas

Keluaran 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.