ज्ञानाचा आधार हुड अंतर्गत
बिल्डची पडताळणी करत आहे
तुम्ही चालवत असलेला कोड हा कोड असेल तरच ओपन सोर्स मदत करतो प्रकाशित. निमचॅट निश्चितपणे तयार केले आहे जेणेकरून तुम्ही ते स्वतः तपासू शकता, आतून ॲप किंवा टर्मिनलवरून.
हे पृष्ठ सोयीसाठी मशीन-अनुवादित आहे. मूळ इंग्रजी ही आवृत्ती लागू होते.
पुनरुत्पादक बिल्ड
ॲप तयार केल्याने ए build-manifest.json स्त्रोत कमिट असलेले, a
प्रत्येक सर्व्ह केलेल्या HTML, JavaScript आणि CSS मालमत्तेचा SHA-256 हॅश आणि एकच
bundleHash त्या संपूर्ण मालमत्तेच्या सेटवर.
आउटपुट केवळ स्त्रोत सामग्रीवर अवलंबून असते — अगदी रेकॉर्ड केलेला बिल्ड वेळ देखील आहे
कमिटचा टाईमस्टॅम्प ज्या क्षणी बिल्ड चालला त्यापेक्षा - त्यामुळे कोणीही तेच पुन्हा बांधले
कमिटला बाइट-समान फायली मिळतात आणि त्याच bundleHash.
GitHub क्रिया नंतर प्रत्येक कमिटची स्वतंत्रपणे पुनर्बांधणी करते आणि बिल्ड-प्रोव्हनन्सवर स्वाक्षरी करते
हॅश आणि मॅनिफेस्टसाठी साक्ष्यीकरणे, म्हणून स्वाक्षरी केलेले रेकॉर्ड टायिंग a आहे
bundleHash रेपॉजिटरी मध्ये एक कमिट करण्यासाठी, पेक्षा इतर काहीतरी उत्पादित
उपयोजन
बद्दल संवाद काय तपासतो
बद्दल हेडरमध्ये चेक लाइव्ह चालवते, तुमच्या ब्राउझरमध्ये.
हे पृष्ठ प्रत्यक्षात चालू असलेल्या प्रत्येक संपत्तीला पुन्हा आणते, वेब क्रिप्टो API सह हॅश करते आणि
मॅनिफेस्टशी तुलना करते. मग - आणि हा महत्त्वाचा भाग आहे - तो
ची पुनर्गणना करते bundleHash हॅश पासून ते फक्त गणना केली, पासून नाही
काहीही मॅनिफेस्ट दावा करते आणि ते रेपॉजिटरीच्या स्वाक्षरी केलेल्या साक्ष्यांमध्ये दिसते
GitHub API द्वारे.
हेच एक उपयोजन स्वतःसाठी आश्वासन देण्यापासून थांबवते: सुधारित फायली एकत्रितपणे सर्व्ह करणे जुळणारे मॅनिफेस्ट अजूनही अयशस्वी होते, कारण पुनर्गणना केलेल्या हॅशचे कोणतेही प्रमाणीकरण नाही.
| स्थिती | म्हणजे |
|---|---|
| &तपासा; सत्यापित अधिकृत ॲप (n/n) | प्रत्येक मालमत्ता जुळते, पुनर्गणना केलेले बंडल हॅश रेपॉजिटरीद्वारे प्रमाणित केले जाते, आणि पृष्ठ अधिकृत डोमेनवरून दिले जाते. |
| ⚠ सत्यापित बिल्ड · अधिकृत ॲप नाही | कोड खरा आणि प्रमाणित आहे, परंतु हा दुसऱ्या डोमेनवरील मिरर आहे. अयशस्वी सत्यापनाशिवाय आरसा ही चेतावणी काढू शकत नाही. |
| ✗ जुळत नाही | मालमत्तेला मॅनिफेस्ट काय म्हणते ते हॅश करत नाही. |
| ✗ अनधिकृत बांधकाम | पुनर्गणना केलेल्या बंडल हॅशला रेपॉजिटरीकडून कोणतेही प्रमाणीकरण नाही — एक स्व-निर्मित मॅनिफेस्ट. |
| ⚠ उद्गम अगम्य | GitHub API पर्यंत पोहोचता आले नाही, त्यामुळे प्रमाणीकरण कोणत्याही प्रकारे तपासले जाऊ शकत नाही. |
स्वतः पडताळत आहे
कमिट पुन्हा तयार करा संवाद नावांबद्दल आणि तुलना करा:
git clone https://github.com/Spl0itable/NYM
cd NYM
git checkout <commit shown in the About dialog>
npm ci
npm run build # prints "Build hash: <bundleHash>"
मुद्रित हॅश बद्दल डायलॉगमधील एक आणि कमिटमधील एक दोन्हीशी जुळले पाहिजे बिल्ड-प्रोव्हनन्स रन सारांश. तुम्ही GitHub CLI सह थेट स्वाक्षरी देखील तपासू शकता:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
Android आणि iOS ॲप्स
वरील तपासणी वेब-ॲप तपासणी आहे आणि त्याचे कारण स्पष्टपणे सांगण्यासारखे आहे: मूळ ॲप स्वतःशी समान गोष्ट करू शकत नाही. तुमच्या फोनवर जे चालते ते संकलित मशीन कोड आहे, नाही रेपॉजिटरीमधील स्त्रोत आणि डिव्हाइसवर ॲप गणना करू शकणारे काहीही एकाशी संबंधित नाही इतर
Android पुढील सर्वोत्तम गोष्ट करू शकते. स्थापित .apk ॲप वाचू शकणारी फाइल आहे
आणि हॅश, आणि प्रत्येक प्रकाशित प्रकाशनाचा हॅश आधीच सार्वजनिक आहे: वर प्रकाशित करणे
Zapstore
APK चे SHA-256 आणि त्याच्या स्वाक्षरी प्रमाणपत्राचे SHA-256 वाहून नेणाऱ्या Nostr इव्हेंटवर स्वाक्षरी करते. त्यामुळे द
Android बद्दल संवाद ज्या APK वरून चालत आहे ते हॅश करते, स्वाक्षरी केलेले आणते
इव्हेंट्स, फक्त डेव्हलपरच्या की द्वारे स्वाक्षरी केलेले ठेवते आणि तुलना करते. ते दोघे दाखवते
तसेच हॅश, जेणेकरून तुम्ही डिव्हाइसची तपासणी पुन्हा करू शकता: प्रकाशित एपीके डाउनलोड करा, चालवा
sha256sum त्यावर, आणि तोच कार्यक्रम स्वतः पहा.
Google Play वरून स्थापित केलेले ॲप अशा प्रकारे तपासले जाऊ शकत नाही, आणि हे काहीही चुकीचे संकेत नाही. Google प्रत्येक अपलोड आपल्या स्वतःच्या कुंजीबरोबर पुन्हा हस्ताक्षर करतो आणि प्रत्येक उपकरणासाठी एक विशिष्ट APK तयार करतो, म्हणून जे आपल्या फोनवर उतरत आहे ते डेवलपरने उत्पादित केलेला फाइल नाही आणि त्याचे हॅश प्रकाशित होऊ शकणारे काहीही सामोरे जात नाही. अनुप्रयोग एक Play स्थापना ओळखतो आणि एक विकासाची रिपोर्ट करण्यापेक्षा ते म्हणतो.
iOS अजिबात तपासले जाऊ शकत नाही. Apple प्रत्येक डाउनलोड एन्क्रिप्ट करते आणि पुन्हा साइन इन करते वैयक्तिकरित्या, म्हणून तुमच्या iPhone वर गणना केलेला हॅश तुमच्या iPhone साठी अद्वितीय आहे आणि काहीही जुळत नाही कुठेही प्रकाशित. आश्वासक दाखवण्याऐवजी बद्दल संवाद हे स्पष्टपणे सांगतो स्थिती म्हणजे काहीच नाही. तुम्हाला Nymchat हवे असल्यास तुम्ही Apple हार्डवेअरवर पडताळणी करू शकता, वेब वापरा ॲप, जे चालत असलेली प्रत्येक फाइल तपासते.
ॲपवर चालणारी तपासणी ॲप प्रामाणिक आहे हे सिद्ध करू शकत नाही — ज्याने ते सुधारले असेल चेक देखील काढू शकतो. हे सिद्ध होते काय सामान्य केस आहे: की आपण कॉपी स्थापित ही प्रत प्रकाशित झाली आहे. ते असण्यासारखे आहे कारण त्याची मूल्ये आहेत तुलना सार्वजनिक आहेत, त्यामुळे तुमच्या व्यतिरिक्त कोणीतरी ते तपासू शकते आणि असहमत असू शकते.
वॉरंट कॅनरी
वॉरंट कॅनरी हे एक विधान आहे, जे एका निश्चित वेळापत्रकावर प्रकाशित केले जाते, जे विकासकाकडे असते नाही त्यांना उघड करण्यास मनाई असलेला गुप्त सरकारी आदेश प्राप्त झाला — अ राष्ट्रीय सुरक्षा पत्र, FISA ऑर्डर. विकासकाला याबाबत मौन बाळगण्यास भाग पाडले जाऊ शकते असा आदेश आहे, परंतु खोटे बोलण्यास भाग पाडले जाऊ शकत नाही, म्हणून कॅनरी शिळा किंवा अदृश्य होत आहे स्वतःच सिग्नल.
मध्ये राहतो canary.json रेपॉजिटरीच्या मुळाशी आणि थेट आणले जाते
GitHub वरून, त्यामुळे उपयोजित साइट जे काही म्हणते त्यापेक्षा त्याचा इतिहास स्वतंत्रपणे ऑडिट करण्यायोग्य आहे.
बद्दल संवाद रंग-कोड करतो:
| रंग | म्हणजे |
|---|---|
| हिरवा - सर्व स्पष्ट | स्वाक्षरी केलेले, वर्तमान आणि स्वाक्षरी विकसकाच्या कीशी जुळतात. कोणताही गुप्त आदेश प्राप्त झालेला नाही. |
| पिवळा - मुदत संपली आहे, किंवा सर्व स्पष्ट नाही | तो त्याच्या सांगितलेल्या तारखेनुसार रीफ्रेश झाला नाही, किंवा त्याच्या allClear ध्वज खोटा आहे. एक शांत ऑर्डर नाकारता येत नाही. |
| लाल - अवैध स्वाक्षरी, किंवा गेले | स्वाक्षरी विकसकाच्या कीशी जुळत नाही किंवा फाइल पूर्णपणे काढून टाकली गेली आहे. यास एक गंभीर चेतावणी म्हणून हाताळा. |
ताजेपणा अँकर
स्वाक्षरी केलेले कॅनरी नवीनतम बिटकॉइन ब्लॉक उंची आणि स्वाक्षरीच्या क्षणी हॅश एम्बेड करते. हा हॅश ब्लॉक अस्तित्वात येण्यापूर्वी ओळखला जाऊ शकत नव्हता, जे कॅनरी असल्याचे सिद्ध करते स्वाक्षरी केली नंतर काही महिन्यांपूर्वी मोठ्या प्रमाणात स्वाक्षरी करण्याऐवजी वेळेत विशिष्ट बिंदू. बद्दल संवाद अँकरला ब्लॉक एक्सप्लोररशी जोडतो जेणेकरून तुम्ही ते तपासू शकता.