1 pontos por GN⁺ 2023-10-30 | 1 comentários | Compartilhar no WhatsApp
  • A equipe do NixOS concluiu com sucesso uma reconstrução independente e idêntica em nível de bits da ISO nixos-minimal publicada no Hydra.
  • O principal benefício de Reproducible Builds é fornecer uma forma confiável de verificar que não houve manipulação no pipeline de build.
  • A equipe reproduziu todos os pacotes incluídos na ISO, o build da própria ISO e os pacotes necessários para construir a ISO que não estão incluídos nela.
  • A reprodução foi alcançada iniciando uma nova máquina VirtualBox com NixOS 20.03, clonando o repositório do NixOS, verificando um commit específico e executando uma sequência de comandos para construir a ISO.
  • A equipe reconhece que há um possível problema de bootstrap nessa abordagem, incluindo a possibilidade de haver um backdoor no OVA de 2020 ou no git baixado. Ainda assim, este teste oferece alta confiança na reprodutibilidade da ISO.
  • A equipe já havia anunciado anteriormente que a ISO mínima era 100% reproduzível, mas havia diferenças devido a problemas no cache do Hydra e na forma como a ISO era gerada. Esses problemas agora foram resolvidos.
  • O trabalho futuro inclui remover hacks usados no processo de reprodução, garantir a reprodutibilidade de mais pacotes, criar infraestrutura para reconstruções independentes regulares e desenvolver ferramentas para compartilhar e usar provas de build.
  • A equipe convida outras pessoas a participar do esforço e fornece links para o quadro de projetos no GitHub e para o site NixOS Reproducible Builds para mais informações.

1 comentários

 
GN⁺ 2023-10-30
Comentários do Hacker News
  • Reconstruir a ISO mínima a partir do código-fonte é considerado um avanço importante para construir um sistema a partir de fontes reproduzíveis.
  • O Guix alcançou um marco notável ao fazer o bootstrap de toda a toolchain de compilação a partir de um único binário reproduzível de 357 bytes.
  • Há um questionamento sobre por que a reprodutibilidade não é o comportamento padrão na compilação de software.
  • Foi sugerido que o NixOS, como outras distribuições Linux, faça os mantenedores assinarem os pacotes para garantir que o código enviado e revisado seja o mesmo código que está sendo compilado.
  • Há confusão sobre a reprodutibilidade do NixOS, já que isso era considerado uma funcionalidade central do sistema.
  • O projeto OpenBSD chama atenção por uma abordagem contrastante, em que cada instalação é única e possui deslocamentos de endereço aleatórios.
  • Foi explicado claramente que a reprodutibilidade de Nix/NixOS/Nixpkgs se aplica apenas ao código-fonte, e que os binários podem mudar a cada build.
  • Foi mencionado que outros sistemas, como Guix, Archlinux e Debian, estão lidando melhor com a reprodutibilidade binária do que Nix/NixOS/Nixpkgs.
  • Esse marco foi elogiado como impressionante, e há um pedido por mais informações sobre como a ISO foi gerada.
  • Há a sugestão de que esse desenvolvimento pode ajudar a resolver o problema do compilador com backdoor discutido por Ken Thompson em 'Reflections on Trusting Trust'.
  • Como o tempo frequentemente acaba sendo embutido dentro dos binários, há uma pergunta sobre se é necessário falsificar o horário do sistema nesse processo.
  • Foi pedida uma comparação entre esse desenvolvimento e Fedora Silverblue, Ansible, e Fedora Silverblue + Ansible dentro do ecossistema Red Hat.