Мазмұнға өту
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

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

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

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

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

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

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