VPN клиент со отворен код: што докажува кодот и што не може
Јавното складиште е доказ за изворниот код, не за градбата што сте ја инсталирале или за серверите зад неа. Совпаѓајте го изданието, потоа проширете го прегледот.
Изворниот код е објавен, лиценцата е чиста, а врската сепак не може да се провери од крај до крај. Таа празнина е вообичаена и не е скандал. Објавувањето код прави една компонента проверлива од луѓе што не биле поканети, и тоа е вистинско и необично својство. Од тоа не следува дека бинарната датотека што сте ја инсталирале доаѓа од тој код, ниту дека нешто што давателот го води од другата страна воопшто е прегледано.
Одделете ја компонентата од производот
Четири работи можат да ја носат ознаката отворен код и ретко сите се отворени. Клиентската апликација е она што луѓето го мислат. Имплементацијата на протоколот под неа е друг артефакт, понекогаш библиотека, а понекогаш код во дрвото. Серверскиот софтвер е трет, а сопствената инфраструктура на давателот, порталот за сметки и алатките за поддршка се четврти. Секој од нив може да биде отворен или затворен независно.
Затоа тврдењата како "нашата апликација е со отворен код" ја опишуваат првата ставка и го оставаат остатокот без одговор, што не е нечесност, туку повеќе лизгање на категорија. Корисното прашање е кое складиште, на која ознака, одговара на компонентата на која се потпирате.
Оваа разлика објаснува и зошто два производи со идентични отворени клиенти можат да понудат многу различни гаранции. Клиентот е делот што можете да го проверите; однесувањето на операторот е делот што треба да го оцените на други начини.
Совпаѓајте ја инсталираната градба со објавената ознака
Складиштето е запис на намера; бинарната датотека на вашиот диск е она што се извршува. Затворањето на таа празнина е механичка вежба и започнува со точно утврдување што е инсталирано, наместо што рекламирала страницата за преземање.
| Component | What inspection can show | What it leaves untouched |
|---|---|---|
| Client source | How profiles, packets and optional telemetry are handled | Whether the shipped binary matches that source |
| Build output | Whether a declared build reproduces a matching artefact | Whether the source is correct or the toolchain is clean |
| Server software | What the implementation is capable of logging | What the operator actually configures and retains |
| Account and support systems | Almost nothing, unless they are separately published | Everything about how those systems treat your data |
Метаподатоците на пакетот ви ја кажуваат верзијата и потеклото, што го исклучува едноставниот случај на застарен или заменет пакет. Тие не ви кажуваат како е компајлиран пакетот, а токму на тоа прашање постојат репродуцирачки градби. Репродуцирачки градби им овозможуваат на независна страна да изгради повторно од истиот извор и да го спореди излезот бајт по бајт, така што несовпаѓањето станува доказ, а не сомнеж.
Дури и совршено совпаѓање докажува помалку отколку што луѓето се надеваат. Тоа покажува дека артефактот одговара на изворот и на рецептот за градба, но не дека изворот е без недостатоци и не дека користениот синџир алатки бил доверлив. Двете вреди да се знаат, но тоа се различни тврдења.
dpkg -S /usr/bin/wg
apt-cache policy wireguard-tools
sha256sum /usr/bin/wgКаде обично започнува симптомот
Жалбата што води до ова читање ретко е "кодот е затворен". Обично е конкретно набљудување: клиент што се јавува некаде неочекувано, верзија што се разликува од белешките за изданието, или процес за поддршка што бара повеќе отколку што на тунелот му треба. Секоја од овие точки укажува на друга компонента.
Неочекуваниот мрежен сообраќај од клиентот е прашање на изворниот код на клиентот и може да се одговори со читање на кодната патека што ја отвора врската. Несовпаѓањето на верзијата е прашање на пакување. Процес за поддршка што бара документи за идентитет е прашање на системот за сметки и никаков клиентски одит нема да го реши.
Именувањето на компонентата ја претвора нејасната недоверба во конкретна проверка. На конкретна проверка може да се одговори, да се расправа или да се затвори. Алтернативата е постојан сомнеж без следен чекор.
Што не може да достигне прегледот и што да правите наместо тоа
Зачувувањето на серверите на давателот е надвор од дофатот на клиентот. Исто така и однесувањето на портал за наплата, на добавувач за проверка на измами или на служба за поддршка што чува прилози. Преглед на клиентот што се протега до "извршивме одит на услугата" дава тврдење што доказите не го поддржуваат.
Прочитајте што објавува операторот за зачувување и барања, забележете го датумот и третирајте го како изјава на заинтересирана страна, а не како мерење. Тоа е послаба форма на доказ и јасното именување на разликата е покорисно отколку подигање на нејзината вредност при прераскажувањето.
Потоа користете го тоа што го имате како еден од неколку влезови: идентитетот на инсталираното издание, дали софтверот се одржува, како е конфигуриран клиентот и што вели операторот за своите системи. Отворениот код го зајакнува тоа оценување во една точка. Тој не го заменува остатокот.
Тврдењето за одит треба секогаш да ги именува своите компоненти и верзии. Ако извештајот не може да каже кое складиште и која градба ја испитал, тој опишува намера, а не производ.