Мазмұнға өту
Nymchat дегенге қайта келу

Білім базасы Сорғыштың астында

Құрылымды тексеру

Ашық бастапқы код іске қосылған код бұрыннан бар код болса ғана көмектеседі жарияланды. Nymchat детерминистикалық түрде жасалған, сондықтан сіз оны ішінен өзіңіз тексере аласыз қолданбадан немесе терминалдан.

Қайталанатын құрылымдар

Қолданбаны құру а шығарады build-manifest.json бастапқы міндеттемені қамтитын, a Әрбір ұсынылған HTML, JavaScript және CSS активінің SHA-256 хэші және жалғыз bundleHash бүкіл актив жиынтығынан.

Шығару тек бастапқы мазмұнға байланысты — тіпті жазылған құрастыру уақыты да құрастыру орындалған сәттен емес, міндеттеменің уақыт белгісін белгілеңіз - сондықтан кез келген адам оны қалпына келтіреді commit байтқа ұқсас файлдарды алады және сол сияқты bundleHash.

Содан кейін GitHub әрекеті әрбір міндеттемені дербес қайта құрады және құрастыру дәлеліне қол қояды хэш пен манифестке арналған аттестациялар, сондықтан қол қойылған жазба бар bundleHash репозиторийден басқа нәрсе жасаған міндеттемеге орналастыру.

Туралы диалогтық терезе нені тексереді

туралы тақырыпта шолғышта тікелей тексеру жүргізеді.

Нұсқаны көрсететін Nymchat туралы диалогтық терезесі, тұтастықты құру және канарлық күйге кепілдік береді.
Туралы диалогтық терезе: нұсқа, құрастыру тұтастығы, кепіл канарей және әзірлеушіге тікелей желі.

Ол парақ нақты іске қосылған әрбір активті қайта алады, оны Web Crypto API көмегімен хэштейді және манифестпен салыстырады. Содан кейін - бұл маңызды бөлік - бұл қайта есептейді bundleHash хэштерден ол бастап емес, жай ғана есептелген манифест талап ететін кез келген нәрсе және оны репозиторийдің қол қойылған куәліктерінде іздейді GitHub API арқылы.

Бұл орналастырудың өзіне кепілдік беруін тоқтататын нәрсе: өзгертілген файлдарға бірге қызмет көрсету сәйкес манифест әлі де сәтсіз аяқталады, себебі қайта есептелген хэште аттестация жоқ.

Күйбілдіреді
&тексеру; Расталған ресми қолданба (жоқ)Әрбір актив сәйкес келеді, қайта есептелген бума хэшін репозиторий растайды, және бет ресми доменнен қызмет көрсетеді.
⚠ Расталған құрастыру · ресми қолданба емесКод шынайы және расталған, бірақ бұл басқа домендегі айна. Айна бұл ескертуді тексеруден өтпей жоя алмайды.
✗ СәйкессіздікАктив манифестте айтылғандарға хэш емес.
✗ Бейресми құрылысҚайта есептелген бума хэшінде репозиторийден сертификат жоқ — өздігінен жасалған манифест.
⚠ Шығу тегі қол жетімсіз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 ҚХА-ның SHA-256 және оның SHA-256 қол қою сертификаты бар Nostr оқиғасына қол қояды. Сонымен Android туралы тілқатысу терезесі ол іске қосылған APK хэштерін жасайды, қол қойылғандарды алады оқиғалар, әзірлеуші кілті қол қойғандарды ғана сақтайды және салыстырады. Ол екеуін көрсетеді хэштер, сондықтан құрылғыны өшіріп тексеруді қайталауға болады: жарияланған APK жүктеп алыңыз, іске қосыңыз sha256sum сол оқиғаны өзіңіз қараңыз.

Google Play дүкенінен орнатылған қолданбаны бұл жолмен тексеру мүмкін емесБұдан басқа, «Кристалл Менеджмент» АҚ көмірсутегі шикізатының перспективалық блогы бойынша іздестіру жұмыстарын Оңтүстік Торғай алқабында жүргізеді.

iOS мүлде тексерілмейді. Apple әрбір жүктеп алуды шифрлайды және қайта қол қояды жеке, сондықтан сіздің iPhone-да есептелген хэш сіздің iPhone-ға ғана тән және ештеңеге сәйкес келмейді кез келген жерде жарияланады. Бұл туралы диалогтық терезеде сенімділік көрсетудің орнына дәл айтылған бұл ештеңені білдірмейтін мәртебе. Егер сіз Nymchat қажет болса, Apple аппараттық құралында тексере аласыз, вебті пайдаланыңыз қолданба, ол жұмыс істеп тұрған әрбір файлды тексереді.

Мұның ешқайсысы нені дәлелдемейді

Қолданбаның өзі жұмыс істейтін тексеру қолданбаның адал екенін дәлелдей алмайды - оны кім өзгертсе де чекті де алып тастай алады. Бұл кәдімгі жағдайды дәлелдейді: сізді көшіру жарияланған көшірме орнатылған. Бұл алуға тұрарлық, өйткені оны бағалайды салыстырулар жалпыға ортақ, сондықтан сізден басқа біреу оларды тексеріп, келіспейді.

Ордерлі канарея

Ордер канарейы - бұл әзірлеушіде бекітілген кестеде жарияланған мәлімдеме емес оларға жария етуге тыйым салынған мемлекеттік құпия бұйрық алды — а Ұлттық қауіпсіздік хаты, FISA бұйрығы. Әзірлеуші бұл туралы үндемеуге мәжбүр болуы мүмкін мұндай бұйрық, бірақ өтірік айтуға мәжбүрлеу мүмкін емес, сондықтан канарей ескіру немесе жоғалып кету өзі сигнал.

Ол тұрады canary.json репозиторийдің түбінде және тікелей алынады GitHub сайтынан, сондықтан оның тарихы орналастырылған сайттың айтқанына қарамастан тексеріледі. About диалогтық терезесі оны түспен кодтайды:

Түсбілдіреді
Жасыл — бәрі түсініктіҚол қойылған, ағымдағы және қолтаңба әзірлеушінің кілтіне сәйкес келеді. Жасырын тапсырыс түскен жоқ.
Сары — мерзімі өткен немесе бәрі анық емесОл көрсетілген күні немесе оның жаңаруы жоқ allClear жалау жалған. Үнсіз тәртіпті жоққа шығаруға болмайды.
Қызыл — жарамсыз қолтаңба немесе жойылдыҚолтаңба әзірлеушінің кілтіне сәйкес келмейді немесе файл толығымен жойылған. Мұны маңызды ескерту ретінде қабылдаңыз.

Балғындық тірегі

Қол қойылған канарей қол қою сәтінде соңғы Bitcoin блогының биіктігін және хэшін енгізеді. Бұл хэш блок болғанға дейін белгілі болуы мүмкін емес еді, бұл канарияның болғанын дәлелдейді қол қойды кейін айлар бұрын алдын ала қол қойылғаннан гөрі белгілі бір уақыт нүктесі. Туралы тілқатысу терезесі зәкірді блок зерттеушісімен байланыстырады, осылайша сіз оны тексере аласыз.