Þekkingargrunnur Undir húddinu
Staðfestir bygginguna
Opinn uppspretta hjálpar aðeins ef kóðinn sem þú ert að keyra er kóðinn sem var birt. Nymchat er smíðað ákveðna þannig að þú getur athugað það sjálfur, innan frá app eða frá flugstöð.
Þessi síða er vélþýdd til hægðarauka. Enska frumritið er útgáfan sem á við.
Endurtakanlegar byggingar
Að byggja upp appið gefur frá sér a build-manifest.json sem inniheldur heimildarskuldbindinguna, a
SHA-256 kjötkássa fyrir hverja þjóna HTML, JavaScript og CSS eign, og einn
bundleHash yfir allt eignasafnið.
Framleiðslan fer aðeins eftir upprunainnihaldinu - jafnvel skráður byggingartími er
tímastimpil commit frekar en augnablikið sem smíðin rann - svo allir sem endurbyggja það sama
commit fær bætisams konar skrár og það sama bundleHash.
GitHub Action endurbyggir síðan hverja skuldbindingu sjálfstætt og skrifar undir uppruna
vottorð fyrir hass og upplýsingaskrá, svo það er undirrituð skrá sem bindur a
bundleHash að skuldbinda sig í geymslunni, framleitt af einhverju öðru en
dreifing.
Það sem um gluggann athugar
Um í hausnum keyrir athugunin í beinni, í vafranum þínum.
Það sækir aftur hverja eign sem síðan er í raun að keyra, hassar hana með Web Crypto API og
ber saman við upplýsinguna. Síðan - og þetta er sá hluti sem skiptir máli - það
endurreiknar bundleHash úr hassinu það bara reiknað, ekki frá
allt sem upplýsingaskráin heldur fram og flettir því upp í undirrituðum vottorðum geymslunnar
í gegnum GitHub API.
Það er það sem kemur í veg fyrir að dreifing ábyrgist sjálfa sig: að þjóna breyttum skrám ásamt samsvörunarskrá mistekst enn vegna þess að endurreiknað kjötkássa hefur enga staðfestingu.
| Staða | Þýðir |
|---|---|
| &athugaðu; Staðfest opinbert forrit (n/n) | Sérhver eign passar, endurreiknað búnt kjötkássa er staðfest af geymslunni, og síðan er þjónað frá opinbera léninu. |
| ⚠ Staðfest smíði · ekki opinbera appið | Kóðinn er ósvikinn og staðfestur, en þetta er spegill á öðru léni. Spegill getur ekki fjarlægt þessa viðvörun án þess að staðfesting misheppnist. |
| ✗ Ósamræmi | Eign samsvarar ekki því sem segir í upplýsingaskránni. |
| ✗ Óopinber smíði | Endurreiknað búnt kjötkássa hefur enga staðfestingu frá geymslunni - sjálfgerð upplýsingaskrá. |
| ⚠ Uppruni ekki hægt að ná | Ekki tókst að ná í GitHub API, þannig að ekki var hægt að athuga staðfestingu á hvorn veginn sem er. |
Að sannreyna það sjálfur
Endurbyggðu commit Um glugganöfnin og berðu saman:
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>"
Prentað kjötkássa ætti að passa við bæði það sem er í Um glugganum og það sem er í þeirri skuldbindingu samantekt bygg-uppruna keyrslu. Þú getur líka athugað undirskriftina beint með GitHub CLI:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
Android og iOS forritin
Ávísunin hér að ofan er ávísun á vefforrit og ástæðan er þess virði að segja berum orðum: innbyggt app getur ekki gert það sama við sjálfan sig. Það sem keyrir á símanum þínum er samsettur vélkóði, ekki uppspretta í geymslunni og ekkert sem appið getur reiknað í tækinu tengist annað.
Android getur gert það næstbesta. Hið uppsetta .apk er skrá sem appið getur lesið
og kjötkássa, og kjötkássa hvers útgefna útgáfu er nú þegar opinber: birting til
Zapstore
undirritar Nostr atburð sem ber SHA-256 APK og undirritunarskírteini þess SHA-256. Þannig að
Android Um dialog hashes APK sem það er að keyra frá, sækir þá sem eru undirritaðir
atburðir, heldur aðeins þeim sem eru undirritaðir af lykli þróunaraðila og ber saman. Það sýnir þetta tvennt
kjötkássa líka, svo þú getir endurtekið hakið af tækinu: halaðu niður útgáfu APK, keyrðu
sha256sum á það, og skoðaðu sama atburðinn sjálfur.
Ekki er hægt að athuga forrit sem er sett upp frá Google Play með þessum hætti, og það er ekki merki um að eitthvað sé rangt. Google endurskrifir hvert uppsetningu með eigin lykli og byggir sérstakt APK fyrir hvert tæki, þannig að það sem landar á símanum þínum er ekki skrárin sem verktaki framleiðir og hash hennar passa ekkert sem gæti verið gefið út. Appinn þekkir Play uppsetningu og segir það frekar en að tilkynna mistök.
Það er alls ekki hægt að athuga iOS. Apple dulkóðar og endurskrifar hvert niðurhal fyrir sig, þannig að kjötkássa sem er reiknuð á iPhone þínum er einstakt fyrir iPhone þinn og passar ekkert birt hvar sem er. Um gluggann segir þetta hreint út frekar en að sýna hughreystandi staða sem þýðir ekkert. Ef þú vilt Nymchat geturðu staðfest á Apple vélbúnaði, notaðu vefinn app, sem athugar allar skrár sem það er að keyra.
Athugun sem forrit keyrir á sjálft getur ekki sannað að appið sé heiðarlegt - hver sem breytti því gæti fjarlægt ávísunina líka. Það sem það sannar er venjulegt tilfelli: að afritið þú uppsett er afritið sem var gefið út. Það er þess virði að hafa vegna þess að það metur það samanburður er opinber, svo einhver annar en þú getur athugað þá og verið ósammála.
Heimildarkanarífuglinn
Ábyrgðarkanarífugl er yfirlýsing, birt á föstu áætlun, sem framkvæmdaraðili hefur ekki fengið leynileg skipun stjórnvalda sem þeim er bannað að birta — a Þjóðaröryggisbréf, tilskipun FISA. Framkvæmdaraðilinn getur verið þvingaður til að þegja um slík skipun, en ekki er hægt að þvinga það til að ljúga, þannig að kanarífuglinn er að verða gamall eða hverfa sjálft merki.
Það býr í canary.json í rót geymslunnar og er sótt beint
frá GitHub, þannig að saga þess er endurskoðanleg óháð því sem uppsett síða segir.
Um glugginn litkóðar hann:
| Litur | Þýðir |
|---|---|
| Grænn — allt á hreinu | Undirritaður, núverandi og undirskriftin passar við lykil þróunaraðilans. Engin leynileg pöntun hefur borist. |
| Gulur — tímabært, eða ekki allt ljóst | Það var ekki endurnýjað af tilgreindri dagsetningu, eða þess allClear fáninn er falskur. Ekki er hægt að útiloka þaggaða skipun. |
| Rauður — ógild undirskrift, eða farin | Undirskriftin passar ekki við lykil þróunaraðilans, eða skráin hefur verið fjarlægð að öllu leyti. Líttu á þetta sem alvarlega viðvörun. |
Ferskleika akkerið
Undirritaður kanarífugl fellir inn nýjustu Bitcoin blokkarhæð og kjötkássa við undirritun. Það hass gæti ekki hafa verið vitað áður en blokkin var til, sem sannar að kanarífuglinn var það undirritaður eftir ákveðinn tímapunkt frekar en fyrirfram undirritað í lausu mánuði fyrr. Um valmyndin tengir akkerið við blokkkönnuði svo þú getir athugað það.