ცოდნის ბაზა კაპოტის ქვეშ
აშენების შემოწმება
ღია წყარო დაგეხმარებათ მხოლოდ იმ შემთხვევაში, თუ კოდი, რომელსაც თქვენ აწარმოებთ, არის ის კოდი, რომელიც იყო გამოქვეყნდა. Nymchat აგებულია დეტერმინისტულად, ასე რომ თქვენ შეგიძლიათ შეამოწმოთ ეს თავად, შიგნიდან აპლიკაციიდან ან ტერმინალიდან.
ეს გვერდი მოხერხებულობისთვის მანქანურად ითარგმნება. ინგლისური ორიგინალი არის ვერსია, რომელიც გამოიყენება.
რეპროდუცირებადი ნაგებობები
აპლიკაციის აგება გამოსცემს ა build-manifest.json შეიცავს წყაროს დავალებას, ა
SHA-256 ჰეშის ყველა მოწოდებული HTML, JavaScript და CSS აქტივი და ერთი
bundleHash მთელი აქტივების კომპლექტზე.
გამომავალი დამოკიდებულია მხოლოდ წყაროს შინაარსზე - ჩაწერილი აშენების დროც კი არის
ჩადენის დროის ანაბეჭდი და არა build-ის გაშვების მომენტი - ასე რომ, ვინც აღადგენს იგივეს
commit იღებს ბაიტის იდენტურ ფაილებს და იგივე bundleHash.
GitHub Action შემდეგ აღადგენს თითოეულ ჩადენას დამოუკიდებლად და ხელს აწერს აშენების წარმოშობას
ატესტაციები ჰეშისა და მანიფესტისთვის, ამიტომ არის ხელმოწერილი ჩანაწერი, რომელიც აკავშირებს ა
bundleHash საცავში ჩადენილი ვალდებულება, რომელიც წარმოებულია რაღაცის გარდა
განლაგება.
რას ამოწმებს დიალოგი About
შესახებ სათაურში გადის შემოწმება პირდაპირ, თქვენს ბრაუზერში.
ის ხელახლა იღებს თითოეულ აქტივს, რომელსაც გვერდი რეალურად მუშაობს, ჰეშირებს მას Web Crypto API-ით და
ადარებს მანიფესტს. მაშინ - და ეს არის ის ნაწილი, რომელსაც აქვს მნიშვნელობა - ის
ხელახლა ითვლის bundleHash ჰეშებიდან ის უბრალოდ გათვლილი, არა
ყველაფერს, რასაც მანიფესტი ამტკიცებს და ამას ეძებს საცავში ხელმოწერილ ატესტაციაში
GitHub API-ს მეშვეობით.
ეს არის ის, რაც აჩერებს განლაგებას საკუთარი თავის გარანტიას: მოდიფიცირებული ფაილების გამოყენებასთან ერთად შესატყვისი მანიფესტი მაინც ვერ ხერხდება, რადგან ხელახლა გამოთვლილ ჰეშს არ აქვს ატესტაცია.
| სტატუსი | ნიშნავს |
|---|---|
| &შეამოწმეთ; დადასტურებული ოფიციალური აპი (n/n) | ყველა აქტივი ემთხვევა, ხელახლა გამოთვლილი პაკეტის ჰეში დამოწმებულია საცავში, და გვერდი ემსახურება ოფიციალური დომენიდან. |
| ⚠ დადასტურებული კონსტრუქცია · არა ოფიციალური აპლიკაცია | კოდი არის ნამდვილი და დამოწმებული, მაგრამ ეს არის სარკე სხვა დომენზე. სარკე ვერ წაშლის ამ გაფრთხილებას დადასტურების წარუმატებლობის გარეშე. |
| ✗ შეუსაბამობა | აქტივი არ ჰეშირებს იმას, რასაც მანიფესტი ამბობს. |
| ✗ არაოფიციალური აშენება | შეფუთვის ხელახლა გამოთვლილ ჰეშს არ აქვს ატესტაცია საცავიდან - თვითნაკეთი მანიფესტი. |
| ⚠ წარმოშობა მიუწვდომელია | GitHub API-სთან დაკავშირება ვერ მოხერხდა, ამიტომ ატესტაციის შემოწმება ვერც ერთი გზით ვერ მოხერხდა. |
თავად გადაამოწმეთ
აღადგინეთ commit შესახებ დიალოგის სახელები და შეადარეთ:
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>"
დაბეჭდილი ჰეში უნდა ემთხვეოდეს როგორც About-ის დიალოგში, ასევე იმ commit-ში build-provenance run რეზიუმე. თქვენ ასევე შეგიძლიათ შეამოწმოთ ხელმოწერა პირდაპირ GitHub CLI-ით:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
ორდერი კანარის
ორდერი კანარა არის განცხადება, გამოქვეყნებული ფიქსირებული გრაფიკით, რომელიც აქვს დეველოპერს არა მიიღო საიდუმლო მთავრობის ბრძანება, რომლის გამჟღავნება ეკრძალებათ - ა ეროვნული უსაფრთხოების წერილი, FISA-ს ბრძანება. დეველოპერი შეიძლება აიძულოს ჩუმად დარჩეს ასეთი ბრძანებაა, მაგრამ ტყუილის იძულება არ შეიძლება, ასე რომ, კანარა ჩერდება ან ქრება თავად სიგნალი.
ის ცხოვრობს canary.json საცავის ძირში და მიიღება პირდაპირ
GitHub-ისგან, ასე რომ, მისი ისტორიის შემოწმება განხორციელდება დამოუკიდებლად, რაც არ უნდა თქვას განლაგებული საიტი.
დიალოგური About შესახებ ფერად კოდებს მას:
| ფერი | ნიშნავს |
|---|---|
| მწვანე - ყველაფერი გასაგებია | ხელმოწერილი, მიმდინარე და ხელმოწერა ემთხვევა დეველოპერის გასაღებს. საიდუმლო ბრძანება არ მიუღია. |
| ყვითელი - დაგვიანებულია, ან ყველაფერი გაუგებარია | ის არ იყო განახლებული მისი მითითებული თარიღით ან მისით allClear დროშა ყალბია. გაჩუმებული ბრძანება არ არის გამორიცხული. |
| წითელი - არასწორი ხელმოწერა, ან წავიდა | ხელმოწერა არ ემთხვევა დეველოპერის გასაღებს, ან ფაილი მთლიანად წაიშალა. მოექეცით ამას, როგორც სერიოზულ გაფრთხილებას. |
სიახლის წამყვანი
ხელმოწერილი კანარი ათავსებს ბიტკოინის ბლოკის უახლეს სიმაღლეს და ჰეშს ხელმოწერის მომენტში. ეს ჰაში არ შეიძლებოდა ყოფილიყო ცნობილი ბლოკის არსებობამდე, რაც ადასტურებს, რომ კანარა იყო ხელი მოაწერა შემდეგ დროის კონკრეტულ მომენტში, ვიდრე წინასწარ ხელმოწერილი იყო თვეებით ადრე. შესახებ დიალოგი აკავშირებს წამყვანს ბლოკის მკვლევართან, ასე რომ თქვენ შეგიძლიათ შეამოწმოთ იგი.