VERIFY A RELEASE

पाँच जाँचें। एक अलार्म।

बंडल को हैश करें, तीन हस्ताक्षर जाँचें, डिवाइस इमेज से तुलना करें। अगर कुछ भी चूक जाता है, तो फ़्लैश न करें। रुकें और पूछें।

01

मैनिफेस्ट और बंडल डाउनलोड करें

हर रिलीज़ बाइनरी बंडल के साथ एक signed JSON मैनिफेस्ट शिप करती है। दोनों एक ही सार्वजनिक स्रोत से आते हैं। मिरर साइट बंडल होस्ट कर सकती हैं लेकिन कभी निजी signing सामग्री नहीं।

shellcurl -L -O https://git.lydos.ailydian.com/lydos/releases/2026.06.r1/lydos_husky-target_files.zip
curl -L -O https://git.lydos.ailydian.com/lydos/releases/2026.06.r1/release.manifest.json
curl -L -O https://git.lydos.ailydian.com/lydos/releases/2026.06.r1/verify-bundle.sh
chmod +x verify-bundle.sh
02

तीन हस्ताक्षर जाँचें

shell./verify-bundle.sh --manifest release.manifest.json --signatures
# expected output:
#   release:    valid (key id 3571a6c8)
#   security:   valid (key id 9c4d77a1)
#   ops:        valid (key id 5f1e08b3)
#   quorum:     3 / 3 OK
अगर कोई हस्ताक्षर विफल होता है
आगे न बढ़ें। एक गायब या अमान्य हस्ताक्षर का मतलब है कि मैनिफेस्ट पर भरोसा नहीं किया जा सकता। विफलता की रिपोर्ट करें security@lydos.ailydian.com मैनिफेस्ट संलग्न करके।
03

बाइनरी बंडल को हैश करें

shell./verify-bundle.sh --bundle lydos_husky-target_files.zip --hash
# expected output:
#   build_sha256:           3571a6c85a15006d…
#   manifest_sha256:        3571a6c85a15006d…
#   match:                  yes
जब यह मेल खाता है
बिल्ड पाइपलाइन छोड़ने और आपकी मशीन पर पहुँचने के बीच बंडल को संशोधित नहीं किया गया था। आप इसे इस विश्वास के साथ फ़्लैश कर सकते हैं कि यह वही इमेज है जो हम शिप करते हैं।
04

डिवाइस इमेज से तुलना करें (फ़्लैश के बाद)

फ़्लैश करने के बाद, खोलें Sovereign Status डिवाइस पर और टैप करें Verify build hash। फ़ोन ऑन-डिवाइस इमेज हैश की गणना करता है और उसे प्रदर्शित करता है। इसकी मैनिफेस्ट हैश के साथ साथ-साथ तुलना करें।

shell# from your workstation:
adb shell 'sovereign-status --print-hash'
# expected output:
#   on_device_sha256:       3571a6c85a15006d…
#   match_with_manifest:    yes
05

एक हमलावर को क्या चाहिए होगा

एक दुर्भावनापूर्ण इमेज को ऊपर की हर जाँच पास करने के लिए, हमलावर को तीन स्वतंत्र signing भूमिकाओं से समझौता करना होगा, सार्वजनिक मैनिफेस्ट को बदलना होगा, डिवाइस-साइड वेरिफ़ायर को बदलना होगा, और ऑन-डिवाइस sovereign-status डिस्प्ले को उलटना होगा। इस प्रोटोकॉल का उद्देश्य उन चारों चीज़ों को एक साथ असंभव बनाना है।

Reproducible बिल्ड मायने रखते हैं
अगर आप बंडल को स्वयं सत्यापित करना चाहते हैं — न कि केवल उसके हस्ताक्षर — तो अनुसरण करें इमेज बनाएँ और बंडल को खुद तैयार करें। अगर आपका बिल्ड हैश हमारे से मेल खाता है, तो हम वही स्रोत शिप कर रहे हैं। अगर नहीं, तो वही अलार्म है।