Mae Google wedi cyflwyno'r prosiect ClusterFuzzLite, sy'n caniatáu trefnu profion niwlog o'r cod ar gyfer canfod gwendidau posibl yn gynnar yn ystod gweithrediad systemau integreiddio parhaus. Ar hyn o bryd, gellir defnyddio ClusterFuzz i awtomeiddio profion fuzz o geisiadau tynnu yn GitHub Actions, Google Cloud Build, a Prow, ond disgwylir cefnogaeth ar gyfer systemau CI eraill yn y dyfodol. Mae'r prosiect yn seiliedig ar y llwyfan ClusterFuzz, a grëwyd i gydlynu gwaith clystyrau profi fuzzing, ac fe'i dosberthir o dan drwydded Apache 2.0.
Nodir, ar ôl i Google gyflwyno'r gwasanaeth OSS-Fuzz yn 2016, bod mwy na 500 o brosiectau ffynhonnell agored pwysig wedi'u derbyn i'r rhaglen brofi niwlog barhaus. Yn seiliedig ar y profion a gynhaliwyd, dilëwyd mwy na 6500 o wendidau a gadarnhawyd a chywirwyd mwy na 21 mil o wallau. Mae ClusterFuzzLite yn parhau i ddatblygu mecanweithiau profi niwlog gyda'r gallu i nodi problemau yn gynharach yn ystod cam adolygu newidiadau arfaethedig. Mae ClusterFuzzLite eisoes wedi'i roi ar waith yn y prosesau adolygu newid yn y prosiectau systemd a chyrlio, ac mae wedi'i gwneud hi'n bosibl nodi gwallau a fethwyd gan ddadansoddwyr statig a linters a ddefnyddiwyd yn ystod y cam cychwynnol o wirio cod newydd.
Mae ClusterFuzzLite yn cefnogi adolygiad prosiect yn C, C ++, Java (ac ieithoedd eraill sy'n seiliedig ar JVM), Go, Python, Rust, a Swift. Mae profion niwlog yn cael eu cynnal gan ddefnyddio injan LibFuzzer. Gellir hefyd galw'r offer AddressSanitizer, MemorySanitizer, ac UBSan (UndefinedBehaviorSanitizer) i nodi gwallau cof ac anomaleddau.
Nodweddion allweddol ClusterFuzzLite: gwiriad cyflym o newidiadau arfaethedig i ddod o hyd i wallau cyn derbyn cod; lawrlwytho adroddiadau ar amodau damweiniau; y gallu i symud ymlaen i brofion niwlog mwy datblygedig i nodi gwallau dyfnach na ddaeth i'r amlwg ar ôl gwirio'r newidiadau cod; cynhyrchu adroddiadau darpariaeth i asesu cwmpas y cod yn ystod profion; pensaernïaeth fodiwlaidd sy'n eich galluogi i ddewis y swyddogaeth ofynnol.
Gadewch inni gofio bod profion niwlog yn golygu cynhyrchu llif o bob math o gyfuniadau hap o ddata mewnbwn sy'n agos at ddata go iawn (er enghraifft, tudalennau html gyda pharamedrau tagiau ar hap, archifau neu ddelweddau gyda theitlau afreolaidd, ac ati), a chofnodi posibl methiannau yn y broses eu prosesu. Os bydd dilyniant yn damwain neu ddim yn cyfateb i'r ymateb disgwyliedig, yna mae'r ymddygiad hwn yn debygol iawn o ddangos byg neu fregusrwydd.
Ffynhonnell: opennet.ru