Ipilẹ imo Labẹ awọn Hood
Ijerisi Kọ
Orisun ṣiṣi ṣe iranlọwọ nikan ti koodu ti o nṣiṣẹ jẹ koodu ti o jẹ atejade. Nymchat wa ni itumọ ti deterministically ki o le ṣayẹwo ti ara rẹ, lati inu awọn app tabi lati kan ebute.
Oju-iwe yii jẹ itumọ ẹrọ fun irọrun. Atilẹba Gẹẹsi jẹ ẹya ti o kan.
Reproducible kọ
Ilé awọn app emits a build-manifest.json ti o ni awọn ileri orisun, a
SHA-256 hash ti gbogbo HTML ti a nṣe, JavaScript ati dukia CSS, ati ẹyọkan
bundleHash lori gbogbo ṣeto dukia.
Ijade da lori akoonu orisun nikan - paapaa akoko kikọ ti o gbasilẹ jẹ
ṣẹ's timestamp kuku ju akoko ti kikọ naa ṣiṣẹ - nitorinaa ẹnikẹni tun tun ṣe kanna
ṣẹ gba baiti-aami awọn faili ati awọn kanna bundleHash.
Iṣe GitHub kan lẹhinna tun ṣe iṣẹ kọọkan ni ominira ati awọn ami-ifihan-ifihan
awọn ẹri fun elile ati ifihan, nitorina igbasilẹ ti o fowo si wa ti tying a
bundleHash to a dá ni ibi ipamọ, yi ni ohun miiran ju awọn
imuṣiṣẹ.
Kini Awọn sọwedowo ibaraẹnisọrọ Nipa
Nipa ninu awọn akọsori nṣiṣẹ awọn ayẹwo ifiwe, ninu rẹ browser.
O tun mu dukia kọọkan ti oju-iwe naa nṣiṣẹ nitootọ, o hashes pẹlu API Crypto Wẹẹbu, ati
afiwe lodi si awọn farahan. Lẹhinna - ati eyi ni apakan ti o ṣe pataki - o
recomputes awọn bundleHash lati awọn hashes o o kan iṣiro, ko lati
ohunkohun ti o han gbangba nperare, ati ki o wo ti o soke ni awọn ibi ipamọ ká wole attestations
nipasẹ GitHub API.
Iyẹn ni ohun ti o da imuṣiṣẹ duro lati ṣe ẹri fun ararẹ: ṣiṣe awọn faili ti a yipada papọ pẹlu ifihan ti o baamu tun kuna, nitori hash ti a ṣe iṣiro ko ni ẹri.
| Ipo | Itumo |
|---|---|
| & ṣayẹwo; Ìṣàfilọ́lẹ̀ ìṣàmúlò (n/n) | Gbogbo awọn ibaamu dukia, hash lapapo ti a ṣe iṣiro jẹ ẹri nipasẹ ibi ipamọ, ati oju-iwe naa ti wa ni iṣẹ lati agbegbe aṣẹ. |
| ⚠ Iṣeduro kọ · kii ṣe ohun elo osise | Koodu naa jẹ ojulowo ati jẹri, ṣugbọn eyi jẹ digi lori agbegbe miiran. Digi ko le yọ ikilọ yii kuro laisi ṣiṣe iṣeduro kuna. |
| ✗ Ibamu | Ohun dukia ko ni hash si ohun ti ifihan sọ. |
| ✗ Kọ laigba aṣẹ | Hash budle ti a ṣe iṣiro ko ni ẹri lati ibi ipamọ - iṣafihan ti ara ẹni ti a ṣe. |
| ⚠ Provenance ko le de ọdọ | GitHub API ko le de ọdọ, nitorinaa ijẹrisi naa ko le ṣe ayẹwo ni ọna mejeeji. |
Ṣiṣayẹwo rẹ funrararẹ
Ṣe atunto ifaramọ Nipa awọn orukọ ajọṣọ ki o ṣe afiwe:
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>"
Hash ti a tẹjade yẹ ki o baramu mejeeji ọkan ti o wa ninu ibaraẹnisọrọ About ati ọkan ninu ifaramo yẹn kọ-provenance run Lakotan. O tun le ṣayẹwo ibuwọlu taara pẹlu GitHub CLI:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
Canary atilẹyin ọja
Canary atilẹyin ọja jẹ alaye kan, ti a tẹjade lori iṣeto ti o wa titi, ti olupilẹṣẹ naa ni kii ṣe gba aṣẹ ijọba aṣiri ti wọn jẹ ewọ lati ṣafihan - a Iwe Aabo Orilẹ-ede, aṣẹ FISA kan. Olùgbéejáde le fi agbara mu lati dakẹ nipa iru aṣẹ bẹ, ṣugbọn ko le fi agbara mu lati purọ, nitorinaa canary ti n lọ stale tabi ti sọnu ni ara ifihan agbara.
O ngbe inu canary.json ni root ti awọn ibi ipamọ ati ki o ti wa ni mu taara
lati GitHub, nitorinaa itan-akọọlẹ rẹ jẹ ifọwọyi ni ominira ohunkohun ti aaye ti a fi ranṣẹ sọ.
Nipa awọ ifọrọwerọ-awọn koodu rẹ:
| Àwọ̀ | Itumo |
|---|---|
| Alawọ ewe - gbogbo kedere | Ti fowo si, lọwọlọwọ, ati ibuwọlu ni ibaamu bọtini olumugbese. Ko si aṣẹ ikoko ti a ti gba. |
| Yellow - ti pẹ, tabi kii ṣe gbogbo rẹ | O ko ni itunu nipasẹ ọjọ ti a sọ, tabi rẹ allClear asia jẹ eke. Aṣẹ ipalọlọ ko le ṣe parẹ. |
| Pupa - Ibuwọlu ti ko tọ, tabi lọ | Ibuwọlu naa ko baramu bọtini olumugbese, tabi faili ti yọkuro patapata. Toju eyi bi ikilọ pataki kan. |
Awọn freshness oran
Canary ti o fowo si ṣe ifibọ giga bulọọki Bitcoin tuntun ati hash ni akoko iforukọsilẹ. Hash yẹn ko le ti mọ ṣaaju ki bulọki naa wa, eyiti o jẹri pe canary jẹ fowo si lẹhin aaye kan pato ni akoko kuku ju ibuwọlu tẹlẹ ni awọn oṣu pupọ sẹyin. Ibanisọrọ About About ṣopọ mọ oran si oluwakiri idinaki ki o le ṣayẹwo.