Пређи на садржај
Назад на Нимцхат

База знања Испод хаубе

Верификација израде

Отворени код помаже само ако је код који користите онај који је био објављено. Нимцхат је изграђен детерминистички тако да то можете сами да проверите изнутра апликације или са терминала.

Репродуцибилне грађе

Изградња апликације емитује а build-manifest.json који садржи изворно урезивање, а СХА-256 хеш сваког испорученог ХТМЛ, ЈаваСцрипт и ЦСС елемента и појединачно bundleHash преко целог скупа средстава.

Излаз зависи само од изворног садржаја — чак је и забележено време израде временска ознака урезивања, а не тренутак када је изградња покренута — тако да свако ко поново прави исту цоммит добија датотеке идентичне бајтовима и исте bundleHash.

ГитХуб Акција затим поново гради сваки урезивање независно и потписује порекло потврде за хеш и манифест, тако да постоји потписани запис који везује а bundleHash на урезивање у спремишту, произведено нечим другим осим распоређивање.

Шта проверава дијалог О

Абоут у заглављу покреће проверу уживо, у вашем претраживачу.

Дијалог о Нимцхату, који приказује верзију, интегритет изградње и гарантује статус канаринца.
Дијалог О: верзија, интегритет израде, канаринац са гаранцијом и директна линија до програмера.

Поново преузима свако средство које страница заправо ради, хешира га са Веб Црипто АПИ-јем и упоређује са манифестом. Онда - и ово је део који је важан - то поново израчунава bundleHash од хашиша то само израчунато, а не из све што манифест тврди, и тражи то у потписаним атестима складишта преко ГитХуб АПИ-ја.

То је оно што спречава примену да гарантује за себе: послуживање модификованих датотека заједно са манифест подударања и даље не успева, јер поново израчунати хеш нема атест.

СтатусСредства
&цхецк; Верификована званична апликација (н/н)Свако средство се поклапа, поново израчунати хеш пакета је потврђен од стране спремишта, и страница се сервира са званичног домена.
⚠ Верификована верзија · није званична апликацијаКод је оригиналан и атестиран, али ово је огледало на другом домену. Огледало не може да уклони ово упозорење без неуспешне верификације.
✗ НеподударањеИмовина се не хешује са оним што каже манифест.
✗ Незванична израдаПоново израчунати хеш пакета нема потврду из спремишта — манифест који је сам направио.
⚠ Недоступно пореклоГитХуб АПИ није могао бити доступан, тако да се атестација није могла проверити ни на један начин.

Потврдите сами

Поново направите урезивање имена дијалога Абоут и упоредите:

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>"

Одштампани хеш треба да се подудара и са оним у дијалогу Абоут и са оним у том урезивању буилд-провенанце рун суммари. Такође можете проверити потпис директно помоћу ГитХуб ЦЛИ:

gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM

Канаринац за потерницу

Налог канаринца је изјава, објављена по фиксном распореду, коју има програмер не примили тајну владину наредбу коју им је забрањено открити — а Писмо о националној безбедности, наредба ФИСА. Програмер може бити приморан да ћути такав поредак, али не може бити приморан да лаже, тако да канаринац устајао или нестао јесте сам сигнал.

Живи у canary.json у корену спремишта и директно се преузима са ГитХуб-а, тако да се његова историја може ревидирати независно од тога шта распоређени сајт каже. Дијалог О томе означава га бојама:

БојаСредства
Зелена — све јасноПотписано, актуелно и потпис одговара кључу програмера. Није примљено никакво тајно наређење.
Жута — касни, или није све јасноНије освежено ни до наведеног датума, нити до његовог allClear застава је лажна. Не може се искључити прећутано наређење.
Црвени — неважећи потпис, или нестаоПотпис се не подудара са кључем програмера или је датотека у потпуности уклоњена. Третирајте ово као озбиљно упозорење.

Сидро свежине

Потписани канаринац уграђује најновију висину Битцоин блока и хеш у тренутку потписивања. Тај хеш није могао бити познат пре него што је блок постојао, што доказује да је канаринац био потписан после одређеном тренутку, а не унапред потписаним у групи месецима раније. Дијалог Абоут повезује сидро са истраживачем блокова тако да можете да га проверите.