וויסן באַזע אונטער די קאַפּטער
באַשטעטיקן די קאַנסטראַקשאַן
עפֿענען מקור העלפּס בלויז אויב דער קאָד וואָס איר לויפן איז דער קאָד וואָס איז געווען ארויס. Nymchat איז געבויט דיטערמאַניסטיק אַזוי איר קענען קאָנטראָלירן אַז זיך, פֿון ין די אַפּ אָדער פֿון אַ וואָקזאַל.
דער בלאַט איז מאַשין איבערגעזעצט פֿאַר קאַנוויניאַנס. דער ענגלישער אָריגינעל איז די ווערסיע וואָס אַפּלייז.
רעפּראָדוסיבלע בויען
בילדינג די אַפּ גיט אַ build-manifest.json מיט דעם מקור איבערגעבן, א
SHA-256 האַש פון יעדער געדינט HTML, דזשאַוואַסקריפּט און CSS אַסעט, און אַ איין
bundleHash איבער אַז גאַנץ אַסעט שטעלן.
דער רעזולטאַט דעפּענדס בלויז אויף די מקור אינהאַלט - אפילו די רעקאָרדעד בויען צייט איז די
commit ס צייט סטאַמפּ אלא ווי דער מאָמענט די בויען איז געלאפן - אַזוי ווער עס יז ריבילדינג די זעלבע
commit געץ בייטע-יידענטיקאַל טעקעס און די זעלבע bundleHash.
א גיטהוב אַקשאַן דעמאָלט ריבילדז יעדער יבערגעבן ינדיפּענדאַנטלי און סיגנס בויען-פּראָווענאַנס
אַטטעסטיישאַנז פֿאַר די האַש און די מאַנאַפעסטיישאַן, אַזוי עס איז אַ געחתמעט רעקאָרד טייפּינג אַ
bundleHash צו אַ יבערגעבן אין די ריפּאַזאַטאָרי, געשאפן דורך עפּעס אַנדערש ווי די
דיפּלוימאַנט.
וואָס די וועגן דיאַלאָג טשעקס
וועגן אין די כעדער לויפט די טשעק לעבן, אין דיין בלעטערער.
עס שייַעך-פעטטשעס יעדער אַסעט די בלאַט איז פאקטיש פליסנדיק, האַשעס עס מיט די וועב קריפּטאָ אַפּי, און
פאַרגלייַכן קעגן די מאַנאַפעסטיישאַן. דערנאָך - און דאָס איז דער טייל וואָס איז וויכטיק - עס
רעקאַמפּיוץ די bundleHash פון די האַשעס עס נאָר גערעכנט, נישט פֿון
אַלץ וואָס דער מאַניפעסט קליימז, און קוקט דאָס אין די געחתמעט אַטטעסטאַז פון די ריפּאַזאַטאָרי
דורך די GitHub API.
אַז איז וואָס סטאַפּס אַ דיפּלוימאַנט פון וואַוטשינג פֿאַר זיך: סערווינג מאַדאַפייד טעקעס צוזאַמען מיט אַ וואָס ריכטן מאַנאַפעסטיישאַן נאָך פיילז, ווייַל די ריקאָמפּיוטיד האַש האט קיין אַטטעסטיישאַן.
| סטאַטוס | מיטל |
|---|---|
| &טשעק; וועראַפייד באַאַמטער אַפּ (n/n) | יעדער אַסעט שוועבעלעך, די ריקאָמפּיוטיד פּעקל האַש איז אַטטעסטעד דורך די ריפּאַזאַטאָרי, און דער בלאַט איז געדינט פֿון דער באַאַמטער פעלד. |
| ⚠ וועראַפייד בויען · נישט דער באַאַמטער אַפּ | דער קאָד איז עכט און אַטטעסטעד, אָבער דאָס איז אַ שפּיגל אויף אן אנדער פעלד. א שפּיגל קען נישט באַזייַטיקן דעם ווארענונג אָן פיילינג וועראַפאַקיישאַן. |
| ✗ ניט פּאַסיק | אַ אַסעט טוט נישט האַש צו וואָס די מאַנאַפעסטיישאַן זאגט. |
| ✗ אַנאַפישאַל בויען | די רעקאַמפּיוטיד פּעקל האַש האט קיין אַטעסטאַטיאָן פון די ריפּאַזאַטאָרי - אַ זיך-געמאכט באַשייַמפּערלעך. |
| ⚠ פּראָווענאַנסע אַנריטשאַבאַל | די GitHub API קען נישט זיין ריטשט, אַזוי די אַטעסטיישאַן קען נישט זיין אָפּגעשטעלט אין קיין וועג. |
באַשטעטיקן עס זיך
ריבילד די יבערגעבן די וועגן דיאַלאָג נעמען און פאַרגלייַכן:
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>"
די געדרוקט האַש זאָל גלייַכן די איין אין די וועגן דיאַלאָג און דער איינער אין דעם יבערגעבן בויען-פּראָווענאַנס לויפן קיצער. איר קענט אויך קאָנטראָלירן די כסימע גלייך מיט די GitHub CLI:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
דער באַרעכטיקן קאַנאַרי
א באַרעכטיקן קאַנאַרי איז אַ דערקלערונג, ארויס אויף אַ פאַרפעסטיקט פּלאַן, וואָס דער דעוועלאָפּער האט נישט באקומען א געהיימע רעגירונג באפעל וואס זיי זענען פארבאטן ארויסצוגעבן — א נאַשאַנאַל סעקוריטי בריוו, אַ פיסאַ סדר. דער דעוועלאָפּער קענען זיין געצווונגען צו בלייבן שטיל וועגן אַזאַ אַ סדר, אָבער קענען ניט זיין געצווונגען צו ליגן, אַזוי די קאַנאַרי געגאנגען אַלט אָדער פאַרשווינדן איז זיך דער סיגנאַל.
עס לעבט אין canary.json אין דער וואָרצל פון די ריפּאַזאַטאָרי און איז פעטשט גלייַך
פֿון GitHub, אַזוי זיין געשיכטע איז אַדיטאַבאַל ינדיפּענדאַנטלי פון וועלכער די דיפּלויד פּלאַץ זאגט.
די וועגן דיאַלאָג קאָליר-קאָודז עס:
| קאָליר | מיטל |
|---|---|
| גרין — אלץ קלאר | געחתמעט, קראַנט און די כסימע גלייַכן די שליסל פון די דעוועלאָפּער. קיין סוד סדר איז געווען באקומען. |
| געל — איבעריק, אָדער ניט אַלע קלאָר | עס איז נישט דערקוויקט דורך זיין סטייטיד דאַטע, אָדער זיין allClear פאָן איז פאַלש. מען קען נישט אויסשליסן א פארשווייגטע באפעל. |
| רויט — אומגילטיגע אונטערשריפט, אדער אוועק | די כסימע שטימט נישט מיט דער שליסל פון די דעוועלאָפּער, אָדער די טעקע איז גאָר אַוועקגענומען. באהאנדלען דעם ווי אַ ערנסט ווארענונג. |
די פרישקייט אַנקער
די געחתמעט קאַנאַרי עמבעדז די לעצטע ביטקאָין בלאָק הייך און האַש אין דעם מאָמענט פון סיינינג. אַז כאַש קען נישט האָבן געווען באקאנט איידער די בלאָק עקסיסטירט, וואָס באַווייַזן די קאַנאַרי איז געווען געחתמעט נאָך אַ ספּעציפיש פונט אין צייט אלא ווי פאַר-געחתמעט אין פאַרנעם חדשים פריער. די וועגן דיאַלאָג פֿאַרבינדט די אַנקער צו אַ בלאָק Explorer אַזוי איר קענען קאָנטראָלירן עס.