Bażi ta 'għarfien Taħt il-barnuża
Verifika tal-bini
Is-sors miftuħ jgħin biss jekk il-kodiċi li qed taħdem huwa l-kodiċi li kien ippubblikat. Nymchat huwa mibni b'mod deterministiku sabiex inti tista 'tiċċekkja li lilek innifsek, minn ġewwa l- app jew minn terminal.
Din il-paġna hija tradotta bil-magni għall-konvenjenza. L-oriġinal bl-Ingliż huwa l-verżjoni li tapplika.
Bini riproduċibbli
Il-bini tal-app jarmi a build-manifest.json li jkun fih is-sors commit, a
SHA-256 hash ta' kull assi HTML, JavaScript u CSS moqdi, u wieħed
bundleHash fuq dak is-sett kollu tal-assi.
L-output jiddependi biss fuq il-kontenut tas-sors - anke l-ħin tal-bini rreġistrat huwa l-
it-timbru taż-żmien tal-commit aktar milli l-mument li fih dam il-bini — għalhekk kull min jerġa’ jibni l-istess
commit gets fajls byte-identiċi u l-istess bundleHash.
Azzjoni GitHub imbagħad terġa 'tibni kull impenn b'mod indipendenti u tiffirma bini-provenjenza
attestazzjonijiet għall-hash u l-manifest, għalhekk hemm rekord iffirmat irbit a
bundleHash għal impenn fir-repożitorju, prodott minn xi ħaġa oħra għajr il-
skjerament.
X'jiċċekkja d-djalogu Dwar
Dwar fil-header imexxi l-kontroll live, fil-browser tiegħek.
Terġa' ġġib kull assi li l-paġna tkun qed taħdem fil-fatt, iżżidha mal-Web Crypto API, u
tqabbel mal-manifest. Imbagħad - u din hija l-parti li tgħodd - it
jerġa' jikkalkula l- bundleHash mill-hashes dan ikkalkulat biss, mhux minn
kull ħaġa li l-manifest jippretendi, u jidher li fl-attestazzjonijiet iffirmati tar-repożitorju
permezz tal-API GitHub.
Dak huwa dak li jwaqqaf skjerament milli javża għalih innifsu: li jservi fajls modifikati flimkien ma ' manifest ta' tqabbil xorta jonqos, minħabba li l-hash ikkalkulat mill-ġdid m'għandu l-ebda attestazzjoni.
| Status | Mezzi |
|---|---|
| ✓ App uffiċjali verifikata (n/n) | Kull assi jaqbel, il-hash tal-pakkett ikkalkulat mill-ġdid huwa attestat mir-repożitorju, u il-paġna hija moqdija mid-dominju uffiċjali. |
| ⚠ Bini verifikat · mhux l-app uffiċjali | Il-kodiċi huwa ġenwin u attestat, iżda din hija mera fuq dominju ieħor. Mera ma tistax tneħħi din it-twissija mingħajr ma tonqos mill-verifika. |
| ✗ Ma jaqblux | Ass ma jfixkilx dak li jgħid il-manifest. |
| ✗ Bini mhux uffiċjali | Il-bundle hash ikkalkulat mill-ġdid m'għandu l-ebda attestazzjoni mir-repożitorju - manifest magħmul minnu nnifsu. |
| ⚠ Provenjenza ma tistax tintlaħaq | L-API GitHub ma setgħetx tintlaħaq, għalhekk l-attestazzjoni ma setgħetx tiġi ċċekkjata bl-ebda mod. |
Tivverifikaha lilek innifsek
Ibni mill-ġdid il-kommetti l-ismijiet tad-djalogu Dwar u qabbel:
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>"
Il-hash stampat għandu jaqbel kemm ma' dak fid-djalogu Dwar kif ukoll dak f'dak il-kommit sommarju tal-ġirja tal-bini-provenjenza. Tista 'wkoll tiċċekkja l-firma direttament mal-CLI GitHub:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
L-apps Android u iOS
Il-kontroll ta 'hawn fuq huwa kontroll tal-web-app, u r-raġuni ta' min tiddikjara b'mod ċar: app nattiva ma jistax jagħmel l-istess ħaġa għalih innifsu. Dak li jimxi fuq it-telefon tiegħek huwa kodiċi tal-magna kkumpilat, mhux il- sors fir-repożitorju, u xejn l-app ma tista 'tikkalkula fuq l-apparat tirrelata waħda mal- oħra.
Android jista 'jagħmel l-aħjar ħaġa li jmiss. L-installat .apk huwa fajl li l-app tista 'taqra
u hash, u l-hash ta 'kull rilaxx ippubblikat huwa diġà pubbliku: pubblikazzjoni lill-
Zapstore
jiffirma avveniment Nostr li jġorr SHA-256 tal-APK u SHA-256 taċ-ċertifikat tal-iffirmar tiegħu. Allura l-
Android Dwar dialog hashes l-APK li tkun qed taħdem minnu, iġib dawk iffirmati
avvenimenti, iżomm biss dawk iffirmati miċ-ċavetta tal-iżviluppatur, u jqabbel. Juri t-tnejn
hashes ukoll, sabiex inti tista 'tirrepeti l-kontroll off-apparat: niżżel l-APK ippubblikata, run
sha256sum fuqha, u tħares lejn l-istess avveniment lilek innifsek.
App installata minn Google Play ma tistax tiġi ċċekkjata b'dan il-mod, u dan mhux sinjal li xi ħsara qiegħda. Google jerġa' jisirma kull upload bil-klavijiet tiegħu stess u jibni APK separata għal kull apparat, għalhekk dak li jidħol fil-mowbajl tiegħek mhux il-fajl li l-żviluppatur produċa u l-hash tiegħu ma jaqbilx ma' xejn li jista' jiġi ppublikat. L-app tirkoniċi installazzjoni minn Play u tgħid hekk minn qabel li tirrapporta falliment. Biex tiċċekkja build minn ruħek, installa l-APK li ġiet ppublikata direttament.
iOS ma jistax jiġi ċċekkjat għal kollox. Apple tikkodifika u tiffirma mill-ġdid kull download individwalment, għalhekk hash ikkalkulat fuq l-iPhone tiegħek huwa uniku għall-iPhone tiegħek u ma jaqbel xejn ippubblikat kullimkien. Id-djalogu Dwar jgħid dan għal kollox aktar milli juri rassikuranti status li ma jfisser xejn. Jekk trid Nymchat tista' tivverifika fuq il-ħardwer Apple, uża l-web app, li tiċċekkja kull fajl li tkun qed taħdem.
Kontroll li app taħdem fuqha nnifisha ma tistax tipprova li l-app hija onesta — min immodifikaha jista 'jneħħi l-kontroll ukoll. Dak li jipprova huwa l-każ ordinarju: li l-kopja inti installata hija l-kopja li ġiet ippubblikata. Dak ta’ min ikollu għax il-valur tiegħu il-paraguni huma pubbliċi, għalhekk xi ħadd ieħor għajrek jista' jiċċekkjahom, u ma jaqbilx.
Il-warrant canary
A warrant canary hija dikjarazzjoni, ippubblikata fuq skeda fissa, li l-iżviluppatur għandu le irċevew ordni sigrieta tal-gvern li huma pprojbiti li jiżvelaw - a Ittra tas-Sigurtà Nazzjonali, ordni tal-FISA. L-iżviluppatur jista 'jiġi mġiegħel jibqa' sieket dwar ordni bħal din, iżda ma jistax jiġi mġiegħel jigdeb, għalhekk il-kanarju sejjer jew jisparixxi huwa innifsu s-sinjal.
Jgħix fi canary.json fl-għerq tar-repożitorju u jinġieb direttament
minn GitHub, għalhekk l-istorja tagħha hija verifikabbli indipendentement minn dak kollu li jgħid is-sit skjerat.
Id-djalogu dwar il-kulur jikkodifikah:
| Kulur | Mezzi |
|---|---|
| Aħdar — kollox ċar | Iffirmat, kurrenti, u l-firma taqbel maċ-ċavetta tal-iżviluppatur. L-ebda ordni sigrieta ma waslet. |
| Isfar — misshom, jew mhux ċari kollha | Ma ġietx aggornata mid-data ddikjarata tagħha, jew tagħha allClear bandiera hija falza. Ordni msikkta ma tistax tiġi eskluża. |
| Aħmar — firma invalida, jew marret | Il-firma ma taqbilx maċ-ċavetta tal-iżviluppatur, jew il-fajl tneħħa għal kollox. Ittratta dan bħala twissija serja. |
L-ankra tal-freskezza
Il-kanarju ffirmat jinkorpora l-aħħar għoli tal-blokk Bitcoin u l-hash fil-mument tal-iffirmar. Dak il-hash ma setax ikun magħruf qabel ma kien jeżisti l-blokk, li juri li l-kanarju kien iffirmat wara punt speċifiku fiż-żmien aktar milli ffirmat minn qabel fi kwantitajiet kbar xhur qabel. Id-djalogu Dwar torbot l-ankra ma 'esploratur tal-blokki sabiex tkun tista' tiċċekkjaha.