Білім базасы Сорғыштың астында
Құрылымды тексеру
Ашық бастапқы код іске қосылған код бұрыннан бар код болса ғана көмектеседі жарияланды. Nymchat детерминистикалық түрде жасалған, сондықтан сіз оны ішінен өзіңіз тексере аласыз қолданбадан немесе терминалдан.
Бұл бет ыңғайлы болу үшін машинада аударылған. Ағылшындық түпнұсқасы қолданылатын нұсқа болып табылады.
Қайталанатын құрылымдар
Қолданбаны құру а шығарады build-manifest.json бастапқы міндеттемені қамтитын, a
Әрбір ұсынылған HTML, JavaScript және CSS активінің SHA-256 хэші және жалғыз
bundleHash бүкіл актив жиынтығынан.
Шығару тек бастапқы мазмұнға байланысты — тіпті жазылған құрастыру уақыты да
құрастыру орындалған сәттен емес, міндеттеменің уақыт белгісін белгілеңіз - сондықтан кез келген адам оны қалпына келтіреді
commit байтқа ұқсас файлдарды алады және сол сияқты bundleHash.
Содан кейін GitHub әрекеті әрбір міндеттемені дербес қайта құрады және құрастыру дәлеліне қол қояды
хэш пен манифестке арналған аттестациялар, сондықтан қол қойылған жазба бар
bundleHash репозиторийден басқа нәрсе жасаған міндеттемеге
орналастыру.
Туралы диалогтық терезе нені тексереді
туралы тақырыпта шолғышта тікелей тексеру жүргізеді.
Ол парақ нақты іске қосылған әрбір активті қайта алады, оны 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 блогының биіктігін және хэшін енгізеді. Бұл хэш блок болғанға дейін белгілі болуы мүмкін емес еді, бұл канарияның болғанын дәлелдейді қол қойды кейін айлар бұрын алдын ала қол қойылғаннан гөрі белгілі бір уақыт нүктесі. Туралы тілқатысу терезесі зәкірді блок зерттеушісімен байланыстырады, осылайша сіз оны тексере аласыз.