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

გამოყავით კომპონენტი პროდუქტისგან

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

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

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

შეადარეთ დაყენებული ბილდი გამოქვეყნებულ ტეგს

რეპოზიტორია განზრახვის ჩანაწერია; თქვენს დისკზე არსებული ბინარი არის ის, რაც მუშაობს. ამ უფსკრულის დახურვა მექანიკური ვარჯიშია და იწყება იმის დადგენით, თუ რა არის ზუსტად დაყენებული და არა იმით, რასაც ჩამოტვირთვის გვერდი რეკლამირებდა.

ComponentWhat inspection can showWhat it leaves untouched
Client sourceHow profiles, packets and optional telemetry are handledWhether the shipped binary matches that source
Build outputWhether a declared build reproduces a matching artefactWhether the source is correct or the toolchain is clean
Server softwareWhat the implementation is capable of loggingWhat the operator actually configures and retains
Account and support systemsAlmost nothing, unless they are separately publishedEverything about how those systems treat your data

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

სრულყოფილი დამთხვევაც კი იმაზე ნაკლებს ამტკიცებს, ვიდრე ხალხი იმედოვნებს. ის აჩვენებს, რომ არტეფაქტი შეესაბამება წყაროსა და ბილდის რეცეპტს, და არა იმას, რომ წყარო უნაკლოა, და არა იმას, რომ გამოყენებული ხელსაწყოთა ჯაჭვი სანდო იყო. ორივე ღირს ცოდნა, მაგრამ ეს სხვადასხვა მტკიცებაა.

dpkg -S /usr/bin/wg
apt-cache policy wireguard-tools
sha256sum /usr/bin/wg

საიდან იწყება ჩვეულებრივ სიმპტომი

საჩივარი, რომელიც ამ კითხვას იწვევს, იშვიათად არის "კოდი დახურულია". ეს ჩვეულებრივ კონკრეტული დაკვირვებაა: კლიენტი, რომელიც სადღაც მოულოდნელად უკავშირდება, ვერსია, რომელიც გამოშვების შენიშვნებისგან განსხვავდება, ან მხარდაჭერის პროცესი, რომელიც იმაზე მეტს ითხოვს, ვიდრე გვირაბს სჭირდება. თითოეული ეს პუნქტი სხვა კომპონენტზე მიუთითებს.

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

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

რას ვერ აღწევს მიმოხილვა და რა უნდა გააკეთოთ სამაგიეროდ

მომწოდებლის სერვერებზე შენახვა კლიენტის ხელმისაწვდომობის მიღმაა. ასეთივეა გადახდის პორტალის, თაღლითობის შემოწმების მომწოდებლის ან დანართებს რომ ინახავს მხარდაჭერის სამსახურის ქცევა. კლიენტის მიმოხილვა, რომელიც იჭიმება "ჩვენ გავააუდიტეთ სერვისი"-მდე, აყენებს მტკიცებას, რომელსაც მტკიცებულება არ უჭერს მხარს.

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

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

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

დაკავშირებული სტატიები