ഉള്ളടക്കത്തിലേക്ക് പോകുക
Nymchat എന്ന താളിലേക്ക് മടങ്ങുക

വിജ്ഞാന അടിത്തറ ഹുഡിൻ്റെ കീഴിൽ

നിർമ്മാണം പരിശോധിക്കുന്നു

നിങ്ങൾ റൺ ചെയ്യുന്ന കോഡ് ആ കോഡാണെങ്കിൽ മാത്രമേ ഓപ്പൺ സോഴ്‌സ് സഹായിക്കൂ പ്രസിദ്ധീകരിച്ചു. നിംചാറ്റ് നിർണ്ണായകമായി നിർമ്മിച്ചിരിക്കുന്നതിനാൽ നിങ്ങൾക്ക് അകത്ത് നിന്ന് അത് സ്വയം പരിശോധിക്കാനാകും ആപ്പ് അല്ലെങ്കിൽ ഒരു ടെർമിനലിൽ നിന്ന്.

പുനർനിർമ്മിക്കാവുന്ന നിർമ്മാണങ്ങൾ

ആപ്പ് നിർമ്മിക്കുന്നത് എ build-manifest.json ഉറവിട കമ്മിറ്റ് അടങ്ങിയിരിക്കുന്നു, a ഓരോ HTML, JavaScript, CSS അസറ്റുകളുടെയും SHA-256 ഹാഷും ഒറ്റത്തവണയും bundleHash ആ മുഴുവൻ ആസ്തി സെറ്റിലും.

ഔട്ട്‌പുട്ട് ഉറവിട ഉള്ളടക്കത്തെ മാത്രം ആശ്രയിച്ചിരിക്കുന്നു - റെക്കോർഡുചെയ്‌ത ബിൽഡ് സമയം പോലും ബിൽഡ് ഓടിയ നിമിഷത്തേക്കാൾ കമ്മിറ്റിൻ്റെ ടൈംസ്റ്റാമ്പ് - അതിനാൽ ആരെങ്കിലും അത് പുനർനിർമ്മിക്കുന്നു കമ്മിറ്റിന് ബൈറ്റ്-സമാന ഫയലുകൾ ലഭിക്കുന്നു bundleHash.

ഒരു GitHub ആക്ഷൻ ഓരോന്നും സ്വതന്ത്രമായി പുനർനിർമ്മിക്കുകയും ബിൽഡ്-പ്രൊവെനൻസ് അടയാളപ്പെടുത്തുകയും ചെയ്യുന്നു ഹാഷിനും മാനിഫെസ്റ്റിനുമുള്ള സാക്ഷ്യപ്പെടുത്തലുകൾ, അതിനാൽ ഒപ്പിട്ട ഒരു രേഖയുണ്ട് bundleHash റിപ്പോസിറ്ററിയിലെ ഒരു പ്രതിബദ്ധതയിലേക്ക്, അല്ലാതെ മറ്റെന്തെങ്കിലും നിർമ്മിക്കുന്നത് വിന്യാസം.

എന്താണ് എബൗട്ട് ഡയലോഗ് പരിശോധിക്കുന്നത്

കുറിച്ച് തലക്കെട്ടിൽ നിങ്ങളുടെ ബ്രൗസറിൽ ചെക്ക് ലൈവ് പ്രവർത്തിക്കുന്നു.

Nymchat ഡയലോഗ്, പതിപ്പ് കാണിക്കുന്നു, സമഗ്രത കെട്ടിപ്പടുക്കുക, കാനറി സ്റ്റാറ്റസ് വാറണ്ട്.
എബൗട്ട് ഡയലോഗ്: പതിപ്പ്, ബിൽഡ് ഇൻ്റഗ്രിറ്റി, വാറൻ്റ് കാനറി, ഡെവലപ്പർക്കുള്ള നേരിട്ടുള്ള ലൈൻ.

