Pacote de Phyton malicioso esteve durante anos no PyPT

Python

Um pacote malicioso de Python foi recentemente descoberto na Python Package Index (PyPI), sendo que o mesmo estaria alojado na plataforma desde 2021, e terá sido usado para roubar dados sensíveis de projetos onde estaria a ser importando.

Este pacote teria como objetivo roubar dados de login e chaves secretas da Amazon Web Services, de programadores que possam ter adicionado incorretamente o pacote nos seus projetos.

Apelidado de “fabrice”, este pacote encontrava-se a aproveitar possíveis erros na escrita e procura por outro pacote, o “fabric”, um que é legítimo e usado como servidor remoto de SSH. Este pacote oficial conta com mais de 200 mil downloads, enquanto que a versão falsa do mesmo possui cerca de 37 mil.

De acordo com os investigadores da empresa de segurança Socket, o pacote manteve-se indetetável por tanto tempo devido a algumas medidas aplicadas para evitar a sua deteção. De forma inicial, o pacote não realiza qualquer atividade maliciosa, e quando foi enviado para a plataforma, o mesmo encontrava-se perfeitamente legítimo em sem conteúdos maliciosos.

No entanto, este foi eventualmente atualizado para realizar as atividades maliciosas de forma oculta, tentando evitar a deteção. As novas versões que foram sendo lançadas integraram código que era capaz de descarregar os scripts maliciosos, com o objetivo de roubar credenciais de acesso dos programadores.

Dependendo do sistema onde era executado, o pacote adaptava-se para descarregar o malware de sistemas externos, e executar o mesmo para roubar os dados que pretendia. Quando eram obtidos, os dados seriam novamente enviados para os sistemas remotos, e usados para ataques a contas da AWS.

Tendo em conta que o pacote aproveitava-se de possíveis erros na escrita do nome, uma das formas de proteção que os utilizadores devem implementar será analisar se todos os pacotes importados do PyPI estão com os nomes corretos. Esta tendência é algo que tem vindo a verificar-se cada vez mais dentro da PyPI.