Backdoors em projetos GitHub
18 de Novembro de 2024

Projetos no GitHub têm sido alvo de commits maliciosos e pull requests, numa tentativa de injetar backdoors nesses projetos.

Mais recentemente, o repositório no GitHub da Exo Labs, uma startup de IA e machine learning, foi visado no ataque, o que deixou muitos questionando as verdadeiras intenções do atacante.

Na terça-feira, Alex Cheema, co-fundador da EXO Labs, alertou a todos sobre uma mudança de código com aparência "inofensiva" submetida ao repositório da EXO no GitHub.

O pull request intitulado "clarify mlx requirement for deepseek models" tentou modificar o arquivo models.py Python no código-base da Exo, adicionando uma sequência de números a ele:

Esses são números Unicode, cada um representando um caractere.

Em outras palavras, o código Python em texto plano foi convertido para sua forma equivalente em números através de uma técnica simples empregada pelo usuário que submeteu a mudança de código.

Essa sequência de caracteres, "105, 109, 112, 111, 114, 116,..." se traduz no seguinte snippet de código (URL desativada para segurança):

O trecho de código, relativamente simplório, tenta se conectar a evildojo(.)com e, pelo que parece, baixar o payload "stage1".

Se a mudança de código tivesse sido aprovada e mesclada no repositório oficial da EXO, o que não ocorreu, qualquer pessoa usando o produto poderia acabar executando código servido remotamente pela URL em seu sistema — e, portanto, um backdoor funcional implantado.

Aqui é onde as coisas se complicam e não há uma resposta conclusiva à vista.

O commit parece ter sido submetido por um usuário do GitHub, "evildojo666", uma conta que desde então foi deletada.

A página arquivada para o nome de usuário do GitHub e o domínio evildojo(.)com apontam para Mike Bell, um pesquisador de segurança, ethical hacker, e engenheiro de software com base no Texas, que negou persistentemente que teve qualquer coisa a ver com esses commits.

Bell afirma que alguém está se passando por ele, fazendo essas submissões de código malicioso para difamá-lo.

Bell declarou ainda que "nunca houve nenhum payload...

por que as pessoas continuam assumindo que houve?"

Para ser justo, a história de Bell faz sentido.

Qualquer um pode trivialmente criar uma conta no GitHub usando os detalhes e a foto de perfil de outra pessoa e começar a submeter mudanças de código e pull requests a projetos — tudo sob a identidade de outra pessoa.

A página "stage1payload" inexistente no domínio do evildojo é outro indicador de que, já que o domínio nunca serviu qualquer código malicioso para começar, isso é provavelmente uma campanha de difamação contra o proprietário do domínio, Mike Bell.

Outra conta agora deletada no GitHub, "darkimage666", foi identificada pela Malcoreio, uma plataforma de análise de malware e engenharia reversa.

Esta conta também se passou por Bell e pareceu engajar neste esforço malicioso para distribuir commits com backdoors em projetos de código aberto.

"Não sou eu, um impostor.

Repare conta deletada.

Muito triste que as pessoas estejam sendo arrastadas para a briga de algum skid comigo," comentou Bell sobre a conta impostora.

Usuários de mídias sociais, incluindo ChrzanKong, notaram que alguns outros projetos foram alvo de diferentes contas de usuário do GitHub com commits similares.

De acordo com o analista de intel de ameaças vx-underground, "yt-dlp", um popular downloader de áudio e vídeo open source também foi alvo.

A Malcore identificou ao menos 18 instâncias de pull requests idênticos direcionados a outros projetos.

O engenheiro do Google e líder de eventos técnicos, Bogdan Stanga, conseguiu recriar o pull request para testar o AI Reviewer do Presubmit, que usa GitHub Actions para realizar revisões de código instantâneas contra pull requests recebidos no seu repositório.

A mudança de código de teste foi imediatamente sinalizada com um alerta de "segurança crítica" pelo revisor:

O incidente, embora descoberto e neutralizado logo no início, tem ecos do notável ataque à cadeia de suprimentos xz que recentemente demonstrou como código malicioso poderia ser inserido em bibliotecas open source legítimas e amplamente populares por atores mal-intencionados.

Mantenedores de projetos open source são instados a examinar cuidadosamente pull requests recebidos, através de ferramentas automatizadas e extensivas revisões de código humano, mesmo que esses pareçam ser originados de contribuidores de "boa fé".

Publicidade

Não compre curso de Pentest

Em 14 de janeiro a Solyd irá revolucionar a forma como pentest e hacking deve ser ensinado. Se inscreva para ser o primeiro a saber das novidades. Saiba mais...