പേജ് യഥാർത്ഥത്തിൽ പ്രവർത്തിക്കുന്ന ഓരോ അസറ്റും ഇത് വീണ്ടും ലഭ്യമാക്കുന്നു, വെബ് ക്രിപ്‌റ്റോ 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 ആപ്പുകൾ

മുകളിലുള്ള പരിശോധന ഒരു വെബ്-ആപ്പ് പരിശോധനയാണ്, കാരണം വ്യക്തമായി പ്രസ്താവിക്കേണ്ടതാണ്: ഒരു നേറ്റീവ് ആപ്പ് ഒരേ കാര്യം സ്വയം ചെയ്യാൻ കഴിയില്ല. നിങ്ങളുടെ ഫോണിൽ പ്രവർത്തിക്കുന്നത് കംപൈൽ ചെയ്ത മെഷീൻ കോഡാണ്, അല്ലാതെ റിപ്പോസിറ്ററിയിലെ ഉറവിടം, ഉപകരണത്തിൽ ആപ്പിന് കണക്കാക്കാൻ കഴിയുന്നതൊന്നും ഒന്നുമായി ബന്ധപ്പെട്ടതല്ല മറ്റുള്ളവ.

ആൻഡ്രോയിഡിന് അടുത്ത മികച്ച കാര്യം ചെയ്യാൻ കഴിയും. ഇൻസ്റ്റാൾ ചെയ്തത് .apk ആപ്പിന് വായിക്കാൻ കഴിയുന്ന ഒരു ഫയലാണ് കൂടാതെ ഹാഷ്, കൂടാതെ പ്രസിദ്ധീകരിച്ച എല്ലാ റിലീസുകളുടെയും ഹാഷ് ഇതിനകം പൊതുവായതാണ്: പ്രസിദ്ധീകരിക്കുന്നത് Zapstore APK-യുടെ SHA-256 ഉം അതിൻ്റെ സൈനിംഗ് സർട്ടിഫിക്കറ്റിൻ്റെ SHA-256 ഉം ഉള്ള ഒരു Nostr ഇവൻ്റ് ഒപ്പിടുന്നു. അങ്ങനെ ദി ആൻഡ്രോയിഡ് കുറിച്ച് ഡയലോഗ് അത് പ്രവർത്തിക്കുന്ന APK ഹാഷ് ചെയ്യുന്നു, ഒപ്പിട്ടവ ലഭ്യമാക്കുന്നു ഇവൻ്റുകൾ, ഡെവലപ്പറുടെ കീ ഒപ്പിട്ടവ മാത്രം സൂക്ഷിക്കുകയും താരതമ്യം ചെയ്യുകയും ചെയ്യുന്നു. ഇത് രണ്ടും കാണിക്കുന്നു ഹാഷുകളും, അതിനാൽ നിങ്ങൾക്ക് ഉപകരണം പരിശോധിക്കുന്നത് ആവർത്തിക്കാം: പ്രസിദ്ധീകരിച്ച APK ഡൗൺലോഡ് ചെയ്യുക, റൺ ചെയ്യുക sha256sum അതിൽ, അതേ സംഭവം നിങ്ങൾ തന്നെ നോക്കൂ.

