Malware ZiChatBot é distribuído via pacotes maliciosos no PyPI

Malware ZiChatBot é distribuído via pacotes maliciosos no PyPI

A descoberta de novos pacotes maliciosos no repositório oficial PyPI acendeu um alerta importante para desenvolvedores e administradores de sistemas. Pesquisadores da Kaspersky identificaram os pacotes uuid32-utils, colorinal e termncolor distribuindo o malware ZiChatBot em ambientes Linux e Windows.

O caso chama atenção porque os pacotes aparentavam ser bibliotecas comuns do ecossistema Python, mas escondiam mecanismos avançados de persistência, comunicação remota e execução de código malicioso. Além disso, os pesquisadores apontaram possíveis ligações técnicas com o grupo OceanLotus (APT32), conhecido por campanhas sofisticadas de espionagem digital.

O incidente reforça um problema crescente no universo open source: ataques contra a cadeia de suprimentos de software. Nesse tipo de ameaça, criminosos utilizam bibliotecas aparentemente legítimas para comprometer desenvolvedores, servidores e ambientes corporativos.

O que são os pacotes uuid32-utils, colorinal e termncolor

Os pacotes uuid32-utils, colorinal e termncolor foram publicados no PyPI simulando funcionalidades legítimas para desenvolvedores Python.

O uuid32-utils prometia funções relacionadas à geração e manipulação de identificadores UUID. Já o colorinal se apresentava como uma biblioteca voltada para estilização de texto no terminal.

O pacote mais sofisticado da campanha era o termncolor. Segundo a análise da Kaspersky, ele utilizava um sistema de dependências encadeadas para esconder o código malicioso. Em vez de incluir diretamente o payload principal, o pacote carregava componentes adicionais por meio de outras bibliotecas instaladas automaticamente.

Essa técnica dificulta a detecção por ferramentas tradicionais de análise e reduz as chances de o código suspeito ser identificado rapidamente pelos usuários.

Outro ponto preocupante é que muitos desenvolvedores analisam apenas o pacote principal antes da instalação, ignorando dependências secundárias adicionadas pelo gerenciador do Python.

Os pacotes chegaram a registrar downloads antes de serem removidos do repositório, indicando que sistemas reais podem ter sido comprometidos.

TVyxFoqp zichatbot pypi linux windows 2

Como o malware ZiChatBot ataca Linux e Windows

O funcionamento do malware ZiChatBot no PyPI varia de acordo com o sistema operacional da vítima.

No Windows, o código malicioso executa uma DLL responsável por iniciar a comunicação remota e permitir a execução de comandos enviados pelos operadores da ameaça. Essa DLL também pode coletar informações do sistema infectado.

Já no Linux, o malware utiliza um arquivo compartilhado no formato .so. Após a instalação, ele cria mecanismos de persistência usando o crontab, garantindo execução automática mesmo após reinicializações do sistema.

Os pesquisadores também encontraram referências ao diretório /tmp/obsHub, utilizado para armazenar componentes temporários e arquivos auxiliares do malware.

A estratégia utilizada nos sistemas Linux demonstra um nível avançado de conhecimento técnico. Em vez de ações agressivas e barulhentas, o ZiChatBot busca operar de forma silenciosa, reduzindo consumo de recursos e tentando evitar detecção por administradores.

Esse comportamento representa um risco significativo para servidores Linux utilizados em ambientes corporativos, pipelines DevOps e infraestrutura de containers.

Como o Zulip foi usado como servidor de comando e controle

Um dos elementos mais curiosos da campanha foi o uso do Zulip como infraestrutura de comando e controle (C2).

Em vez de depender exclusivamente de servidores próprios, os operadores utilizaram APIs legítimas da plataforma de chat para enviar e receber comandos das máquinas comprometidas.

Essa abordagem oferece vantagens importantes para os criminosos.

Como o tráfego se mistura a conexões legítimas feitas para serviços populares, firewalls e ferramentas de monitoramento têm mais dificuldade para identificar comportamento suspeito.

Além disso, plataformas modernas utilizam criptografia HTTPS, dificultando inspeções detalhadas do conteúdo transmitido.

Segundo os pesquisadores, o malware enviava informações sobre o sistema infectado para canais específicos no Zulip e aguardava novas instruções remotamente.

Outro detalhe curioso foi o uso de emojis dentro da estrutura de comunicação do malware. Alguns estados operacionais e comandos eram representados visualmente, possivelmente para facilitar o gerenciamento das vítimas pelos operadores.

O uso de plataformas legítimas como infraestrutura de ataque vem crescendo nos últimos anos. Serviços de mensagens, chats corporativos e plataformas em nuvem passaram a ser explorados por grupos avançados para dificultar rastreamento e bloqueios.

Possível ligação com o grupo OceanLotus (APT32)

A análise técnica realizada pela Kaspersky identificou semelhanças entre o ZiChatBot e ferramentas anteriormente associadas ao grupo OceanLotus.

O grupo, também chamado de APT32, é conhecido por campanhas sofisticadas de espionagem digital direcionadas principalmente a organizações governamentais, empresas e alvos estratégicos no Sudeste Asiático.

Entre os indícios observados estão padrões semelhantes de persistência, carregamento de payloads e uso de infraestrutura legítima para comunicação remota.

Apesar disso, os pesquisadores evitam atribuir oficialmente a campanha ao grupo. Em operações de segurança cibernética, a atribuição definitiva exige múltiplas evidências técnicas e contextuais.

Mesmo sem confirmação absoluta, os elementos encontrados indicam que os responsáveis possuem experiência avançada em desenvolvimento de malware multiplataforma e ataques contra cadeias de suprimentos de software.

O caso também demonstra como grupos sofisticados passaram a enxergar repositórios open source como vetores eficientes para atingir empresas e desenvolvedores simultaneamente.

Como se proteger de pacotes maliciosos no PyPI

O incidente envolvendo o ZiChatBot reforça a necessidade de adotar práticas rigorosas de segurança no uso de bibliotecas open source.

Antes de instalar qualquer pacote, verifique cuidadosamente o nome da biblioteca e a reputação do mantenedor. Muitos ataques utilizam nomes parecidos com projetos legítimos para enganar usuários.

Também é importante revisar dependências instaladas automaticamente, principalmente em projetos críticos ou ambientes de produção.

Outra medida recomendada é utilizar ambientes virtuais isolados para testes, reduzindo o impacto caso um pacote malicioso seja executado.

Ferramentas de auditoria de dependências e análise de vulnerabilidades ajudam a identificar bibliotecas suspeitas antes da implantação em servidores corporativos.

Administradores Linux devem monitorar alterações inesperadas em arquivos como crontab, bibliotecas compartilhadas e diretórios temporários do sistema.

Por fim, acompanhar relatórios recentes de ameaças e campanhas contra o ecossistema Python tornou-se fundamental para equipes DevOps e profissionais de segurança.