გადადით შინაარსზე
დაბრუნება Nymchat-ზე

ცოდნის ბაზა კაპოტის ქვეშ

აშენების შემოწმება

ღია წყარო დაგეხმარებათ მხოლოდ იმ შემთხვევაში, თუ კოდი, რომელსაც თქვენ აწარმოებთ, არის ის კოდი, რომელიც იყო გამოქვეყნდა. Nymchat აგებულია დეტერმინისტულად, ასე რომ თქვენ შეგიძლიათ შეამოწმოთ ეს თავად, შიგნიდან აპლიკაციიდან ან ტერმინალიდან.

რეპროდუცირებადი ნაგებობები

აპლიკაციის აგება გამოსცემს ა build-manifest.json შეიცავს წყაროს დავალებას, ა SHA-256 ჰეშის ყველა მოწოდებული HTML, JavaScript და CSS აქტივი და ერთი bundleHash მთელი აქტივების კომპლექტზე.

გამომავალი დამოკიდებულია მხოლოდ წყაროს შინაარსზე - ჩაწერილი აშენების დროც კი არის ჩადენის დროის ანაბეჭდი და არა build-ის გაშვების მომენტი - ასე რომ, ვინც აღადგენს იგივეს commit იღებს ბაიტის იდენტურ ფაილებს და იგივე bundleHash.

GitHub Action შემდეგ აღადგენს თითოეულ ჩადენას დამოუკიდებლად და ხელს აწერს აშენების წარმოშობას ატესტაციები ჰეშისა და მანიფესტისთვის, ამიტომ არის ხელმოწერილი ჩანაწერი, რომელიც აკავშირებს ა bundleHash საცავში ჩადენილი ვალდებულება, რომელიც წარმოებულია რაღაცის გარდა განლაგება.

რას ამოწმებს დიალოგი About

შესახებ სათაურში გადის შემოწმება პირდაპირ, თქვენს ბრაუზერში.

Nymchat About დიალოგი, რომელიც აჩვენებს ვერსიას, მთლიანობას და გარანტიას კანარის სტატუსს.
შესახებ დიალოგი: ვერსია, build მთლიანობა, გარანტია canary და პირდაპირი ხაზი დეველოპერისთვის.

ის ხელახლა იღებს თითოეულ აქტივს, რომელსაც გვერდი რეალურად მუშაობს, ჰეშირებს მას 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 დროშა ყალბია. გაჩუმებული ბრძანება არ არის გამორიცხული.
წითელი - არასწორი ხელმოწერა, ან წავიდახელმოწერა არ ემთხვევა დეველოპერის გასაღებს, ან ფაილი მთლიანად წაიშალა. მოექეცით ამას, როგორც სერიოზულ გაფრთხილებას.

სიახლის წამყვანი

ხელმოწერილი კანარი ათავსებს ბიტკოინის ბლოკის უახლეს სიმაღლეს და ჰეშს ხელმოწერის მომენტში. ეს ჰაში არ შეიძლებოდა ყოფილიყო ცნობილი ბლოკის არსებობამდე, რაც ადასტურებს, რომ კანარა იყო ხელი მოაწერა შემდეგ დროის კონკრეტულ მომენტში, ვიდრე წინასწარ ხელმოწერილი იყო თვეებით ადრე. შესახებ დიალოგი აკავშირებს წამყვანს ბლოკის მკვლევართან, ასე რომ თქვენ შეგიძლიათ შეამოწმოთ იგი.