Google Play-യിൽ നിന്ന് ഇൻസ്റ്റാൾ ചെയ്ത ഒരു ആപ്പ് ഈ രീതിയിൽ പരിശോധിക്കാൻ കഴിയില്ല, അതൊന്നും തെറ്റാണെന്നതിന്റെ സൂചനയല്ല. ഗൂഗിൾ ഓരോ അപ്ലോഡും അതിന്റേതായ കീ ഉപയോഗിച്ച് വീണ്ടും സൈൻ ചെയ്യുകയും ഓരോ ഉപകരണത്തിനും ഒരു പ്രത്യേക എപികെ നിർമ്മിക്കുകയും ചെയ്യുന്നു, അതിനാൽ നിങ്ങളുടെ ഫോണിൽ വരുന്നത് ഡവലപ്പർ നിർമ്മിച്ച ഫയലല്ല, അതിന്റെ ഹാഷ് പ്രസിദ്ധീകരിക്കാൻ കഴിയാത്തതുമായി പൊരുത്തപ്പെടുന്നില്ല. ആപ്പ് ഒരു പ്ലേ ഇൻസ്റ്റാൾ തിരിച്ചറിയുകയും ഒരു പരാജയം റിപ്പോർട്ട് ചെയ്യുന്നതിനുപകരം അങ്ങനെ പറയുകയും ചെയ്യുന്നു. ഒരു ബിൽഡ് സ്വയം പരിശോധിക്കാൻ, നേരിട്ട് പ്രസിദ്ധീകരിച്ച എപികെ ഇൻസ്റ്റാൾ ചെയ്യുക.

iOS പരിശോധിക്കാൻ കഴിയില്ല. ഓരോ ഡൗൺലോഡും ആപ്പിൾ എൻക്രിപ്റ്റ് ചെയ്യുകയും വീണ്ടും സൈൻ ചെയ്യുകയും ചെയ്യുന്നു വ്യക്തിഗതമായി, അതിനാൽ നിങ്ങളുടെ iPhone-ൽ കംപ്യൂട്ടുചെയ്‌ത ഒരു ഹാഷ് നിങ്ങളുടെ iPhone-ൻ്റെ അദ്വിതീയമാണ്, ഒന്നും പൊരുത്തപ്പെടുന്നില്ല എവിടെയും പ്രസിദ്ധീകരിച്ചു. എബൗട്ട് ഡയലോഗ് ഇത് ഒരു ഉറപ്പ് കാണിക്കുന്നതിനുപകരം വ്യക്തമായി പറയുന്നു ഒന്നുമില്ല എന്നർത്ഥമുള്ള നില. നിങ്ങൾക്ക് ഒരു നിംചാറ്റ് വേണമെങ്കിൽ ആപ്പിൾ ഹാർഡ്‌വെയറിൽ സ്ഥിരീകരിക്കാൻ കഴിയും, വെബ് ഉപയോഗിക്കുക ആപ്പ്, അത് പ്രവർത്തിക്കുന്ന എല്ലാ ഫയലുകളും പരിശോധിക്കുന്നു.

ഇതൊന്നും തെളിയിക്കാത്തത്

ഒരു ആപ്പ് സ്വയം പ്രവർത്തിക്കുന്ന ഒരു പരിശോധനയ്ക്ക് ആപ്പ് സത്യസന്ധമാണെന്ന് തെളിയിക്കാൻ കഴിയില്ല - അത് ആർ പരിഷ്കരിച്ചാലും ചെക്കും നീക്കം ചെയ്യാം. ഇത് തെളിയിക്കുന്നത് സാധാരണ കേസ് ആണ്: നിങ്ങൾ പകർത്തുന്നു ഇൻസ്റ്റാൾ എന്നത് പ്രസിദ്ധീകരിച്ച പകർപ്പാണ്. അത് മൂല്യവത്തായതിനാൽ അത് മൂല്യവത്താണ് താരതമ്യങ്ങൾ പൊതുവായതാണ്, അതിനാൽ നിങ്ങൾക്കല്ലാതെ മറ്റാർക്കെങ്കിലും അവ പരിശോധിക്കാനും വിയോജിക്കാനും കഴിയും.

വാറൻ്റ് കാനറി

