रिलीज़ सत्यापन
प्रत्येक DispatchAtlas रिलीज़ अभ्यर्थी एकल ऑडिट किए वर्कफ़्लो द्वारा निर्मित होता है, जो Python वितरणों के साथ-साथ स्वतंत्र रूप से सत्यापन-योग्य आपूर्ति-शृंखला कलाकृतियों का एक समुच्चय उत्सर्जित करता है: SHA-256 हैश, Sigstore signature bundles, GitHub build provenance attestations, एक SBOM attestation, और एक CycloneDX software bill of materials। यह पृष्ठ दस्तावेज़ करता है कि प्रत्येक को कैसे सत्यापित करें।
पूरे दस्तावेज़ में vX.Y.Z को उस रिलीज़ टैग से बदलें जो आपने डाउनलोड किया।
📦 रिलीज़ से संलग्न कलाकृतियाँ
| कलाकृति | प्रयोजन |
|---|---|
*.whl, *.tar.gz | Python wheel व स्रोत वितरण। |
SHA256SUMS.txt | प्रत्येक वितरण कलाकृति के लिए SHA-256 हैश। |
*.sigstore.json | Sigstore signature bundle(प्रति कलाकृति एक)। |
sbom.cyclonedx.json | ऑडिट किए निर्माण परिवेश का CycloneDX SBOM। |
GitHub build provenance व SBOM attestations रिलीज़ अनुलग्नकों के बजाय रिपॉज़िटरी के attestation records के साथ संग्रहीत होते हैं, और GitHub CLI के माध्यम से सत्यापित होते हैं।
🔢 हैश सत्यापित करें
वितरण कलाकृतियाँ व SHA256SUMS.txt को एक ही निर्देशिका में डाउनलोड करें, फिर उन्हें
जाँचें:
sha256sum --check SHA256SUMS.txtप्रत्येक पंक्ति को OK रिपोर्ट करना चाहिए।
✍️ Sigstore हस्ताक्षर सत्यापित करें
रिलीज़ वर्कफ़्लो की OpenID Connect पहचान के माध्यम से कुंजी-रहित Sigstore हस्ताक्षरण से प्रत्येक कलाकृति पर हस्ताक्षर करता है। cosign स्थापित करें और किसी कलाकृति के लिए bundle सत्यापित करें:
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एक सफल रन Verified OK छापता है। वही कमांड SHA256SUMS.txt व sbom.cyclonedx.json को
उनके bundle के विरुद्ध सत्यापित करता है।
🧾 GitHub build provenance सत्यापित करें
प्रत्येक वितरण एक हस्ताक्षरित provenance कथन वहन करता है जो उसे निर्मित करने वाले वर्कफ़्लो, कमिट, व runner का वर्णन करता है। उसे GitHub CLI से सत्यापित करें:
gh attestation verify dispatchatlas-vX.Y.Z-py3-none-any.whl \
--repo ahmed-g-gad/dispatchatlasआउटपुट पुष्टि करता है कि कलाकृति अपेक्षित कमिट पर रिलीज़ वर्कफ़्लो द्वारा निर्मित हुई।
🧰 SBOM का निरीक्षण करें
CycloneDX SBOM निर्माण परिवेश में प्रत्येक घटक को उसके पैकेज URL, लाइसेंस, व सामग्री हैश के साथ गणित करता है। उसे किसी भी CycloneDX-सजग उपकरण से निरीक्षित करें, या घटक सूची सीधे पढ़ें:
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 स्वयं attested है; निम्न से SBOM attestation सत्यापित करें:
gh attestation verify dispatchatlas-vX.Y.Z-py3-none-any.whl \
--repo ahmed-g-gad/dispatchatlas \
--predicate-type https://cyclonedx.org/bom🚨 सत्यापन विफलता की रिपोर्ट
यदि किसी आधिकारिक रिलीज़ से डाउनलोड की गई किसी कलाकृति के लिए कोई सत्यापन चरण विफल होता है, तो उसे स्थापित न करें। परियोजना की सुरक्षा नीति में दिए चैनलों के माध्यम से विसंगति की रिपोर्ट करें।