Segundo alguns analistas, foram encontrados pacotes PyPI maliciosos roubando credenciais do desenvolvedor.
Analistas de ameaças descobriram dez pacotes Python maliciosos no repositório PyPI, usados para infectar os sistemas do desenvolvedor com malware para roubo de senha.
Os pacotes falsos usavam typosquatting para se passar por projetos de software populares e enganar os usuários do PyPI para baixá-los.
Encontrados pacotes PyPI maliciosos roubando credenciais do desenvolvedor
PyPI (Python Package Index) é um repositório de mais de 350.000 pacotes de software de código aberto que milhões de usuários registrados podem incorporar facilmente em seus projetos Python e criar produtos complexos com o mínimo de esforço.
Os operadores de malware aproveitam a natureza aberta da plataforma e frequentemente carregam pacotes maliciosos ou falsos para comprometer os sistemas dos desenvolvedores.
A partir daí, os agentes de ameaças visam os desenvolvedores e seus ativos para ataques à cadeia de suprimentos, roubam código-fonte proprietário ou procuram pontos de articulação em potencial no ambiente de desenvolvimento de software.
Dez pacotes Pypi usados para roubar credenciais
Os pacotes PyPi maliciosos descobertos pela CheckPoint e descritos em um novo relatório são:
- Ascii2text – Imitando “art”, uma popular biblioteca de arte ASCII para Python, o Ascii2text usa a mesma descrição menos os detalhes do lançamento. Seu código busca um script malicioso que procura por senhas locais e as exfiltra por meio de um webhook Discord.
- Pyg-utils, Pymocks, PyProto2 – Todos os três pacotes visam credenciais da AWS e parecem muito semelhantes a outro conjunto de pacotes descobertos pela Sonatype em junho. O primeiro ainda se conecta ao mesmo domínio (“pygrata.com”), enquanto os outros dois visam “pymocks.com”.
- Test-async – Pacote com uma descrição vaga que busca código malicioso de um recurso remoto e notifica um canal Discord que uma nova infecção foi estabelecida.
- Free-net-vpn e Free-net-vpn2 – Coletor de credenciais do usuário publicado em um site mapeado por um serviço de mapeamento de DNS dinâmico.
- Zlibsrc – Imitando o projeto zlib, este pacote contém um script que baixa e executa um arquivo malicioso de uma fonte externa.
- Browserdiv – Pacote direcionado às credenciais de programadores de web design. Usa webhooks Discord para exfiltração de dados.
- WINRPCexploit – Um pacote de roubo de credenciais que promete automatizar a exploração da vulnerabilidade do Windows RPC. No entanto, quando executado, o pacote fará upload das variáveis de ambiente do servidor, que geralmente contêm credenciais, para um site remoto sob o controle do invasor.
Embora os pacotes descobertos tenham sido relatados pelo CheckPoint e removidos do PyPI, os desenvolvedores de software que os baixaram em seus sistemas ainda podem estar em risco.
Se você baixou e usou algum dos pacotes acima, considere-se comprometido e tome as medidas apropriadas.
Em muitos casos, os pacotes maliciosos prepararam o terreno para possíveis ataques à cadeia de suprimentos, de modo que o computador do desenvolvedor pode ser apenas o ponto inicial de uma infecção generalizada, e o código deve ser auditado quanto a códigos maliciosos.
É importante lembrar que nenhum pacote no PyPI vem com garantias de segurança, e os usuários são responsáveis por examinar nomes, históricos de lançamentos, detalhes de envio, links da página inicial e números de download.
Todos esses elementos coletivamente podem ajudar a determinar se um pacote Python é confiável ou potencialmente malicioso.