Գիտելիքների բազա Կափարիչի տակ
Կառուցման ստուգում
Բաց կոդն օգնում է միայն այն դեպքում, եթե ձեր գործարկվող կոդը հենց այն կոդը է, որը եղել է հրապարակված. Nymchat-ը կառուցված է դետերմինիստականորեն, որպեսզի կարողանաք ստուգել դա ինքներդ՝ ներսից հավելվածից կամ տերմինալից:
Այս էջը թարգմանված է մեքենայական հարմարության համար: Անգլերեն բնօրինակը կիրառելի տարբերակն է:
Վերարտադրվող շինություններ
Հավելվածի կառուցումը թողարկում է ա build-manifest.json աղբյուրի պարտավորություն պարունակող, ա
SHA-256 հեշ յուրաքանչյուր սպասարկվող HTML, JavaScript և CSS ակտիվի և մեկ առանձին
bundleHash ամբողջ ակտիվների հավաքածուի վրա:
Արդյունքը կախված է միայն աղբյուրի բովանդակությունից, նույնիսկ գրանցված կառուցման ժամանակը
commit-ի ժամանակացույցը, այլ ոչ թե այն պահը, երբ build-ը գործարկվեց, այնպես որ ցանկացած ոք, ով վերակառուցում է նույնը
commit-ը ստանում է բայթ-նույնական ֆայլեր և նույնը bundleHash.
GitHub Action-ը այնուհետև վերակառուցում է յուրաքանչյուր պարտավորություն ինքնուրույն և ստորագրում է կառուցման ծագումը
Հեշի և մանիֆեստի հավաստագրերը, ուստի կա ստորագրված արձանագրություն, որը կապում է a
bundleHash պահոցում կատարվող պարտավորություն, որը արտադրվել է այլ բանի կողմից, քան
տեղակայում.
Ինչ է ստուգում About երկխոսությունը
Մոտ վերնագրում ստուգումն աշխատում է ուղիղ եթերում, ձեր բրաուզերում:
Այն նորից վերցնում է յուրաքանչյուր ակտիվ, որը էջն իրականում աշխատում է, հաշում է այն 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 դրոշը կեղծ է. Չի կարելի բացառել լռեցված հրամանը. |
| Կարմիր — անվավեր ստորագրություն, կամ գնացել է | Ստորագրությունը չի համապատասխանում մշակողի բանալիին, կամ ֆայլն ամբողջությամբ հեռացվել է: Վերաբերվեք սա որպես լուրջ նախազգուշացման: |
Թարմության խարիսխը
Ստորագրված դեղձանիկը տեղադրում է բիթքոյնի բլոկի վերջին բարձրությունը և հաշը ստորագրման պահին: Այդ հաշը չէր կարող հայտնի լինել մինչև բլոկի գոյությունը, ինչը վկայում է, որ դեղձանիկը եղել է ստորագրված հետո կոնկրետ ժամանակային կետ, այլ ոչ թե նախապես ստորագրված զանգվածաբար ամիսներ առաջ: Օգտվողի երկխոսությունը խարիսխը կապում է բլոկի հետազոտողի հետ, որպեսզի կարողանաք ստուգել այն: