Nakon objavljivanja ažuriranja alatke za sinhronizaciju datoteka rsync 3.4.3 koja ispravlja 6 ranjivosti, zabeležene su regresije koje ometaju rad ranije korišćenih konfiguracija. Osim toga, nejasnoće i nezadovoljstvo izazvale su dodatne promene u repozitorijumu rsync u poslednje dve nedelje, uključujući oko 50 izmena pripremljenih uz pomoć AI modela Claude. Neki korisnici su povezali pojavu regresija s generisanjem nekvalitetnih ispravki ranjivosti uz pomoć AI.
Neke od regresija u rsync 3.4.3:
- Započeli su završeci sa greškom komande za inkrementalno pravljenje rezervnih kopija u kojima su navedene više opcija «—compare-dest»;
- Postalo je
nemoguće sastaviti rsync na sistemima sa Linux kernelima pre verzije 5.6 zbog korišćenja sistemskog poziva openat2 (commit 1, commit 2); - Prestala je da radi forma «host::module/path» (commit).
- Presto je da se prihvataju komande koje koriste opciju
«—delete-missing-args» zajedno sa «—files-from» (commit). - Tokom sinhronizacije javljene su greške o pronalasku vrednosti modtime_nsec van dozvoljenog opsega.
- Došlo je do problema sa sastavljanjem na starim verzijama macOS.
- Ponašanje opcije «—link-dest» se promenilo (commit).
- Došlo je do kvarova prilikom pokretanja u terminalskom multiplexeru tmux.
Endru Tridžel (Andrew Tridgell), osnivač projekata samba i rsync, koji se pre dve godine vratio upravljanju rsync i dodao problematične commit-e, objavio je belešku sa objašnjenjem nastale situacije. Prema Endruovim rečima, projekat rsync se suočio s lavinom izveštaja o ranjivostima, od kojih je mnoge generisala AI. U izdanju rsync 3.4.3 pojava regresija bila je cena eliminacije ranjivosti. Endru je svesno preferirao da ispravi ranjivosti, iako su ispravke mogle da naruše rad nekoliko retkih, ali ispravnih scenarija korišćenja rsync. Slični scenariji nisu bili pokriveni starim setom testova i ručnim proverama, zbog čega su regresije ostale neprimećene i biće ispravljene u sledećem izdanju 3.4.4.
Izkušnja je spodbudila Andreja, da je nadgradil testni nabor, uvedel preverjanje pokritosti kode in implementiral testiranje v sistemu neprekinjene integracije na različnih platformah ter izvedel analizo potencialnih ranljivosti. Ker je Andrej že skoraj 60 let star in raje potuje z jahto kot pa da svoj čas porabi za odpravljanje ranljivosti v rsync, se je odločil, da bo za opravljanje rutinskih nalog poiskal AI asistente ob poplavi sporočil o ranljivostih. Andrej je zasnoval arhitekturo, načrt preverjanja in strukturo novega testnega nabora, nato pa je z AI-jem generiral testni nabor v Pythonu in ga nadomestil z doslej uporabljenim shell skriptom. Pri razvoju je bila uporabljena model Claude z ročnim preverjanjem rezultatov in križnim preverjanjem v Codex in Gemini.
Izvor: opennet.ru
