Regressões no rsync 3.4.3 e a adoção de mudanças preparadas com o auxílio de IA

Após o lançamento da atualização da ferramenta de sincronização de arquivos rsync 3.4.3, que corrigiu 6 vulnerabilidades, foram observadas regressões que comprometem o funcionamento de configurações anteriormente usadas. Além disso, a adição de cerca de 50 mudanças nos repositórios do rsync nas últimas duas semanas, desenvolvidas com o uso do modelo de IA Claude, gerou descontentamento e confusão. Alguns usuários associaram o surgimento de regressões à geração de correções de vulnerabilidades de baixa qualidade por meio da IA.

Algumas das regressões no rsync 3.4.3:

  • Começaram a falhar com erro ao executar comandos para a criação incremental de backups, onde várias opções ‘—compare-dest’ estavam especificadas;
  • Tornou-se
    impossível compilar o rsync em sistemas com versões do kernel do Linux anteriores a 5.6 devido à utilização da chamada de sistema openat2 (commit 1, commit 2);
  • Parou de funcionar o formato ‘host::módulo/caminho’ (commit).
  • Deixaram de ser aceitos comandos que utilizam a opção
    ‘—delete-missing-args’ junto com ‘—files-from’ (commit).
  • Durante a sincronização, começaram a ocorrer erros sobre valores de modtime_nsec fora do intervalo aceitável.
  • A compilação falhou em versões antigas do macOS.
  • O comportamento da opção ‘—link-dest’ mudou (commit).
  • Ocorreu uma falha ao iniciar no multiplexador de terminais tmux.

Andrew Tridgell, fundador dos projetos Samba e rsync, que voltou a trabalhar no rsync há dois anos e adicionou os commits problemáticos, publicou uma nota explicando a situação atual. Segundo Andrew, o projeto rsync enfrentou uma avalanche de relatórios de vulnerabilidades, muitos dos quais foram gerados por IA. No lançamento do rsync 3.4.3, o surgimento de regressões tornou-se o preço a pagar para eliminar vulnerabilidades. Andrew optou conscientemente por corrigir as vulnerabilidades, apesar de que as correções poderiam quebrar alguns cenários de uso raros, mas válidos do rsync. Esses cenários não eram cobertos pelo antigo conjunto de testes e verificações manuais, portanto, as regressões passaram despercebidas e serão solucionadas na próxima versão 3.4.4.

A situação que surgiu levou Andrew a modernizar o conjunto de testes, implementar verificação de cobertura de código e realizar testes em um sistema de integração contínua em diferentes plataformas, além de realizar uma análise de potenciais vulnerabilidades. Como Andrew já está quase com 60 anos e preferiria navegar em um iate a gastar seu tempo corrigindo vulnerabilidades no rsync, ele decidiu envolver assistentes de IA para realizar tarefas rotineiras diante da avalanche de mensagens sobre vulnerabilidades. Andrew desenvolveu a arquitetura, o plano de verificação e a estrutura do novo conjunto de testes, depois gerou ele com a ajuda da IA em Python e substituiu o shell script de teste anteriormente utilizado. Foi usada a modelo Claude com verificação manual dos resultados e verificação cruzada no Codex e Gemini.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster