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

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.