Անցեք բովանդակությանը
Վերադարձ դեպի Nymchat

Գիտելիքների բազա Կափարիչի տակ

Կառուցման ստուգում

Բաց կոդն օգնում է միայն այն դեպքում, եթե ձեր գործարկվող կոդը հենց այն կոդը է, որը եղել է հրապարակված. Nymchat-ը կառուցված է դետերմինիստականորեն, որպեսզի կարողանաք ստուգել դա ինքներդ՝ ներսից հավելվածից կամ տերմինալից:

Վերարտադրվող շինություններ

Հավելվածի կառուցումը թողարկում է ա build-manifest.json աղբյուրի պարտավորություն պարունակող, ա SHA-256 հեշ յուրաքանչյուր սպասարկվող HTML, JavaScript և CSS ակտիվի և մեկ առանձին bundleHash ամբողջ ակտիվների հավաքածուի վրա:

Արդյունքը կախված է միայն աղբյուրի բովանդակությունից, նույնիսկ գրանցված կառուցման ժամանակը commit-ի ժամանակացույցը, այլ ոչ թե այն պահը, երբ build-ը գործարկվեց, այնպես որ ցանկացած ոք, ով վերակառուցում է նույնը commit-ը ստանում է բայթ-նույնական ֆայլեր և նույնը bundleHash.

GitHub Action-ը այնուհետև վերակառուցում է յուրաքանչյուր պարտավորություն ինքնուրույն և ստորագրում է կառուցման ծագումը Հեշի և մանիֆեստի հավաստագրերը, ուստի կա ստորագրված արձանագրություն, որը կապում է a bundleHash պահոցում կատարվող պարտավորություն, որը արտադրվել է այլ բանի կողմից, քան տեղակայում.

Ինչ է ստուգում About երկխոսությունը

Մոտ վերնագրում ստուգումն աշխատում է ուղիղ եթերում, ձեր բրաուզերում:

Nymchat About երկխոսությունը, որը ցույց է տալիս տարբերակը, ամբողջականությունը և երաշխավորում է դեղձանիկի կարգավիճակը:
Մոտ երկխոսություն. տարբերակ, կառուցվածքի ամբողջականություն, երաշխիք Canary և ուղիղ գիծ ծրագրավորողին:

Այն նորից վերցնում է յուրաքանչյուր ակտիվ, որը էջն իրականում աշխատում է, հաշում է այն Web Crypto API-ի միջոցով և համեմատում է մանիֆեստի դեմ. Այնուհետև, և սա այն մասն է, որը կարևոր է վերահաշվում է bundleHash հեշերից այն պարզապես հաշվարկված, ոչ թե այն ամենը, ինչ պնդում է մանիֆեստը, և դա փնտրում է պահեստի ստորագրված ատեստավորումներում GitHub API-ի միջոցով:

Դա այն է, ինչը խանգարում է տեղակայմանը երաշխավորել իր համար՝ փոփոխված ֆայլերի հետ միասին սպասարկումը համապատասխան մանիֆեստը դեռևս ձախողվում է, քանի որ վերահաշվարկված հեշը չունի ատեստավորում:

ԿարգավիճակՄիջոցներ
&ստուգել; Ստուգված պաշտոնական հավելված (n/n)Յուրաքանչյուր ակտիվ համընկնում է, փաթեթի վերահաշվարկված հեշը հաստատվում է պահեստի կողմից, և էջը սպասարկվում է պաշտոնական տիրույթից։
⚠ Ստուգված կառուցվածքը · ոչ պաշտոնական հավելվածըԿոդը իսկական է և վավերացված, բայց սա այլ տիրույթի հայելին է: Հայելին չի կարող հեռացնել այս նախազգուշացումը առանց ստուգման ձախողման:
✗ ԱնհամապատասխանությունԱկտիվը չի համընկնում մանիֆեստի հետ:
✗ Ոչ պաշտոնական կառուցումՓաթեթի վերահաշվարկված հեշը չունի շտեմարանից ատեստավորում՝ ինքնուրույն պատրաստված մանիֆեստ:
⚠ Ծագումը անհասանելի էGitHub API-ին չհաջողվեց միանալ, ուստի ատեստավորումը չհաջողվեց ստուգել որևէ կերպ:

Ինքներդ ստուգեք

Վերակառուցեք commit մասին երկխոսության անունները և համեմատեք.

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

Տպված հեշը պետք է համընկնի ինչպես About-ի երկխոսության, այնպես էլ այդ կոմիտի մեջ գտնվողի հետ build-provenance run ամփոփագիր: Դուք կարող եք նաև ստուգել ստորագրությունը անմիջապես GitHub CLI-ի միջոցով.

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

Երաշխիքային դեղձանիկ

Երաշխիքային դեղձանիկը ֆիքսված ժամանակացույցով հրապարակված հայտարարություն է, որը մշակողը ունի ոչ ստացել են կառավարության գաղտնի հրաման, որին արգելվում է բացահայտել. ա Ազգային անվտանգության նամակ, FISA հրաման. Մշակողին կարելի է ստիպել լռել դրա մասին նման հրաման է, բայց չի կարելի ստիպել նրան ստել, ուստի դեղձանիկը հնացած կամ անհետանալն է ինքնին ազդանշան:

Այն ապրում է canary.json պահոցի հիմքում և բեռնվում է ուղղակիորեն GitHub-ից, այնպես որ դրա պատմությունը ստուգելի է անկախ այն բանից, թե ինչ է ասում տեղակայված կայքը: About երկխոսության գունավոր կոդավորումը.

ԳույնՄիջոցներ
Կանաչ - ամեն ինչ պարզ էՍտորագրված, ընթացիկ և ստորագրությունը համապատասխանում է մշակողի բանալին: Ոչ մի գաղտնի հրաման չի ստացվել։
Դեղին — ուշացած, կամ ոչ բոլորը պարզԱյն չի թարմացվել իր նշված ամսաթվով կամ իր allClear դրոշը կեղծ է. Չի կարելի բացառել լռեցված հրամանը.
Կարմիր — անվավեր ստորագրություն, կամ գնացել էՍտորագրությունը չի համապատասխանում մշակողի բանալիին, կամ ֆայլն ամբողջությամբ հեռացվել է: Վերաբերվեք սա որպես լուրջ նախազգուշացման:

Թարմության խարիսխը

Ստորագրված դեղձանիկը տեղադրում է բիթքոյնի բլոկի վերջին բարձրությունը և հաշը ստորագրման պահին: Այդ հաշը չէր կարող հայտնի լինել մինչև բլոկի գոյությունը, ինչը վկայում է, որ դեղձանիկը եղել է ստորագրված հետո կոնկրետ ժամանակային կետ, այլ ոչ թե նախապես ստորագրված զանգվածաբար ամիսներ առաջ: Օգտվողի երկխոսությունը խարիսխը կապում է բլոկի հետազոտողի հետ, որպեսզի կարողանաք ստուգել այն: