Après la sortie de la mise à jour de l'outil de synchronisation de fichiers rsync 3.4.3, corrigeant 6 vulnérabilités, des régressions ont été notées, perturbant le fonctionnement des configurations précédemment utilisées. De plus, l'ajout d'environ 50 modifications au dépôt rsync au cours des deux dernières semaines, préparées à l'aide du modèle AI Claude, a suscité incompréhension et mécontentement. Certains utilisateurs ont lié l'apparition de régressions à la génération de correctifs de vulnérabilités de faible qualité par l'IA.
Certaines des régressions dans rsync 3.4.3 :
- Des erreurs de commande ont commencé à se produire lors de la création de sauvegardes incrémentielles lorsque plusieurs options « —compare-dest » étaient spécifiées ;
- Il est devenu
impossible de compiler rsync sur des systèmes avec des noyaux Linux antérieurs à la version 5.6 en raison de l'utilisation de l'appel système openat2 (commit 1, commit 2) ; - Le format « hôte::module/chemin » a cessé de fonctionner (commit).
- Les commandes utilisant l'option
« —delete-missing-args » avec « —files-from » ne sont plus acceptées (commit). - Des erreurs concernant la valeur modtime_nsec hors de la plage autorisée sont apparues lors de la synchronisation.
- La compilation sur les anciennes versions de macOS a été compromise.
- Le comportement de l'option « —link-dest » a changé (commit).
- Des plantages sont survenus lors du démarrage dans le multiplexeur de terminaux tmux.
Andrew Tridgell, le fondateur des projets samba et rsync, qui est revenu il y a deux ans au suivi de rsync et a ajouté des commits problématiques, a publié une note expliquant la situation. Selon Andrew, le projet rsync a été confronté à une avalanche de rapports de vulnérabilités, dont beaucoup ont été générés par l'IA. Dans la version rsync 3.4.3, l'apparition de régressions a été le prix à payer pour la correction des vulnérabilités. Andrew a consciemment préféré corriger les vulnérabilités, malgré le fait que ces corrections pouvaient perturber certaines scénarios d'utilisation rares mais corrects de rsync. De tels scénarios n'étaient pas couverts par l'ancien ensemble de tests et les vérifications manuelles, donc les régressions sont passées inaperçues et seront corrigées dans la prochaine version 3.4.4.
La situation a conduit Andrew à moderniser son ensemble de tests, à introduire la vérification de la couverture de code et à implémenter des tests dans un système d'intégration continue sur différentes plateformes, ainsi qu'à effectuer une analyse des vulnérabilités potentielles. Étant donné qu'Andrew a presque 60 ans et qu'il préférerait voyager en yacht plutôt que de passer son temps à corriger des vulnérabilités dans rsync, il a décidé de faire appel à des assistants IA pour gérer les tâches routinières face à l'avalanche de rapports de vulnérabilités. Andrew a conçu l'architecture, le plan de vérification et la structure du nouvel ensemble de tests, puis il a utilisé l'IA pour le générer en Python et remplacer l'ancien script shell de test. Le développement a utilisé le modèle Claude avec une vérification manuelle des résultats et une validation croisée dans Codex et Gemini.
Source : opennet.ru
