Məzmuna keçin
Nymchat səhifəsinə qayıt

Bilik bazası Başlıq altında

Quraşdırmanın yoxlanılması

Açıq mənbə yalnız işlətdiyiniz kod əvvəlki koddursa kömək edir nəşr edilmişdir. Nymchat deterministik şəkildə qurulub ki, içəridən özünüz yoxlayasınız proqramdan və ya terminaldan.

Təkrarlana bilən quruluşlar

Tətbiqin qurulması a build-manifest.json mənbə öhdəliyini ehtiva edən, a Hər təqdim edilən HTML, JavaScript və CSS aktivinin SHA-256 hash və tək bundleHash bütün aktiv dəsti üzərində.

Çıxış yalnız mənbə məzmunundan asılıdır - hətta qeydə alınmış tikinti vaxtı belədir Quraşdırmanın başa çatdığı andan deyil, öhdəliyin vaxt damğası - buna görə də hər kəs eyni şeyi yenidən qurar commit bayt-eyni faylları alır və eyni bundleHash.

GitHub Fəaliyyəti sonra hər bir öhdəliyi müstəqil şəkildə yenidən qurur və tikinti sübutunu imzalayır hash və manifest üçün attestations, belə ki, tying imzalanmış rekord var bundleHash deyil, başqa bir şey tərəfindən istehsal edilən depoda bir öhdəliyə yerləşdirmə.

Haqqında dialoq nəyi yoxlayır

Haqqında başlıqda yoxlama canlı olaraq brauzerinizdə aparılır.

Versiyanı göstərən Nymchat Haqqında dialoq, bütövlüyü qurmaq və kanareyka statusunu təmin etmək.
Haqqında dialoq: versiya, bütövlük, zəmanət kanaryası və tərtibatçıya birbaşa xətt.

O, səhifənin əslində işlədiyi hər bir aktivi yenidən gətirir, onu Web Crypto API ilə hash edir və manifestlə müqayisə edir. Sonra - və bu vacib olan hissədir - bu yenidən hesablayır bundleHash hashlardan o -dən deyil, sadəcə hesablanıb açıq-aşkar iddia etdiyi hər şeyi və deponun imzalanmış sertifikatlarına baxır GitHub API vasitəsilə.

Bu, yerləşdirmənin özünə zəmanət verməsini dayandıran şeydir: dəyişdirilmiş fayllarla birlikdə xidmət göstərmək uyğun manifest hələ də uğursuz olur, çünki yenidən hesablanmış hashın təsdiqi yoxdur.

Vəziyyətdeməkdir
&yoxlayın; Doğrulanmış rəsmi proqram (n/n)Hər bir aktiv uyğun gəlir, yenidən hesablanmış paket hashı repozitoriya tərəfindən təsdiqlənir, səhifə rəsmi domendən xidmət göstərir.
⚠ Təsdiqlənmiş quruluş · rəsmi proqram deyilKod orijinaldır və təsdiqlənmişdir, lakin bu, başqa domendə güzgüdür. Güzgü yoxlamadan keçmədən bu xəbərdarlığı silə bilməz.
✗ UyğunsuzluqAktiv manifestdə deyilənlərə uyğun gəlmir.
✗ Qeyri-rəsmi quruluşYenidən hesablanmış paket hashının anbardan heç bir təsdiqi yoxdur — özü tərəfindən hazırlanmış manifest.
⚠ Mənşəyi əldə etmək mümkün deyilGitHub API-yə çatmaq mümkün olmadı, buna görə də attestasiyanı hər iki yolla yoxlamaq mümkün olmadı.

Bunu özünüz yoxlayın

Haqqında dialoq adlarını yerinə yetirməyi yenidən qurun və müqayisə edin:

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

Çap edilmiş hash həm Haqqında dialoq qutusunda, həm də həmin öhdəlikdəki ilə uyğun olmalıdır qurma mənşəli qaçış xülasəsi. İmzanı birbaşa GitHub CLI ilə yoxlaya bilərsiniz:

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

Zəmanət kanareyası

Zəmanət kanaryası, tərtibatçının sahib olduğu müəyyən bir cədvəl üzrə dərc edilmiş bir bəyanatdır yox onlara açıqlaması qadağan edilmiş gizli dövlət sifarişi almışlar — a Milli Təhlükəsizlik Məktubu, FISA əmri. Tərtibatçı bu barədə susmağa məcbur edilə bilər belə bir sifarişdir, lakin yalan danışmağa məcbur edilə bilməz, buna görə də kanareyka köhnəlir və ya yox olur. özü siqnaldır.

İçində yaşayır canary.json deponun kökündə yerləşir və birbaşa gətirilir GitHub-dan, ona görə də onun tarixçəsi yerləşdirilən saytın dediklərindən asılı olmayaraq yoxlanıla bilər. Haqqında dialoqu onu rənglə kodlayır:

Rəngdeməkdir
Yaşıl - hər şey aydındırİmzalanmış, cari və imza tərtibatçının açarına uyğun gəlir. Heç bir gizli sifariş alınmayıb.
Sarı — vaxtı keçmiş və ya hər şey aydın deyilGöstərilən tarixə və ya ona görə təzələnmədi allClear bayraq yalandır. Susdurulmuş sifarişi istisna etmək olmaz.
Qırmızı — etibarsız imza və ya getdiİmza tərtibatçının açarı ilə uyğun gəlmir və ya fayl tamamilə silinib. Bunu ciddi bir xəbərdarlıq kimi qəbul edin.

Təzəlik lövbəri

İmzalanmış kanareyka, imzalanma anında ən son Bitcoin blokunun hündürlüyünü və hashını özündə cəmləşdirir. Blok mövcud olmadan əvvəl bu hash bilinə bilməzdi, bu da kanareyanın olduğunu sübut edir imzaladı sonra aylar əvvəl toplu şəkildə əvvəlcədən imzalanmış deyil, müəyyən bir zaman nöqtəsi. Haqqında dialoqu lövbəri blok tədqiqatçısına bağlayır ki, siz onu yoxlaya biləsiniz.