O Ubuntu oferece meios convenientes para compilar um pacote em sua própria máquina. No entanto, não há como verificar se o executável em um pacote binário que você baixou foi obtido desse código-fonte. O processo de assinatura usado pelo Ubuntu reduz substancialmente o risco de adulteração de terceiros com os pacotes, mas você ainda precisa confiar que nenhum código prejudicial foi adicionado antes da compilação que não seja refletido no código-fonte para download.
A razão é que é tremendamente difícil obter precisamente os mesmos binários que existem nos pacotes compilados, pois eles dependem da versão precisa do compilador, de suas opções e, provavelmente, também existem alguns caminhos ou variáveis de ambiente compilados no pacote. binário. Assim, você não conseguirá obter precisamente o mesmo binário ao compilar a si mesmo, o que "verificará" o binário baixado.
Na verdade, existe uma pequena comunidade de pesquisa em torno desse problema precisamente - como tornar a compilação reproduzível.
Dito isto, uma comparação manual de um binário baixado e um auto-compilado
pode detectar código adicionado / modificado, então seria arriscado para alguém oferecer binários e o código-fonte esconder algo nos binários, pois isso pode ser detectado.
Mas também existe o problema de confiar no compilador, como já mencionado ...