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.

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.