Recentemente, algumas pessoas notaram mudanças estranhas no código-fonte do Kernel Linux. Ao rever o código do Kernel no Github perceberam que mudanças feitas por terceiros (aqueles que clonam ou bifurcam) apareciam propositalmente no repositório principal. Confira os detalhes no post sobre o erro do GitHub mostra backdoor aparente no kernel Linux.
O erro revelou um recurso interessante que permite apresentar qualquer nova alteração de terceiros. Nas redes redes sociais começou a aparecer uma referência a uma mudança no espelho (mirror oficial) do Kernel Linux. Isso indica a substituição de uma porta dos fundos (backdoor) no controlador HID-Samsung.
Peculiaridade dos desenvolvedores
Antes desse conflito, alguns desenvolvedores começaram a rever o Kernel Linux, especialmente no controlador da Samsung. Além disso, tentaram verificar se a segurança do kernel havia sido comprometida.
Uma análise da situação mostrou que o Github armazena todos os objetos do repositório principal e os ramos associados a ele. Assim, compartilha logicamente a propriedade dos commits. Isso ocorre para otimizar o armazenamento e minimizar a duplicação de dados em seus servidores.
Quando tal armazenamento permite que você veja qualquer um que esteja navegando dentro do código, a confirmação de ramificação em um repositório associado, indica explicitamente seu hash na URL.
Por exemplo, no caso de uma demonstração de backdoor, um dos usuários criou uma bifurcação do repositório principal do Kernel Linux na interface do Github. Em seguida, adicionou uma confirmação com código semelhante a um backdoor em sua bifurcação.
Depois disso, formou um link no qual o ramificador SHA1 da mudança externa fosse substituído na URL do repositório principal.
Quando um link é aberto, um commit externo é mostrado na interface do Github no contexto do repositório principal, mesmo que ele tenha sido feito na bifurcação e não tenha nada a ver com o repositório principal e não haja comprometimento nele.
Além disso, na interface do GitHub, ao visualizar a lista de alterações para arquivos individuais, o repositório principal também mostra configurações de terceiros, o que cria muita confusão.
Isso alarmou alguns porque eles achavam que era um hack. A suspeita era de que haviam introduzido um código malicioso no código fonte do Kernel Linux.
Bem, como podemos ver na imagem, parece que o código inserido é parte do que está armazenado no repositório principal do Kernel Linux.
E isso não faz referências aos repositórios externos onde as modificações foram feitas.
Tudo foi um alarme falso
Este “erro” (por assim dizer) preocupou muitos. Em um primeiro momento, não sabiam se havia algum risco ou a integridade do Kernel estava comprometida.
Levou pouco tempo para eles perceberem que ao extrair dados ou clonar um repositório usando comando Git, as alterações de terceiros no repositório resultante não estavam lá.
Simplesmente o GitHub apresentou as mudanças a olho nu quando na realidade não é assim.
No momento, não há mais informações sobre isso e nem se o pessoal do Github (Microsoft) tem em mente dar uma solução para o caso. Isso não afeta diretamente o desenvolvimento, muito menos a obtenção do código fonte do kernel.
Mas isso pode confundir muitos que escolhem a plataforma para revisar algumas partes dos projetos que estão armazenados no GitHub.