ഒരു വാറൻ്റ് കാനറി എന്നത് ഒരു നിശ്ചിത ഷെഡ്യൂളിൽ പ്രസിദ്ധീകരിച്ച ഒരു പ്രസ്താവനയാണ്, അത് ഡെവലപ്പർക്ക് ഉണ്ട് അല്ല അവർ വെളിപ്പെടുത്താൻ നിരോധിച്ചിരിക്കുന്ന ഒരു രഹസ്യ സർക്കാർ ഉത്തരവ് ലഭിച്ചു - എ ദേശീയ സുരക്ഷാ കത്ത്, ഒരു FISA ഉത്തരവ്. നിശ്ശബ്ദത പാലിക്കാൻ ഡെവലപ്പർ നിർബന്ധിതനാകും അത്തരമൊരു ഉത്തരവ്, പക്ഷേ കള്ളം പറയാൻ നിർബന്ധിക്കാനാവില്ല, അതിനാൽ കാനറി പഴകുകയോ അപ്രത്യക്ഷമാവുകയോ ചെയ്യുന്നു സ്വയം സിഗ്നൽ.

അതിൽ വസിക്കുന്നു canary.json റിപ്പോസിറ്ററിയുടെ റൂട്ടിൽ നേരിട്ട് ലഭിക്കുന്നു GitHub-ൽ നിന്ന്, അതിനാൽ വിന്യസിച്ചിരിക്കുന്ന സൈറ്റ് പറയുന്നതെന്തും സ്വതന്ത്രമായി അതിൻ്റെ ചരിത്രം ഓഡിറ്റ് ചെയ്യാവുന്നതാണ്. എബൗട്ട് ഡയലോഗ് ഇതിനെ കളർ-കോഡ് ചെയ്യുന്നു:

നിറംഅർത്ഥമാക്കുന്നത്
പച്ച - എല്ലാം വ്യക്തമാണ്ഒപ്പിട്ടതും നിലവിലുള്ളതും ഒപ്പും ഡെവലപ്പറുടെ കീയുമായി പൊരുത്തപ്പെടുന്നു. രഹസ്യ ഉത്തരവൊന്നും ലഭിച്ചിട്ടില്ല.
മഞ്ഞ - കാലഹരണപ്പെട്ടു, അല്ലെങ്കിൽ എല്ലാം വ്യക്തമല്ലപ്രസ്താവിച്ച തീയതിയോ അതിൻ്റെയോ അത് പുതുക്കിയിട്ടില്ല allClear പതാക വ്യാജമാണ്. നിശബ്ദമായ ഒരു ഉത്തരവ് തള്ളിക്കളയാനാവില്ല.
ചുവപ്പ് - അസാധുവായ ഒപ്പ്, അല്ലെങ്കിൽ പോയിസിഗ്നേച്ചർ ഡെവലപ്പറുടെ കീയുമായി പൊരുത്തപ്പെടുന്നില്ല, അല്ലെങ്കിൽ ഫയൽ പൂർണ്ണമായും നീക്കംചെയ്തു. ഇതൊരു ഗുരുതരമായ മുന്നറിയിപ്പായി പരിഗണിക്കുക.

ഫ്രഷ്നസ് ആങ്കർ

ഒപ്പിട്ട കാനറി ഒപ്പിടുന്ന നിമിഷത്തിൽ ഏറ്റവും പുതിയ ബിറ്റ്‌കോയിൻ ബ്ലോക്ക് ഉയരവും ഹാഷും ഉൾച്ചേർക്കുന്നു. ബ്ലോക്ക് ഉണ്ടാകുന്നതിന് മുമ്പ് ആ ഹാഷ് അറിയാൻ കഴിയുമായിരുന്നില്ല, അത് കാനറി ആയിരുന്നുവെന്ന് തെളിയിക്കുന്നു ഒപ്പിട്ടു ശേഷം മാസങ്ങൾക്ക് മുമ്പ് ബൾക്ക് സൈൻ ചെയ്യുന്നതിനുപകരം സമയത്തിൻ്റെ ഒരു പ്രത്യേക പോയിൻ്റ്. എബൗട്ട് ഡയലോഗ് ആങ്കറിനെ ഒരു ബ്ലോക്ക് എക്‌സ്‌പ്ലോററുമായി ലിങ്ക് ചെയ്യുന്നതിനാൽ നിങ്ങൾക്കത് പരിശോധിക്കാം.