Principais conclusões
- O PyPI bloqueou registros de novos usuários para combater o upload de malware por meio de técnicas como typosquatting, visando bibliotecas Python populares.
- Pacotes maliciosos no PyPI contêm arquivos setup.py criptografados que roubam informações do navegador, indicando sofisticação de invasores desconhecidos.
- Mais de 500 pacotes maliciosos distintos foram carregados no PyPI por agentes de ameaças desconhecidos, levando a Python Software Foundation a bloquear novos projetos.
Se você utiliza Python como linguagem de programação durante atividades de desenvolvimento de software, talvez conheça o Python Package Index (PyPI). Este é o repositório oficial para pacotes Python e é essencialmente o local onde pandas, numpy, seaborn, matplotlib e outras bibliotecas são baixadas quando você executa pip instalar nome da biblioteca. Agora, em um movimento que pode surpreender muitos, o PyPI bloqueou o registro de novos usuários na tentativa de se defender contra uma recente campanha de malware.
Como os agentes de ameaças estão visando o PyPI?
Citando relatórios de Checkmarx e ponto de verificação, Bip do computador relatou que os agentes de ameaças têm enviado pacotes de software malicioso para o PyPI. Eles usam técnicas como typosquatting para fazer com que os usuários baixem acidentalmente pacotes perigosos. Para quem não sabe, typosquatting, neste caso, refere-se à atividade de upload de pacotes com nomes semelhantes para enganar os usuários. Por exemplo, o pacote malicioso para matplotlib pode ser nomeado matplotl1b. Embora este processo não garanta grandes retornos financeiros, permite que os atacantes lancem uma ampla rede em busca de potenciais vítimas, especialmente imitando bibliotecas populares.
Os pacotes maliciosos detectados pelos pesquisadores de segurança contêm um setup.py arquivo que é executado automaticamente após a instalação do pacote. Esse trecho de código é criptografado e gera dinamicamente uma URL para baixar cargas adicionais de um servidor remoto, indicando pelo menos algum nível de sofisticação por parte dos invasores. A carga útil do servidor remoto rouba informações do navegador da web, incluindo credenciais, cookies e detalhes de criptomoeda.
Quem está por trás da campanha de malware?
Atualmente não se sabe qual agente ou agentes de ameaça estão por trás do ataque, mas pesquisadores de segurança notaram que mais de 500 pacotes maliciosos foram carregados recentemente no PyPI com nomes e IDs de e-mail distintos o suficiente para os autores. Cada mantenedor carregou apenas um pacote, o que pode significar que algum grau de automação foi usado para orquestrar o ataque. Além disso, todos os pacotes maliciosos tinham o mesmo número de versão e código malicioso incorporado no software.
Como o PyPI está respondendo?
Por enquanto, o PyPI (gerido pela Python Software Foundation) decidiu bloquear a criação de novos projetos, bem como o registo de novos utilizadores. A solução de longo prazo ainda não está clara, mas destaca a necessidade de verificar os componentes de software usados em seus aplicativos – mesmo em ambientes de desenvolvimento –, sabendo que os agentes de malware também podem até (temporariamente) contornar o PyPI.