Pacote malicioso PyPI imita SymPy e instala minerador XMRig no Linux

Pacote falso no PyPI explora a confiança em bibliotecas Python para minerar criptomoedas silenciosamente em sistemas Linux.

Por
Jardeson Márcio
Jardeson Márcio é Jornalista e Mestre em Tecnologia Agroalimentar pela Universidade Federal da Paraíba. Com 8 anos de experiência escrevendo no SempreUpdate, Jardeson é um especialista...
7 min

A confiança no ecossistema PyPI é um dos pilares que sustentam a popularidade do Python no desenvolvimento moderno. Milhões de desenvolvedores instalam pacotes diariamente acreditando que estão obtendo bibliotecas legítimas, mantidas por comunidades ativas e seguras. No entanto, essa confiança também se tornou um vetor atrativo para cibercriminosos.

Recentemente, foi identificado um pacote malicioso PyPI chamado sympy-dev, que se disfarça como uma extensão ou versão de desenvolvimento da popular biblioteca SymPy. Na prática, trata-se de um ataque sofisticado de typosquatting, criado para enganar usuários de Linux e instalar silenciosamente um minerador de criptomoedas.

O risco é amplificado pelo fato de o pacote ter acumulado downloads antes de ser removido, atingindo principalmente ambientes de desenvolvimento, servidores e pipelines automatizados. Esse incidente reforça um alerta importante, pequenos erros de digitação ou falta de verificação podem resultar em comprometimento severo do sistema.

Como o ataque funciona: A armadilha do sympy-dev

O pacote sympy-dev foi projetado para parecer legítimo à primeira vista. Seu nome explora a reputação da biblioteca SymPy, amplamente utilizada para computação simbólica, cálculos algébricos e operações matemáticas avançadas em Python.

A estratégia segue um padrão clássico de pacote malicioso PyPI, o invasor publica um pacote com nome semelhante ao original, adiciona descrições vagas e estrutura básica de código, e espera que usuários o instalem por engano, seja manualmente ou por dependências mal configuradas.

Uma vez instalado, o código malicioso não executa imediatamente ações suspeitas. Em vez disso, ele se integra ao fluxo esperado da biblioteca, reduzindo a chance de levantar alertas durante testes superficiais ou revisões rápidas de código.

Imagem: TheHackerNews

Execução silenciosa em funções polinomiais

O comportamento mais crítico do sympy-dev está oculto em funções relacionadas a operações polinomiais, um contexto plausível para quem utiliza a SymPy. Esse é o gatilho específico do ataque.

Quando determinadas funções são chamadas, o pacote executa código adicional que não faz parte da lógica matemática esperada. Essa abordagem é especialmente perigosa porque o desenvolvedor pode utilizar o pacote normalmente por algum tempo antes que o payload seja ativado.

Essa técnica caracteriza um fileless malware, em que a execução ocorre de forma discreta, explorando a confiança no ambiente de execução e evitando padrões óbvios de comportamento malicioso.

Técnica avançada: O uso de memfd_create e execução em memória

Um dos aspectos mais sofisticados desse pacote malicioso PyPI é o uso da chamada de sistema memfd_create, disponível em kernels Linux modernos. Essa técnica permite criar um arquivo anônimo diretamente na memória, sem gravar nada no disco.

Na prática, o malware baixa ou embute o binário do XMRig e o executa inteiramente em memória. Isso reduz drasticamente os artefatos forenses e dificulta a detecção por antivírus tradicionais e ferramentas de monitoramento que dependem de análise de arquivos no sistema.

A ausência de arquivos persistentes também dificulta investigações posteriores, já que, após a interrupção do processo ou reinicialização do sistema, poucos rastros permanecem.

O objetivo final dessa execução em memória é claro, utilizar o XMRig para realizar cryptojacking, explorando os recursos de CPU da máquina infectada para minerar Monero, uma criptomoeda conhecida por seu foco em privacidade. Em servidores Linux, esse tipo de atividade pode causar degradação de desempenho, aumento no consumo de energia e custos inesperados em ambientes de nuvem.

Como identificar e se proteger de pacotes maliciosos

Casos como o do sympy-dev mostram que a segurança na cadeia de suprimentos de software depende tanto de ferramentas quanto de boas práticas individuais.

O primeiro passo é sempre desconfiar de nomes semelhantes a projetos populares. Um pacote malicioso PyPI geralmente apresenta pequenas variações, como sufixos “-dev”, “-test” ou “-pro”, sem uma justificativa clara.

Também é essencial verificar informações básicas antes da instalação, como data de criação do pacote, histórico de versões, nome do mantenedor e se o projeto é citado oficialmente pela documentação da biblioteca original. Pacotes recém-criados que imitam projetos consolidados devem ser tratados com cautela.

Em ambientes corporativos ou críticos, o uso de ferramentas de auditoria de dependências e análise de comportamento pode ajudar a identificar padrões suspeitos. Soluções como scanners de segurança para dependências Python conseguem sinalizar pacotes que utilizam técnicas incomuns, como execução direta em memória ou chamadas de sistema sensíveis.

Além disso, limitar permissões, isolar ambientes com virtualenv ou containers e monitorar consumo anormal de CPU são medidas eficazes para reduzir o impacto de ataques desse tipo.

O futuro da segurança na cadeia de suprimentos de software

O incidente envolvendo o sympy-dev não é um caso isolado. Ele reflete um problema crescente na cadeia de suprimentos de software, especialmente em ecossistemas abertos como o PyPI, onde a facilidade de publicação é uma vantagem, mas também um risco.

Para desenvolvedores e administradores de sistemas Linux, o recado é claro, confiar cegamente em repositórios públicos já não é suficiente. A adoção de práticas de verificação, monitoramento contínuo e educação em segurança se torna cada vez mais necessária.

Esse pacote malicioso PyPI reforça a importância de tratar dependências como parte da superfície de ataque. Verificar ambientes, revisar pacotes instalados e remover qualquer vestígio suspeito deve ser uma prioridade imediata para quem trabalha com Python em produção.

Manter-se informado sobre novas ameaças e agir de forma preventiva é a melhor defesa contra ataques silenciosos que exploram justamente a confiança da comunidade.

Compartilhe este artigo
Sair da versão mobile