Регресии в rsync 3.4.3 и приемане на промени, подготвени с помощта на AI

След обновлението на утилитата за синхронизиране на файлове rsync 3.4.3 с корекция на 6 уязвимости, е отбелязано появата на регресии, нарушаващи работоспособността на преди използвани конфигурации. Освен това, неразбиране и недоволство предизвика добавянето на около 50 промени в хранилището на rsync през последните две седмици, подготвени с помощта на AI модела Claude. Някои потребители свързаха появата на регресии с генерирането на нискокачествени корекции на уязвимости с помощта на AI.

Някои от регресиите в rsync 3.4.3:

  • Започнаха да завършват с грешка команди за инкрементално създаване на резервни копия, в които бяха указани няколко опции "—compare-dest";
  • Стана
    невъзможно да се събере rsync на системи с ядра Linux до версия 5.6 поради използването на системния повик openat2 (комит 1, комит 2);
  • Престана да работи форматът "хост::модул/път" (комит).
  • Престанаха да се разпознават команди, използващи опцията
    "—delete-missing-args" заедно с "—files-from" (комит).
  • При синхронизация започнаха да се издават грешки за намирането на стойността modtime_nsec извън допустимия диапазон.
  • Наруши се събирането на стари версии на macOS.
  • Промени се поведението на опцията "—link-dest" (комит).
  • Възникнаха сривове при стартиране в мултиплексорът на терминали tmux.

Андрю Триджелл (Andrew Tridgell), основател на проектите samba и rsync, който се върна към подкрепата на rsync преди две години и добави проблемните комити, публикува бележка с разяснение на възникналата ситуация. Според Андрю проектът rsync се сблъска с лавина от отчети за уязвимости, много от които бяха генерирани чрез AI. В релиза на rsync 3.4.3 появата на регресии стана цена за премахване на уязвимостите. Андрю съзнателно избра да поправи уязвимостите, въпреки че корекциите можеха да нарушат работата на някои редки, но правилни сценарии за използване на rsync. Подобни сценарии не бяха покрити от стария тестов набор и ръчните проверки, затова регресиите останаха незабелязани и ще бъдат отстранени в следващия 3.4.4.

Ситуацията подтикна Андрю да модернизира тестовия набор, да въведе проверка на покритието на кода и да реализира тестове в системата за непрекъсната интеграция на различни платформи, както и да извърши анализ на потенциални уязвимости. Тъй като Андрю е почти на 60 години и предпочита да пътува с яхта, вместо да отделя времето си за премахване на уязвимости в rsync, той реши да привлече AI асистенти за извършване на рутинни задачи в условия на лавина от запланувани съобщения за уязвимости. Андрю разработи архитектура, план за проверка и структура на новия тестов набор, след което с помощта на AI генерира тестовия набор на Python и замени с него предишния shell скрипт. При разработката беше използвана модела Claude с ръчна проверка на резултатите и кръстосана проверка в Codex и Gemini.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster