Mae atgynhyrchadwyedd yn briodwedd gadwyn gyflenwi: rhaid i'r un mewnbynnau datganedig gynhyrchu'r un arteffact. Ar gyfer cleient VPN, mae'r datganiad hwnnw'n clymu'r gosodwr a lawrlwythwyd gennych wrth ffynhonnell a chadwyn offer y gall unrhyw un eu hailadeiladu. Nid yw'n dweud dim am y gwasanaeth y mae'r cleient yn cysylltu ag ef.

Mae'r cwestiwn defnyddiol felly'n gul ac yn atebadwy. A yw'r prosiect yn cyhoeddi gweithdrefn, ac a yw eich arteffact penodol chi'n cyfateb iddi?

Lle mae adeilad yn peidio â bod yn benderfyniadol

Mae crynwyr yn mewnosod stampiau amser, llwybrau absoliwt ac enwau gwesteiwyr adeiladu oni bai eu bod yn cael eu hatal. Mae archifau'n cofnodi trefn ffeiliau ac amseroedd addasu, mae cysylltwyr yn amrywio eu hallbwn gyda fersiwn y gadwyn offer, a gall cywasgu paralel aildrefnu blociau. Mae unrhyw un o'r rhain yn gwneud i ddau adeilad o'r un ffynhonnell wahaniaethu mewn beitiau heb i unrhyw beth sinistr ddigwydd. Mae penderfyniaeth yn cael ei pheiriannu i mewn i adeilad, byth yn cael ei hetifeddu yn y modd diofyn.

Rhaid i brosiect sy'n honni atgynhyrchadwyedd enwi'r normaleiddio y mae'n ei gymhwyso: stampiau amser sefydlog, llwybrau wedi'u mapio, cofnodion archif wedi'u didoli, fersiynau crynwr a dibyniaethau wedi'u pinio. Heb y rhestr honno, ni ellir dehongli anghysondeb, oherwydd nid yw'r gofod o amrywiad cyfreithlon wedi'i ddiffinio.

Rhaid i'r mewnbynnau datganedig fod yn gyflawn hefyd. Nid yw URL cronfa heb dag yn adolygiad, nid yw ffeil glo heb hash yn set ddibyniaethau, ac mae gan sgript adeiladu sy'n lawrlwytho offeryn ar amser rhedeg fewnbwn na all neb ei binio. Mae pob bwlch yn troi'n wahaniaeth yn ddiweddarach. Cwblhewch y rhestr cyn cymharu unrhyw beth, oherwydd ni all un anghyflawn fethu mewn ffordd sy'n golygu rhywbeth.

InputHow it driftsWhat pins it
SourceBranch moves after releaseCommit hash in the build metadata
ToolchainCompiler patch level differsContainer image digest
PackagingArchive order and mtimes varyNormalised archive settings

Beth mae'r gymhariaeth yn ei wirio mewn gwirionedd

Mae unrhyw barti annibynnol yn ailadeiladu yn yr amgylchedd datganedig ac yn cymharu'r allbwn â'r arteffact a gyhoeddwyd. Unfathrwydd beitiol yw'r ffurf gref; mae cam normaleiddio dogfennol, lle mae gwahaniaeth a gofnodwyd yn cael ei wrthdroi ac mae'r canlyniadau wedyn yn cyfateb, yn y ffurf wannach ond yn dal yn ddefnyddiol.

Mae'r gymhariaeth yn ymwneud â'r deuaidd. Mae llofnod yn ateb cwestiwn gwahanol: mae'n cysylltu rhyddhad ag allwedd ac allwedd â hunaniaeth, a gall prosiect fod â llofnodion dilys dros arteffactau nad yw neb wedi'u hailadeiladu. Mae'r ddau wiriad yn pentwr yn hytrach na disodli ei gilydd.

sha256sum wireguard-installer.msi
gpg --verify wireguard-installer.msi.sig wireguard-installer.msi

Rhedwch y ddau cyn gosod, a chymharwch y hash â'r un a gyhoeddwyd ar gyfer yr un rhyddhad a'r un platfform. Mae hash sy'n cyfateb i dudalen y gwerthwr yn profi bod y lawrlwythiad wedi cyrraedd yn gyfan; mae deuaidd a ailadeiladwyd sy'n cyfateb i hash cyhoeddedig y gwerthwr yn profi rhywbeth cryfach am sut y cafodd ei wneud.

Pam nad yw anghysondeb yn brawf o ymyrryd

Daw'r rhan fwyaf o anghysondebau o fewnbwn na reolodd neb. Mae rhyddhad clwt crynwr gwahanol, llwybr adeiladu a ollyngwyd i symbolau dadfygio, locale a newidiodd y drefn didoli, neu gam pecynnu a gymhwyswyd ar ôl y gymhariaeth i gyd yn cynhyrchu hash gwahanol i waith gonest.

Dyna pam y mae'n rhaid darllen anghysondeb yn erbyn y weithdrefn ddogfennol cyn iddo ddod yn stori. Os yw'r weithdrefn yn pinio popeth ac mae'r gwahaniaeth yn parhau heb ei esbonio, mae hynny'n ddarganfyddiad gwirioneddol sy'n werth ei godi gyda'r prosiect. Os yw'r weithdrefn yn dawel am becynnu, gall y gwahaniaeth fod yn gwbl ddisgwyliedig.

Mae cymesuredd yn bwysig yma hefyd: nid yw cyfatebiaeth yn profi bod y ffynhonnell yn rhydd o ddiffygion, dim ond bod y deuaidd yn cyfateb iddi. Mae cod wedi'i archwilio'n dda a chod atgynhyrchadwy yn briodweddau gwahanol, a gall prosiect feddu ar un heb y llall.

Beth mae'r honiad yn ei ddweud am y gwasanaeth y tu ôl i'r ap

Mae'r cleient yn rhaglen ar eich dyfais; mae'r gwasanaeth yn gweinyddwyr, systemau cyfrifon a pholisïau cadw yn rhywle arall. Mae atgynhyrchadwyedd yn cyfyngu'r cyntaf ac yn dweud dim am yr ail, waeth pa mor ofalus y gwirir y gosodwr.

Gall cyfluniad pen y daith newid ar ôl gosod hefyd, trwy osodiadau anghysbell neu broffil a reolir gan y darparwr. Mae'r newidiadau hynny'n dod dros y rhwydwaith ac nid ydynt yn cael eu cynnwys gan unrhyw hash a gyfrifwyd gennych cyn cysylltu.

Darllenwch yr honiad am ei wir gwmpas, yna gwiriwch y cwestiwn cyfagos ar wahân: beth mae'r darparwr yn ei gofnodi, a than ba awdurdodaeth y mae'n ateb ceisiadau. Gall deuaidd a wiriwyd a gwasanaeth heb ei wirio gydfodoli, a dyna'n union yr achos y mae gwiriad cadwyn gyflenwi wedi'i gynllunio i'w wneud yn weladwy yn hytrach na'i drwsio.

Erthyglau cysylltiedig