Tsibela kumxholo
Buyela eNymchat

Okubelelwe elwazini Ngaphantsi kwe-hood

Ukuqinisekisa ulwakhiwo

Umthombo ovulekileyo unceda kuphela ukuba ikhowudi oyisebenzisayo yikhowudi ebiyiyo ipapashiwe. I-Nymchat yakhiwe ngokuzimisela ukuze ukwazi ukujonga ngokwakho, ngaphakathi app okanye kwi-terminal.

Ukwakhiwa kwakhona

Ukwakha i-app kukhupha a build-manifest.json equlathe umthombo wokuzibophelela, a I-SHA-256 hash yayo yonke i-HTML esetyenziswayo, i-JavaScript kunye ne-asethi ye-CSS, kunye nenye bundleHash phezu kwayo yonke loo seti ye-asethi.

Imveliso ixhomekeke kuphela kumxholo womthombo - kwanexesha lokwakha elirekhodiweyo lelo isitampu sexesha lokuzibophelela endaweni yokuqalisa ukwakha - ke nabani na owakha okufanayo I-commit ifumana iifayile ezifanayo ze-byte kwaye ziyafana bundleHash.

Isenzo seGitHub emva koko sakha kwakhona ukuzibophelela ngamnye ngokuzimeleyo kwaye sisayine ubungqina bokwakha ubungqina be-hash kunye ne-manifest, ngoko kukho irekhodi esayiniweyo edibanisa a bundleHash ukuzinikela kwindawo yokugcina, eveliswe yenye into ngaphandle kwe ukusasazwa.

Yintoni ejongwa malunga nencoko yababini

Malunga kwiheda iqhuba itshekhi bukhoma, kwibhrawuza yakho.

I Nymchat Malunga nencoko yababini, ebonisa uguqulelo, yakha imfezeko kunye newaranti yobume becanary.
The Malunga nencoko yababini: uguqulelo, yakha imfezeko, iwarrant canary kunye nomgca othe ngqo kumbhekisi phambili.

Iphinda ithathe i-asethi nganye iphepha elisebenza ngokwenene, likhawuleza nge-Web Crypto API, kunye ithelekisa ngokuchasene nomboniso. Emva koko-kwaye le yinxalenye ebalulekileyo-yona ibuyisela i bundleHash ukusuka kwi-hashes yona kubalwe nje, hayi ukusuka nayiphi na into efunwa yi-manifest, kwaye ijonge loo nto kwindawo yokugcina ubungqina obusayiniweyo ngeGitHub API.

Yiloo nto ethintela ukusasazwa ekuziqinisekiseni ngokwayo: ukukhonza iifayile ezilungisiweyo kunye i-manifest ehambelanayo isasilela, kuba i-hash ebaliweyo ayinabungqina.

UbumeIindlela
&jonga; Usetyenziso olusemthethweni oluqinisekisiweyo (n/n)Yonke i-asethi ihambelana, i-hash ye-bundle ingqinwe nguvimba, kwaye iphepha linikezelwa kwindawo esemthethweni.
⚠ Ulwakhiwo oluqinisekisiweyo · hayi usetyenziso olusemthethweniIkhowudi iyinyani kwaye iqinisekisiwe, kodwa esi sibuko kwesinye isizinda. Isibuko asikwazi ukususa esi silumkiso ngaphandle kokungaphumeleli ukuqinisekiswa.
✗ UkungafaniI-asethi ayingxamanga kwinto ethethwa yimanifest.
✗ Ukwakhiwa ngokungekho mthethweniI-hash ye-bundle ehlaziyiweyo ayinabungqina obuvela kwindawo yokugcina - i-manifest eyenziwe ngokwayo.
⚠ Imbonakalo ayifikelelekiI-GitHub API ayifumanekanga, ngoko ke ubungqina abukhange bukhangelwe nangayiphi na indlela.

Ukuqinisekisa ngokwakho

Yakha kwakhona isibophelelo malunga namagama encoko yababini kwaye uthelekise:

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

I-hash eprintiweyo kufuneka itshatise zombini enye ekwincoko yababini emalunga naleyo ikwizibophelelo ukwakha-provenance run summary. Unokujonga kwakhona utyikityo ngqo ngeGitHub CLI:

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

Iiapps ze-Android kunye ne-iOS

Itshekhi engasentla lukhangelo lwe-web-app, kwaye isizathu sifanelekile ukuba sichaze ngokucacileyo: usetyenziso lwemveli ayinakuyenza into enye ngokwayo. Into esebenza kwifowuni yakho iqulunqwe ikhowudi yomatshini, hayi umthombo kwindawo yokugcina, kwaye akukho nto i-app inokuthi idibanise kwisixhobo inxulumene enye enye.

