Nós usamos cookies para melhorar sua experiência de navegação no portal. Ao utilizar o Site do Centro de Tratamento e Resposta a Incidentes de Segurança - CeTRIS, você concorda com a política de monitoramento de cookies. Para ter mais informações sobre como isso é feito e como remover, acesse aPolítica de cookies. Para saber como a UFRN trata os dados, acesse aPolítica de Privacidade. Se você concorda, clique em "Ciente".

Malware em Repositório PyPI

15/02/2023
Bruno Ferreira

Alerta aos desenvolvedores: recentemente foi descoberta a inserção de cerca de 450 pacotes maliciosos no repositório PyPI (Python Package Index). Segundo o blog da Phylum, empresa de segurança que descobriu o ataque, o objetivo dos artefatos é infectar sistemas de desenvolvedores com o malware Clipper (não confundir com a antiga linguagem de programação).

Ainda segundo o blog, o objetivo desse ataque é o sequestro de transações financeiras de forma trivial, mas efetiva: O malware, quando ativo, altera endereços de carteiras de criptomoedas copiadas para a área de transferência. Por exemplo, ao executar uma transação com bitcoins usando uma operação de copiar e colar, a vítima pode terminar enviando valores para a carteira do atacante sem perceber.

Os pacotes inseridos nos repositórios usam a técnica de typosquatting, na qual os nomes dos arquivos imitam pacotes oficiais e populares. Por exemplo, pacotes com nome riquest, reequest, rquest, hequest tentam imitar o nome da biblioteca oficial request. Usando esse artifício, artefatos maliciosos vem tentando se passar por softwares oficiais e populares como cryptofeed, matplotlib, pandas, scrapy, selenium, solana, tensorflow e vários outros.

De acordo com artigo da The Hacker News, o modelo de ataque que visa repositórios de pacotes, é uma ameaça crescente que desenvolvedores e usuários estão enfrentando ultimamente.

Para tentar evitar tornar-se vítimas, os desenvolvedores precisam estar atentos aos nomes dos pacotes que utilizam. Infelizmente isso nem sempre é uma tarefa fácil, já que pacotes podem ter centenas de dependências em cadeia. Basta uma dessas dependências estar comprometida para viabilizar o ataque.