Pacote Python malicioso escapa da detecção e roubar dados

Python 3.13 Beta traz muitas novidades com testes JIT e melhor interpretador interativo
Python 3.12 RC1 disponível para teste com melhor desempenho e integração Linux Perf

Pesquisadores descobriram que um pacote Python malicioso no repositório Python Package Index (PyPI) usa o Unicode como um truque para evitar a detecção e implantar um malware para roubar dados dos usuários.

Pacote Python evita detecção e consegue roubar dados

O pacote chamado onyxproxy, foi carregado no PyPI em 15 de março de 2023 e vem com recursos para coletar e exfiltrar credenciais e outros dados valiosos. Desde então, foi retirado, mas não antes de atrair um total de 183 downloads. De acordo com a Phylum, empresa de segurança da cadeia de suprimentos de software, o pacote incorpora seu comportamento malicioso em um script de configuração que contém milhares de cadeias de código aparentemente legítimas.

Essas strings incluem uma mistura de fontes em negrito e itálico e ainda são legíveis e podem ser analisadas pelo interpretador Python, apenas para ativar a execução do malware ladrão após a instalação do pacote.

pacote-python-malicioso-escapa-da-deteccao-e-roubar-dados

Um benefício óbvio e imediato desse estranho esquema é a legibilidade”.

Além disso, essas diferenças visíveis não impedem a execução do código, o que acontece.

Phylum

Isso é possível devido ao uso de variantes Unicode do que parece ser o mesmo caractere (também conhecido como homóglifos) para camuflar suas cores verdadeiras (por exemplo, self vs. ????) entre funções e variáveis ??de aparência inócua. O uso de Unicode para injetar vulnerabilidades no código-fonte foi divulgado anteriormente pelos pesquisadores da Universidade de Cambridge, Nicholas Boucher e Ross Anderson, em uma técnica de ataque apelidada de Trojan Source.

Agente malicioso

O que falta em sofisticação ao método é compensado pela criação de um novo pedaço de código ofuscado, apesar de exibir sinais reveladores de esforços de copiar e colar de outras fontes.

O desenvolvimento destaca tentativas contínuas por parte dos agentes de ameaças de encontrar novas maneiras de escapar das defesas baseadas em correspondência de strings, aproveitando “como o interpretador Python lida com o Unicode para ofuscar seu malware”. Em uma nota relacionada, a empresa canadense de segurança cibernética PyUp detalhou a descoberta de três novos pacotes Python fraudulentos (aiotoolbox, asyncio-proxy e pycolorz) que foram baixados cumulativamente mais de 1.000 vezes e projetados para recuperar código ofuscado de um servidor remoto.

Os cibercriminosos estão muito ardilosos e conseguem muitos meios para a excução dos seus golpes. Assim, é preciso que usuários e empresas implementem acada vez mais medidas de segurança para se livrarem dessas ameaças. Esperamos que a segurança um dia esteja um passo a frente!