Kalo te përmbajtja
Kthehu te Nymchat

Baza e njohurive Nën kapuç

Verifikimi i ndërtimit

Burimi i hapur ndihmon vetëm nëse kodi që po ekzekutoni është kodi që ishte botuar. Nymchat është ndërtuar në mënyrë deterministe, kështu që ju mund ta kontrolloni vetë, nga brenda aplikacion ose nga një terminal.

Ndërtime të riprodhueshme

Ndërtimi i aplikacionit lëshon një build-manifest.json që përmban angazhimin burimor, a SHA-256 hash i çdo aseti të shërbyer HTML, JavaScript dhe CSS dhe një të vetme bundleHash mbi të gjithë grupin e aseteve.

Prodhimi varet vetëm nga përmbajtja e burimit - madje edhe koha e regjistrimit të ndërtimit është vulën kohore të kryerjes në vend të momentit kur u zhvillua ndërtimi - kështu që kushdo që rindërton të njëjtën gjë commit merr skedarë identikë me bajt dhe të njëjtat bundleHash.

Një Veprim GitHub më pas rindërton çdo kryerje në mënyrë të pavarur dhe nënshkruan origjinën e ndërtimit vërtetimet për hash-in dhe manifestin, kështu që ekziston një procesverbal i nënshkruar që lidh a bundleHash për një angazhim në depo, i prodhuar nga diçka tjetër nga vendosjen.

Çfarë kontrollon dialogu Rreth

Rreth në kokë shkon kontrolli drejtpërdrejt, në shfletuesin tuaj.

Dialogu "Nymchat About", që tregon versionin, integritetin e ndërtimit dhe garanton statusin e kanarinës.
Dialogu Rreth: versioni, integriteti i ndërtimit, garancia e kanarisë dhe një linjë direkte për zhvilluesin.

Ai rimerr çdo aktiv në të cilin faqja po funksionon, e has atë me Web Crypto API, dhe krahason kundrejt manifestit. Pastaj - dhe kjo është pjesa që ka rëndësi - ajo rillogarit bundleHash nga hashët atë vetëm e llogaritur, jo nga çdo gjë që pretendon manifesti dhe e shikon atë në vërtetimet e nënshkruara të depove përmes GitHub API.

Kjo është ajo që ndalon një dislokim të garantojë për veten e tij: shërbimin e skedarëve të modifikuar së bashku me një manifest që përputhet ende dështon, sepse hash-i i rillogaritur nuk ka vërtetim.

StatusiMjetet
&kontrollo; Aplikacioni zyrtar i verifikuar (n/n)Çdo aktiv përputhet, hash-i i rillogaritur i paketës vërtetohet nga depoja, dhe faqja shërbehet nga domeni zyrtar.
⚠ Ndërtimi i verifikuar · jo aplikacioni zyrtarKodi është origjinal dhe i vërtetuar, por ky është një pasqyrë në një domen tjetër. Një pasqyrë nuk mund ta heqë këtë paralajmërim pa dështuar verifikimin.
✗ MospërputhjeNjë aktiv nuk hash me atë që thotë manifesti.
✗ Ndërtim jozyrtarHash-i i rillogaritur i paketës nuk ka asnjë vërtetim nga depoja - një manifest i krijuar vetë.
⚠ Prejardhja e paarritshmeGitHub API nuk mund të arrihej, kështu që vërtetimi nuk mund të kontrollohej në asnjë mënyrë.

Verifikojeni vetë

Rindërtoni emrat e dialogut commit Rreth dhe krahasoni:

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

Hash-i i printuar duhet të përputhet me atë në dialogun Rreth dhe me atë në atë të kryerjes përmbledhje e drejtimit të ndërtimit-preverance. Ju gjithashtu mund të kontrolloni nënshkrimin drejtpërdrejt me GitHub CLI:

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

Kanarina e garancisë

Një kanarinë e garancisë është një deklaratë, e publikuar në një orar fiks, që zhvilluesi ka jo kanë marrë një urdhër të fshehtë të qeverisë që ata janë të ndaluar të zbulojnë - a Letër e Sigurisë Kombëtare, një urdhër i FISA-s. Zhvilluesi mund të detyrohet të heshtë një urdhër i tillë, por nuk mund të detyrohet të gënjejë, kështu që kanarina është e ndenjur ose e zhdukur vetë sinjali.

Jeton në canary.json në rrënjën e depove dhe merret drejtpërdrejt nga GitHub, kështu që historia e tij mund të auditohet pavarësisht nga çfarëdo që thotë faqja e vendosur. Dialogu Rreth e kodon atë me ngjyra:

NgjyraMjetet
E gjelbër - të gjitha të qartaNënshkrimi, aktual dhe nënshkrimi përputhet me çelësin e zhvilluesit. Asnjë urdhër sekret nuk është marrë.
E verdha - e vonuar, ose jo e gjitha e qartëNuk u rifreskua nga data e deklaruar ose e saj allClear flamuri është i rremë. Një urdhër i heshtur nuk mund të përjashtohet.
E kuqe — nënshkrim i pavlefshëm, ose ikuNënshkrimi nuk përputhet me çelësin e zhvilluesit, ose skedari është hequr tërësisht. Trajtojeni këtë si një paralajmërim serioz.

Spiranca e freskisë

Kanarina e nënshkruar fut lartësinë dhe hash më të fundit të bllokut të Bitcoin në momentin e nënshkrimit. Ai hash nuk mund të dihej përpara se të ekzistonte blloku, gjë që dëshmon se kanarina ishte nënshkruar pas një pikë specifike në kohë sesa e para-nënshkruar në masë muaj më parë. Dialogu Rreth e lidh spirancën me një eksplorues blloku, në mënyrë që ta kontrolloni.