Կոդը հրապարակված է, լիցենզիան մաքուր է, և կապը դեռ հնարավոր չէ ստուգել ծայրից ծայր։ Այդ բացը սովորական է և սկանդալ չէ։ Կոդի հրապարակումը մի բաղադրիչ դարձնում է ստուգելի այն մարդկանց համար, ովքեր չեն հրավիրվել, և դա իրական ու անսովոր հատկություն է։ Դրանից չի հետևում, որ ձեր տեղադրած բինարը եկել է այդ կոդից՝ կամ որ մատակարարի մյուս կողմում գործարկվող որևէ բան ընդհանրապես վերանայվել է։

Առանձնացրեք բաղադրիչը արտադրանքից

Չորս բան կարող է կրել բաց կոդի պիտակը, և հազվադեպ են բոլորը բաց։ Հաճախորդի հավելվածը այն է, ինչ մարդիկ նկատի ունեն։ Դրա տակ գտնվող արձանագրության իրականացումը այլ արտեֆակտ է՝ երբեմն գրադարան, երբեմն ծառի ներսում գտնվող կոդ։ Սերվերի ծրագրաշարը երրորդն է, իսկ մատակարարի սեփական ենթակառուցվածքը, հաշվի պորտալը և աջակցության գործիքները՝ չորրորդը։ Յուրաքանչյուրը կարող է բաց կամ փակ լինել ինքնուրույն։

Այսպիսով՝ "մեր հավելվածը բաց կոդով է" արտահայտությունները նկարագրում են առաջին կետը և թողնում մնացածը անպատասխան, ինչը անազնվություն չէ, այլ ավելի շուտ կատեգորիայի սահում։ Օգտակար հարցն այն է, թե որ պահոցը, որ պիտակով, համապատասխանում է այն բաղադրիչին, որի վրա հենվում եք։

Այդ տարբերությունը նաև բացատրում է, թե ինչու նույնական բաց հաճախորդներ ունեցող երկու արտադրանք կարող են շատ տարբեր երաշխիքներ առաջարկել։ Հաճախորդն այն մասն է, որը կարող եք ստուգել. օպերատորի վարքը այն մասն է, որը պետք է գնահատեք այլ միջոցներով։

Համապատասխանեցրեք տեղադրված բիլդը հրապարակված պիտակին

Պահոցը մտադրության գրառում է. ձեր սկավառակի բինարը այն է, ինչ աշխատում է։ Այդ բացը փակելը մեխանիկական վարժություն է, և այն սկսվում է նրանից, թե ինչ է ճշգրիտ տեղադրված, ոչ թե ինչ էր գովազդում ներբեռնման էջը։

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

Որտեղից է սովորաբար սկսվում ախտանիշը

Բողոքը, որն առաջացնում է այս ընթերցումը, հազվադեպ է "կոդը փակ է"։ Այն սովորաբար կոնկրետ դիտարկում է՝ հաճախորդ, որը զանգահարում է անսպասելի տեղ, տարբերակ, որը տարբերվում է թողարկման նշումներից, կամ աջակցության գործընթաց, որը պահանջում է ավելին, քան թունելը պետք է ունենա։ Այս կետերից յուրաքանչյուրը մատնանշում է այլ բաղադրիչ։

Հաճախորդից անսպասելի ցանցային երթևեկությունը հաճախորդի սկզբնական կոդի հարց է, և դրան կարելի է պատասխանել կարդալով այն կոդի ուղին, որը բացում է կապը։ Տարբերակի անհամապատասխանությունը փաթեթավորման հարց է։ Ինքնության փաստաթղթեր պահանջող աջակցության գործընթացը հաշվային համակարգի հարց է, և ոչ մի հաճախորդային աուդիտ այն չի լուծի։

Բաղադրիչի անվանումը անորոշ անվստահությունը դարձնում է կոնկրետ ստուգում։ Կոնկրետ ստուգմանը կարելի է պատասխանել, վիճել կամ փակել այն։ Այլընտրանքը մշտական կասկածն է առանց հաջորդ քայլի։

Ինչին վերանայումը չի հասնում, և ինչ անել փոխարենը

Մատակարարի սերվերներում պահպանումը հաճախորդի հասանելիությունից դուրս է։ Այդպիսին է նաև վճարման պորտալի, խարդախության ստուգման մատակարարի կամ կցորդներ պահող աջակցության սեղանի վարքը։ Հաճախորդի վերանայումը, որը ձգվում է մինչև "մենք աուդիտ արեցինք ծառայությունը", պնդում է անում, որը ապացույցները չեն աջակցում։

Կարդացեք, թե ինչ է հրապարակում օպերատորը պահպանման և հարցումների մասին, նշեք ամսաթիվը, և վերաբերվեք դրան որպես շահագրգիռ կողմի հայտարարության, ոչ թե չափման։ Սա ապացույցի ավելի թույլ ձև է, և տարբերության մասին բացահայտ ասելն ավելի օգտակար է, քան այն վերապատմելիս բարձրացնելը։

Այնուհետև օգտագործեք այն, ինչ ունեք, որպես մի քանի մուտքերից մեկը՝ տեղադրված թողարկման ինքնությունը, արդյոք ծրագրաշարը պահպանվում է, ինչպես է կարգավորված հաճախորդը, և ինչ է ասում օպերատորն իր սեփական համակարգերի մասին։ Բաց կոդը մեկ կետում ուժեղացնում է այդ գնահատականը։ Այն չի փոխարինում մնացածը։

Աուդիտի պնդումը միշտ պետք է նշի իր բաղադրիչներն ու տարբերակները։ Եթե զեկույցը չի կարող ասել, թե որ պահոցը և որ բիլդն է ուսումնասիրել, ապա այն նկարագրում է մտադրություն, ոչ թե արտադրանք։

Առնչվող հոդվածներ