I-Android inokwenza into elandelayo engcono. Ifakiwe .apk yifayile enokuthi ifundwe yi-app kunye ne-hash, kunye ne-hash yalo lonke ukhupho olupapashiweyo sele luluntu: upapasho kwi Zapstore ityikitya umsitho we-Nostr ophethe i-APK ye-SHA-256 kunye nesatifikethi sayo sokusayina i-SHA-256. Ngoko ke Android Malunga Incoko yababini ikhawuleza i-APK esebenza kuyo, ilanda ezo zisayiniweyo iziganeko, igcina kuphela ezo zisayinwe sisitshixo somphuhlisi, kwaye ithelekisa. Ibonisa zombini i-hashes ngokunjalo, ukuze ukwazi ukuphinda ukukhangela kwisixhobo: khuphela i-APK epapashiweyo, sebenzisa sha256sum kuyo, kwaye ujonge isiganeko esifanayo ngokwakho.

Usetyenziso olufakwe kuDlalo lukaGoogle alunakujongwa ngolu hlobo, yaye ke ayinxalenye ukuba nayiphi na into ingxakiweyo. I-Google inqakraza yonke ukulayishwa kunye nenkceda yayo yayo kwaye ibekwe i-APK eyahlukileyo kumadivayisi omnye, ngoko oku kutshintshe kwi-telephone yakho ayikho ifayile owenziwe ngu-developer kwaye i-hash yayo inqakraza nayiphi na into eyenziwa. I-app ibekwe i-Play install kwaye inqakraza ngoko kunokuba ibekwe inkcazelo. Ukuze ufake i-build wena, ufake i-APK ebekwe ngqo.

I-iOS ayinakujongwa kwaphela. I-Apple ifihla kwaye isayine kwakhona ukhuphelo ngalunye ngabanye, ngoko i-hash ekhompyutheni kwi-iPhone yakho yahlukile kwi-iPhone yakho kwaye ihambelana nantoni na ipapashwe naphi na. Incoko yababini emalunga nencoko ithetha oku ngokuthe ngqo kunokuba ibonise uqinisekiso isimo esithetha nto. Ukuba ufuna iNymchat ungaqinisekisa kwihardware yeApple, sebenzisa iwebhu app, ejonga yonke ifayile esebenzayo.

Yintoni engqinwayo koku

Itshekhi i-app iyaziqhuba ayinakungqina ukuba i-app inyanisekile - nabani na oyilungisileyo inokususa itshekhi nayo. Into engqinayo yimeko eqhelekileyo: ukuba ikopi yakho efakiweyo yikopi epapashwe. Loo nto ifanelekile ngenxa yokuba iyayixabisa uthelekiso lusesidlangalaleni, ngoko umntu ongenguye unokuwajonga, kwaye akavumi.

Iwarrant canary

I-warrant canary yingxelo, epapashwe kwishedyuli esisigxina, ukuba umphuhlisi unalo hayi wafumana umyalelo karhulumente oyimfihlo abavumelekanga ukuba baveze - a Ileta yoKhuseleko lweSizwe, umyalelo weFISA. Umphuhlisi unokunyanzeliswa ukuba ahlale ethule malunga Umyalelo onjalo, kodwa awunakunyanzelwa ukuba uxoke, ngoko ke i-canary iya kudala okanye iyanyamalala ngokwayo uphawu.

Ihlala ngaphakathi canary.json kwingcambu yendawo yokugcina kwaye ilandwa ngokuthe ngqo ukusuka kwi-GitHub, ngoko ke imbali yayo iyaphicothwa ngokuzimeleyo nokuba yintoni na indawo esetyenzisiweyo ithi. Umbala wencoko yababini uyikhowudi:

UmbalaIindlela
Luhlaza - zonke zicacileIsayiniwe, yangoku, kunye notyikityo luhambelana nesitshixo somphuhlisi. Akukho myalelo wemfihlo ufunyenweyo.
Lubhelu - kudlulelwe lixesha, okanye azicacanga zonkeAyizange ihlaziywe ngomhla wayo ochaziweyo, okanye yayo allClear iflegi bubuxoki. Umyalelo othi cwaka awunakukhutshwa.
Bomvu — umsayino ongasebenziyo, okanye umkileUtyikityo aluhambelani nesitshixo somphuhlisi, okanye ifayile isusiwe ngokupheleleyo. Kuthathe oku njengesilumkiso esibalulekileyo.

I-ankile entsha

I-canary esayiniweyo ifaka ubude bebhloko yeBitcoin yamva nje kunye ne-hash ngexesha lokusayina. Loo hashi yayingenakukwaziwa ngaphambi kokuba ibhloko ikhona, ebonisa ukuba i-canary yayiyiyo isayiniwe emva indawo ethile ngexesha kunokuba isayinwe kwangaphambili kwiinyanga ezininzi ngaphambili. Incoko yababini emalunga ne-ankile idibanisa umhloli webhloko ukuze ukwazi ukuyijonga.