Pāriet uz saturu
Atpakaļ uz Nymchat

Zināšanu bāze Zem pārsega

Konstrukcijas pārbaude

Atvērtais kods palīdz tikai tad, ja jūsu darbinātais kods ir tāds pats kods, kāds bija publicēts. Nymchat ir izveidots deterministiski, lai jūs varētu to pārbaudīt pats, no iekšpuses lietotnē vai no termināļa.

Reproducējamas konstrukcijas

Lietojumprogrammas izveide rada a build-manifest.json kas satur avota apņemšanos, a SHA-256 jaukšana katram rādītajam HTML, JavaScript un CSS īpašumam un vienam bundleHash visā aktīvu komplektā.

Izvade ir atkarīga tikai no avota satura — pat reģistrētais izveides laiks ir commit laika zīmogs, nevis brīdis, kad tika palaists būvējums — tātad ikviens, kurš pārbūvē to pašu commit iegūst baitiem identiskus failus un to pašu bundleHash.

Pēc tam GitHub darbība pārbūvē katru apņemšanos atsevišķi un paraksta būvēšanas izcelsmi apliecības par hash un manifestu, tāpēc ir parakstīts ieraksts, kas piesaista a bundleHash saistību izpildei repozitorijā, ko veido kaut kas cits, nevis izvietošana.

Kas tiek pārbaudīts dialoglodziņā Par

Par galvenē palaiž pārbaudi tiešraidē jūsu pārlūkprogrammā.

Dialoglodziņš Nymchat About, kas parāda versiju, konstrukcijas integritāti un garantē Kanārija statusu.
Dialoglodziņš Par: versija, konstrukcijas integritāte, garantija kanāri un tiešā līnija izstrādātājam.

Tas atkārtoti ienes katru līdzekli, ko lapa faktiski darbojas, sajauc to ar Web Crypto API un salīdzina ar manifestu. Tad — un šī ir svarīgākā daļa — tas pārrēķina bundleHash no hashēm to tikai aprēķināts, nevis no viss, ko apgalvo manifests, un to meklē repozitorija parakstītajos apliecinājumos izmantojot GitHub API.

Tas neļauj izvietošanai galvot par sevi: modificēto failu apkalpošana kopā ar atbilstošs manifests joprojām neizdodas, jo pārrēķinātajam hash nav apstiprinājuma.

StatussLīdzekļi
✓ Verificēta oficiālā lietotne (n/n)Katrs līdzeklis atbilst, repozitorijs apstiprina pārrēķināto paketes hash, un lapa tiek apkalpota no oficiālā domēna.
⚠ Verificēta versija · nav oficiālā lietotneKods ir īsts un apstiprināts, taču tas ir spogulis citā domēnā. Spogulis nevar noņemt šo brīdinājumu bez pārbaudes.
✗ NeatbilstībaLīdzeklis nesakrīt ar manifestā teikto.
✗ Neoficiāla konstrukcijaPārrēķinātajam paketes hash nav apliecinājuma no repozitorija — paštaisīta manifesta.
⚠ Izcelsme nav sasniedzamaGitHub API nevarēja sasniegt, tāpēc apliecinājumu nevarēja pārbaudīt nevienā veidā.

Pārbaudi pats

Atkārtoti izveidojiet apņemšanās dialoglodziņa Par nosaukumus un salīdziniet:

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

Drukātajam jaucējam ir jāatbilst gan dialoglodziņā Par, gan tam, kas norādīts šajā saistībā būvēt-izcelsmes palaišanas kopsavilkums. Varat arī pārbaudīt parakstu tieši, izmantojot GitHub CLI:

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

Garantijas kanārijputniņš

Garantija ir izstrādātāja paziņojums, kas publicēts pēc noteikta grafika saņēma slepenu valdības rīkojumu, kuru viņiem aizliegts izpaust — a Nacionālās drošības vēstule, FISA rīkojums. Izstrādātājs var būt spiests klusēt tāda kārtība, bet nevar piespiest melot, tāpēc kanārijputniņš iet nost vai pazūd ir pats signāls.

Tas dzīvo iekšā canary.json repozitorija saknē un tiek iegūts tieši no GitHub, tāpēc tās vēsturi var pārbaudīt neatkarīgi no tā, ko saka izvietotā vietne. Dialoglodziņā Par to ir norādīts krāsu kods:

KrāsaLīdzekļi
Zaļš - viss skaidrsParakstīts, pašreizējais un paraksts atbilst izstrādātāja atslēgai. Neviens slepens pasūtījums nav saņemts.
Dzeltens — nokavēts vai ne viss skaidrsTas netika atsvaidzināts pēc norādītā datuma vai tā allClear karogs ir nepatiess. Nevar izslēgt klusu pasūtījumu.
Sarkans — nederīgs paraksts vai pazudisParaksts neatbilst izstrādātāja atslēgai, vai fails ir pilnībā noņemts. Uztveriet to kā nopietnu brīdinājumu.

Svaiguma enkurs

Parakstītais kanārijputniņš iegulst jaunāko Bitcoin bloka augstumu un hash parakstīšanas brīdī. Šis hash nevarēja būt zināms pirms bloka pastāvēšanas, kas pierāda, ka kanārijputniņš bija parakstīts pēc konkrēts brīdis, nevis iepriekš parakstīts vairumā mēnešus iepriekš. Dialoglodziņā Par enkuru tiek piesaistīts bloku pārlūkam, lai jūs varētu to pārbaudīt.