Izvorna koda je objavljena, licenca je čista, povezave pa še vedno ni mogoče preveriti od začetka do konca. Ta vrzel je običajna in ni škandal. Objava kode naredi eno komponento pregledno ljudem, ki niso bili povabljeni, in to je resnična ter nenavadna lastnost. Iz tega ne sledi, da nameščena binarna datoteka izvira iz te kode, niti da je bilo karkoli, kar ponudnik poganja na drugi strani, sploh pregledano.

Ločite komponento od izdelka

Štiri stvari lahko nosijo oznako odprte kode in redko so vse odprte. Odjemalska aplikacija je tisto, kar ljudje mislijo. Izvedba protokola pod njo je drug artefakt, včasih knjižnica in včasih koda v drevesu. Strežniška programska oprema je tretja, ponudnikova lastna infrastruktura, portal za račune in orodja za podporo pa četrta. Vsaka je lahko odprta ali zaprta neodvisno.

Zato izjave, kot je "naša aplikacija je odprtokodna", opisujejo prvo postavko, ostalo pa pustijo brez odgovora, kar ni nepoštenost, ampak prej zdrs kategorije. Koristno vprašanje je, kateri repozitorij, na kateri oznaki, ustreza komponenti, na katero se zanašate.

Ta razlika pojasnjuje tudi, zakaj lahko dva izdelka z enakimi odprtimi odjemalci ponujata zelo različna zagotovila. Odjemalec je del, ki ga lahko preverite; vedenje operaterja je del, ki ga morate oceniti z drugimi sredstvi.

Ujemite nameščeno gradnjo z objavljeno oznako

Repozitorij je zapis namere; binarna datoteka na vašem disku je tisto, kar se izvaja. Zapreti to vrzel je mehanska vaja in se začne z ugotavljanjem, kaj je natančno nameščeno, ne s tem, kar je oglaševala stran za prenos.

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

Metapodatki paketa povedo različico in izvor, kar izključuje preprost primer zastarelega ali zamenjanega paketa. Ne povedo, kako je bil paket preveden, in prav na to vprašanje odgovarjajo ponovljive gradnje. Ponovljive gradnje omogočajo neodvisni strani, da znova zgradi iz istega vira in primerja izhod bajt za bajtom, tako da neskladje postane dokaz in ne sum.

Tudi popolno ujemanje dokaže manj, kot ljudje upajo. Pokaže, da artefakt ustreza viru in receptu gradnje, ne pa da je vir brez napak in ne da je bila uporabljena orodjarna verodostojna. Oboje je vredno vedeti, a to so različne trditve.

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

Kje se običajno začne simptom

Pritožba, ki sproži to branje, je redko "koda je zaprta". Običajno je konkretno opažanje: odjemalec, ki kliče nekam nepričakovano, različica, ki se razlikuje od opomb ob izdaji, ali proces podpore, ki zahteva več, kot bi tunel moral potrebovati. Vsaka od teh točk kaže na drugo komponento.

Nepričakovan omrežni promet odjemalca je vprašanje izvorne kode odjemalca in nanj je mogoče odgovoriti z branjem kodne poti, ki odpre povezavo. Neskladje različic je vprašanje pakiranja. Proces podpore, ki zahteva osebne dokumente, je vprašanje sistema računov in noben pregled odjemalca tega ne bo rešil.

Poimenovanje komponente spremeni nejasno nezaupanje v konkretno preverjanje. Na konkretno preverjanje je mogoče odgovoriti, se z njim prepirati ali ga zapreti. Alternativa je trajen sum brez naslednjega koraka.

Česa pregled ne more doseči in kaj storiti namesto tega

Hramba na ponudnikovih strežnikih je zunaj dosega odjemalca. Enako velja za vedenje obračunskega portala, ponudnika preverjanja goljufij ali podporne službe, ki hrani priloge. Pregled odjemalca, raztegnjen do "izvedli smo revizijo storitve", daje trditev, ki je dokazi ne podpirajo.

Preberite, kaj operater objavlja o hrambi in zahtevah, zapišite datum in to obravnavajte kot izjavo zainteresirane strani, ne kot meritev. To je šibkejša oblika dokaza, in izrecno povedati razliko je bolj koristno kot jo pri pripovedovanju povišati.

Nato uporabite, kar imate, kot enega od več vhodov: identiteto nameščene izdaje, ali se programska oprema vzdržuje, kako je odjemalec konfiguriran in kaj operater pravi o svojih sistemih. Odprta koda to oceno okrepi na eni točki. Ne nadomesti preostanka.

Trditev o reviziji bi morala vedno navesti svoje komponente in različice. Če poročilo ne more povedati, kateri repozitorij in katero gradnjo je pregledalo, opisuje namero in ne izdelka.

Sorodni članki