Dopo l'uscita dell'aggiornamento dell'utility di sincronizzazione dei file rsync 3.4.3 con la correzione di 6 vulnerabilità, sono state segnalate delle regressioni che interrompono il funzionamento delle configurazioni precedentemente utilizzate. Inoltre, la recente aggiunta di circa 50 modifiche nel repository di rsync, preparate utilizzando il modello AI Claude, ha suscitato confusione e insoddisfazione tra gli utenti. Alcuni di loro hanno collegato l'emergere di regressioni con la generazione di correzioni di vulnerabilità di bassa qualità attraverso l'AI.
Alcune delle regressioni in rsync 3.4.3:
- Sono terminate con un errore di comando per la creazione incrementale di backup, in cui erano state specificate più opzioni «—compare-dest»;
- Diventato
Impossibile compilare rsync su sistemi con kernel Linux precedenti alla versione 5.6 a causa dell'uso della chiamata di sistema openat2 (commit 1, commit 2); - Il formato «host::modulo/percorso» ha smesso di funzionare (commit).
- Le comandi che utilizzano l'opzione
«—delete-missing-args» insieme a «—files-from» non vengono più riconosciute (commit). - Durante la sincronizzazione vengono visualizzati errori riguardanti un valore modtime_nsec fuori dal range consentito.
- Interrotta la compilazione su versioni obsolete di macOS.
- Il comportamento dell'opzione «—link-dest» è cambiato (commit).
- Si sono verificati crash durante l'avvio nel multiplexore di terminali tmux.
Andrew Tridgell, fondatore dei progetti samba e rsync, è tornato due anni fa a supportare rsync e ha aggiunto commit problematici, pubblicando una nota per spiegare la situazione attuale. Secondo Andrew, il progetto rsync si è trovato di fronte a un'ondata di segnalazioni di vulnerabilità, molte delle quali generate tramite AI. Nell'uscita di rsync 3.4.3, l'emergere di regressioni è diventato il prezzo da pagare per la rimozione delle vulnerabilità. Andrew ha consapevolmente preferito correggere le vulnerabilità, anche se le correzioni potrebbero compromettere il funzionamento di alcuni scenari rari ma corretti di utilizzo di rsync. Tali scenari non erano coperti dal vecchio insieme di test e dalle verifiche manuali, quindi le regressioni sono rimaste inosservate e verranno risolte nel prossimo rilascio 3.4.4.
La situazione emersa ha spinto Andrew a modernizzare il set di test, implementare un controllo della copertura del codice e realizzare test nel sistema di integrazione continua su diverse piattaforme, oltre a svolgere un'analisi delle potenziali vulnerabilità. Poiché Andrew ha quasi 60 anni e preferirebbe viaggiare in yacht piuttosto che perdere tempo a risolvere le vulnerabilità in rsync, ha deciso di coinvolgere assistenti AI per eseguire attività di routine in mezzo a un'ondata di messaggi sulle vulnerabilità. Andrew ha progettato l'architettura, il piano di verifica e la struttura del nuovo set di test, dopodiché, con l'aiuto dell'AI, lo ha generato in Python, sostituendo il precedente shell script di test. Per lo sviluppo è stato utilizzato il modello Claude con verifica manuale dei risultati e controlli incrociati in Codex e Gemini.
Fonte: opennet.ru
