TeamPCP compromete pacote LiteLLM no PyPI e rouba credenciais de desenvolvedores

5 min de leitura
LiteLLM - @thecybersecurityhub Foto: LiteLLM - @thecybersecurityhub

O grupo de hackers conhecido como TeamPCP comprometeu o pacote LiteLLM no repositório PyPI e publicou versões maliciosas nos dias recentes. A biblioteca Python, que atua como unificador de acesso a diversos provedores de modelos de linguagem grandes por meio de uma API única, registrou mais de 95 milhões de downloads no último mês e ultrapassa 3,4 milhões de downloads diários. As versões 1.82.7 e 1.82.8 continham código malicioso capaz de coletar credenciais sensíveis e instalar mecanismos de persistência em ambientes afetados. Especialistas identificaram o incidente em 24 de março de 2026 e as versões comprometidas foram removidas rapidamente do PyPI.

O LiteLLM serve como porta de entrada comum para integração com serviços de inteligência artificial em projetos de desenvolvimento. Qualquer importação do módulo afetado acionava o payload oculto. A Endor Labs detalhou que o código malicioso foi injetado em arquivos específicos do pacote, incluindo o proxy_server.py e um arquivo .pth que executa automaticamente ao iniciar o interpretador Python.

  • Verificação imediata de instalações das versões 1.82.7 ou 1.82.8 em ambientes locais e pipelines CI/CD.
  • Rotação urgente de todas as chaves SSH, tokens de nuvem e segredos expostos.
  • Inspeção de artefatos como arquivos .pth suspeitos e serviços systemd disfarçados.

Mecanismo de injeção do código malicioso

Agentes maliciosos inseriram o payload codificado em base64 dentro do arquivo litellm/proxy/proxy_server.py nas versões comprometidas. Essa carga é decodificada e executada toda vez que o módulo é importado. A versão 1.82.8 adicionou ainda um arquivo litellm_init.pth que garante execução automática sempre que o ambiente Python é iniciado, ampliando o alcance do ataque mesmo sem uso direto da biblioteca.

O payload segue uma sequência em três etapas bem definida. Primeiro, realiza reconhecimento do sistema com comandos como hostname, whoami, uname e ip addr. Em seguida, coleta credenciais variadas, incluindo chaves SSH, configurações de nuvem para AWS, GCP e Azure, tokens de serviço do Kubernetes, arquivos .env, credenciais de bancos de dados, chaves TLS privadas e dados de carteiras de criptomoedas. Por fim, tenta movimentação lateral em clusters Kubernetes ao implantar pods privilegiados em cada nó.

Detalhes do roubo de credenciais e segredos

O infostealer variante do TeamPCP Cloud Stealer agrupa os dados coletados em um arquivo tpcp.tar.gz criptografado. Esse arquivo é enviado para a infraestrutura controlada pelos atacantes no domínio models.litellm.cloud. Um serviço systemd disfarçado de “Serviço de Telemetria do Sistema” mantém contato periódico com checkmarx.zone para baixar payloads adicionais e garantir persistência.

Desenvolvedores que utilizam LiteLLM em pipelines de IA ou aplicações que acessam múltiplos provedores de LLM enfrentam risco elevado de exposição. O ataque herda similaridades técnicas com o compromisso anterior do scanner Trivy da Aqua Security, também atribuído ao mesmo grupo. Relatos indicam que centenas de milhares de extrações de dados ocorreram, embora números exatos permaneçam em verificação independente.

Ataques anteriores do grupo TeamPCP

O TeamPCP já havia comprometido o projeto Trivy e componentes relacionados da Aqua Security em datas próximas. Essa sequência de incidentes demonstra foco em ferramentas amplamente adotadas na cadeia de desenvolvimento de software, especialmente aquelas integradas a fluxos CI/CD e ambientes cloud-native. O grupo também explorou clusters Kubernetes com scripts que diferenciam comportamentos por região geográfica.

A persistência instalada inclui backdoor systemd que busca binários adicionais de forma automática. Analistas observaram tentativas de apagamento completo de sistemas em configurações específicas detectadas, enquanto em outros casos o foco permanece na coleta silenciosa de segredos.

Medidas recomendadas para organizações afetadas

Organizações devem verificar logs de instalação e atualizar imediatamente para a versão 1.82.6 ou superior, considerada limpa. A rotação de todos os segredos e tokens encontrados em dispositivos potencialmente afetados constitui ação prioritária para limitar danos. Busca por arquivos suspeitos como ~/.config/sysmon/sysmon.py, /tmp/pglog e pods não autorizados no namespace kube-system ajuda a identificar comprometimentos residuais.

Monitoramento de tráfego de saída para domínios associados aos atacantes complementa as ações iniciais. Especialistas reforçam que a rotação regular de credenciais reduz significativamente o risco de ataques em cascata na cadeia de suprimentos de software. Equipes de segurança precisam inspecionar ambientes Kubernetes em busca de movimentação lateral não autorizada.

Análise técnica do payload persistente

O backdoor instalado como serviço de usuário systemd mantém comunicação com servidor remoto para receber instruções adicionais. Essa arquitetura permite que os atacantes expandam o controle sobre os sistemas infectados ao longo do tempo. O mecanismo de exfiltração criptografa os dados antes do envio, dificultando detecção em trânsito.

Desenvolvedores que mantêm dependências Python em ambientes compartilhados ou containers devem auditar histórico de instalações recentes. A popularidade do LiteLLM em projetos de inteligência artificial aumenta o potencial de alcance do incidente em ecossistemas de desenvolvimento modernos.

Atualizações sobre remoção das versões maliciosas

As versões 1.82.7 e 1.82.8 foram retiradas do PyPI após a identificação do problema. Mantenedores do projeto emitiram alertas de segurança e orientações para usuários. A comunidade de segurança acompanha o caso para mapear possíveis impactos em repositórios que dependem do LiteLLM de forma transitiva.

Pesquisadores continuam a analisar amostras do malware para identificar novas variantes ou comportamentos adicionais. Usuários que instalaram as versões afetadas precisam tratar todas as credenciais presentes nos sistemas como potencialmente expostas.

Bruna Santos é colaboradora da redação do Mix Vale, portal de notícias com cobertura de Brasil e mundo. Produz conteúdo nas editorias de economia e benefícios, com foco em informação de serviço para o leitor brasileiro. Escreve e colabora para o portal desde 2024. Formação: Professora.

Notícias relacionadas