Cyflwynodd Google system brofi niwlog ClusterFuzzLite

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

Ychwanegu sylw