După lansarea actualizării utilitarului pentru sincronizarea fișierelor rsync 3.4.3, care a corectat 6 vulnerabilități, s-au raportat regresii ce afectează funcționalitatea configurațiilor utilizate anterior. Pe lângă aceasta, apariția aproximativ 50 de modificări, pregătite cu ajutorul modelului AI Claude, în depozitul rsync în ultimele două săptămâni a stârnit confuzie și nemulțumire în rândul utilizatorilor. Unii utilizatori au corelat apariția regresiilor cu generarea remedierilor de vulnerabilitate de calitate scăzută prin intermediul AI.
Unele dintre regresiile din rsync 3.4.3:
- S-au finalizat cu o eroare a comenzii pentru crearea incrementală de copii de rezervă, în care erau specificate mai multe opțiuni „—compare-dest”;
- A devenit
Imposibilitatea de a compila rsync pe sisteme cu nuclee Linux mai vechi de versiunea 5.6 din cauza utilizării apelului de sistem openat2 (comit 1, comit 2); - Formatul „host::modul/cale” a încetat să funcționeze (comit).
- Comenzile care folosesc opțiunea
„—delete-missing-args” împreună cu „—files-from” au încetat să fie acceptate (comit). - În timpul sincronizării, au apărut erori referitoare la găsirea valorii modtime_nsec în afara intervalului permis.
- Compilarea a fost afectată pe versiunile vechi de macOS.
- Comportamentul opțiunii „—link-dest” s-a modificat (comit).
- Au apărut erori la pornirea în multiplexorul de terminale tmux.
Andrew Tridgell, fondatorul proiectelor samba și rsync, care s-a întors acum doi ani pentru a se ocupa de rsync și a adăugat comituri problematice, a publicat o notă explicativă referitoare la situația creată. Conform lui Andrew, proiectul rsync s-a confruntat cu o avalanșă de rapoarte de vulnerabilitate, multe dintre acestea fiind generate prin intermediul AI. În versiunea rsync 3.4.3, apariția regresiilor a fost prețul plătit pentru eliminarea vulnerabilităților. Andrew a preferat în mod conștient să repare vulnerabilitățile, deși remedierile ar fi putut afecta funcționarea unor scenarii rare, dar corecte de utilizare a rsync. Astfel de scenarii nu erau acoperite de vechiul set de teste și de verificările manuale, motiv pentru care regresiile au rămas neobservate și vor fi corectate în următoarea versiune 3.4.4.
Situația apărută l-a determinat pe Andrew să îmbunătățească setul de teste, să introducă verificarea acoperirii codului și să implementeze testarea în sistemul de integrare continuă pe diferite platforme, precum și să efectueze o analiză a posibilelor vulnerabilități. Deoarece Andrew are aproape 60 de ani și preferă să călătorească cu iahtul, în loc să-și piardă timpul cu remedieri de vulnerabilități în rsync, a decis să atragă asistenți AI pentru a se ocupa de sarcinile repetitive în fața avalanșei de mesaje despre vulnerabilități. Andrew a dezvoltat arhitectura, planul de verificare și structura noului set de teste, după care, cu ajutorul AI, l-a generat în Python și l-a înlocuit cu scriptul de testare shell utilizat anterior. În dezvoltare a fost folosit modelul Claude cu verificarea manuală a rezultatului și verificarea în cruce în Codex și Gemini.
Sursa: opennet.ro
