Liikuge sisu juurde
Tagasi Nymchati

Teadmistebaas Kapoti all

Ehitise kontrollimine

Avatud lähtekoodiga on abi ainult siis, kui teie kasutatav kood on sama, mis oli avaldatud. Nymchat on üles ehitatud deterministlikult, nii et saate seda ise kontrollida rakendusest või terminalist.

Reprodutseeritavad konstruktsioonid

Rakenduse loomine kiirgab a build-manifest.json mis sisaldab lähtekoodi, a SHA-256 räsi iga esitatud HTML-i, JavaScripti ja CSS-i vara kohta ning üksik bundleHash üle kogu selle varade komplekti.

Väljund sõltub ainult allika sisust - isegi salvestatud ehitusaeg on commit'i ajatempel, mitte järgu käivitamise hetk – nii et igaüks ehitab sama uuesti commit saab baitidentsed failid ja sama bundleHash.

GitHubi toiming taastab seejärel iga kohustuse iseseisvalt ja allkirjastab ehituse päritolu räsi ja manifesti tõendid, seega on siduv allkirjastatud protokoll a bundleHash hoidlas olevale kohustusele, mille on loonud midagi muud kui kasutuselevõtt.

Mida dialoog Teave kontrollib

Umbes päises käivitab kontrolli otse teie brauseris.

Dialoog Nymchat About, mis näitab versiooni, konstruktsiooni terviklikkust ja garantii kanaari staatust.
Dialoog Teave: versioon, konstruktsiooni terviklikkus, garantii kanaarile ja otseliin arendajale.

See hangib uuesti iga vara, mida leht tegelikult töötab, räsib selle Web Crypto API-ga ja võrreldakse manifestiga. Siis – ja see on oluline osa – see arvutab ümber bundleHash räsidest seda lihtsalt arvutatud, mitte alates kõike, mida manifest väidab, ja otsib seda hoidla allkirjastatud tõenditest GitHubi API kaudu.

Just see takistab juurutamist enda eest garanteerimast: muudetud failide teenindamine koos sobiv manifest ikka ebaõnnestub, kuna ümberarvutatud räsil puudub kinnitus.

OlekTähendab
✓ Kinnitatud ametlik rakendus (n/n)Iga vara kattub, hoidla kinnitab ümberarvutatud kogumi räsi, ja lehte serveeritakse ametlikust domeenist.
⚠ Kinnitatud konstruktsioon · pole ametlik rakendusKood on ehtne ja kinnitatud, kuid see on teise domeeni peegel. Peegel ei saa seda hoiatust eemaldada ilma kontrollimiseta.
✗ MittevastavusVara ei räsi manifestis olevale.
✗ Mitteametlik ehitusÜmberarvutatud kogumi räsil ei ole hoidlast kinnitust – see on ise tehtud manifest.
⚠ Päritolu on kättesaamatuGitHubi API-ga ei õnnestunud ühendust saada, seega ei saanud kinnitust mõlemal juhul kontrollida.

Ise kontrollides

Ehitage uuesti sidumise dialoogiakna Teave kohta nimed ja võrrelge:

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

Trükitud räsi peaks ühtima nii dialoogis Teave kui ka selle sissekandmises olevaga build-provenance jooksu kokkuvõte. Allkirja saate kontrollida ka otse GitHubi CLI-ga:

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

Garantii kanaarilind

Warrant Canary on fikseeritud ajakava alusel avaldatud avaldus, mis arendajal on mitte saanud salajase valitsuse korralduse, mida neil on keelatud avaldada — a Rahvusliku julgeoleku kiri, FISA korraldus. Arendaja võib olla sunnitud sellest vaikima selline käsk, aga valetama ei saa sundida, nii et kanaarilind on kopitanud või kaduv ise signaal.

See elab sisse canary.json hoidla juurtes ja tuuakse otse GitHubist, nii et selle ajalugu on auditeeritav sõltumata sellest, mida juurutatud sait ütleb. Dialoog Teave värvib selle:

VärvTähendab
Roheline - kõik selgeAllkirjastatud, kehtiv ja allkiri vastab arendaja võtmele. Ühtegi salajast tellimust pole tulnud.
Kollane — hilinenud või pole kõik selgeSeda ei värskendatud märgitud kuupäeva või selle järgi allClear lipp on vale. Vaigistatud tellimust ei saa välistada.
Punane — kehtetu allkiri või kadunudAllkiri ei ühti arendaja võtmega või fail on täielikult eemaldatud. Käsitle seda tõsise hoiatusena.

Värskuse ankur

Allkirjastatud kanaarilind sisaldab allkirjastamise hetkel uusimat Bitcoini ploki kõrgust ja räsi. Seda räsi ei saanud teada enne ploki olemasolu, mis tõestab, et kanaarilind oli allkirjastatud pärast konkreetsel ajahetkel, mitte aga hulgi kuud varem eelnevalt allkirjastatud. Dialoog Teave lingib ankru plokiuurijaga, et saaksite seda kontrollida.