×

Alerta de Segurança Python: Ataque à Biblioteca LiteLLM Expõe Chaves de IA e Credenciais de Nuvem

Alerta de Segurança Python: Ataque à Biblioteca LiteLLM Expõe Chaves de IA e Credenciais de Nuvem

temp_image_1779169898.877155 Alerta de Segurança Python: Ataque à Biblioteca LiteLLM Expõe Chaves de IA e Credenciais de Nuvem

O Perigo Oculto no Ecossistema Python: O Caso LiteLLM

Para desenvolvedores que utilizam Python, a conveniência de bibliotecas prontas no PyPI é inegável. No entanto, essa facilidade abre portas para um dos riscos mais críticos da atualidade: o ataque de cadeia de suprimentos (supply chain attack). Recentemente, o grupo de hackers TeamPCP executou uma operação sofisticada que comprometeu a popular biblioteca LiteLLM, colocando em risco chaves de APIs de IA e credenciais de infraestrutura em nuvem.

Como o Ataque Aconteceu: Uma Reação em Cadeia

O ataque não começou diretamente no LiteLLM, mas sim através de uma vulnerabilidade em outra ferramenta confiável. Veja o passo a passo da invasão:

  • Comprometimento do Trivy: Os atacantes primeiro invadiram o Trivy, um scanner de vulnerabilidades open-source amplamente utilizado, falsificando commits de mantenedores legítimos.
  • Infiltração no CI/CD: Como o LiteLLM utilizava o Trivy em seu pipeline de Integração e Entrega Contínua (CI/CD), o binário infectado conseguiu acessar a memória do executor.
  • Roubo de Tokens: A partir desse acesso, o grupo roubou o token PYPI_PUBLISH, permitindo que publicassem versões maliciosas da biblioteca diretamente no PyPI (Python Package Index), ignorando completamente o repositório oficial de código-fonte.

O Alvo Estratégico: Por que a LiteLLM?

A LiteLLM atua como um gateway unificado para mais de 100 provedores de modelos de linguagem (LLMs), incluindo gigantes como OpenAI, Anthropic e Azure. Para um cibercriminoso, comprometer essa biblioteca é como encontrar a chave mestra de um cofre: um único acesso concede a possibilidade de roubar chaves de API de múltiplos provedores simultaneamente.

De acordo com pesquisas da Hunt.io, mais de 33.000 instâncias de LiteLLM expostas à internet estavam ativas durante o ataque. A vulnerabilidade recebeu o código CVE-2026-33634, com uma pontuação de gravidade CVSS de 9.4 (Crítica).

Análise Técnica: Versões 1.82.7 e 1.82.8

O grupo TeamPCP distribuiu duas versões maliciosas, cada uma com uma técnica de infiltração diferente:

  1. Versão 1.82.7: Injetou um payload codificado em Base64 diretamente no arquivo proxy_server.py, que era executado assim que o proxy do LiteLLM iniciava.
  2. Versão 1.82.8: Mais sutil e perigosa, esta versão adicionou um arquivo .pth ao site-packages. Isso fazia com que o malware fosse ativado toda vez que o interpretador Python fosse iniciado, independentemente de a biblioteca LiteLLM ter sido importada ou não.

O que foi roubado e como o malware operava?

O payload malicioso operava em três fases distintas para garantir a exfiltração máxima de dados:

  • Coleta: O malware vasculhava variáveis de ambiente e arquivos de configuração em busca de chaves da OpenAI, Anthropic, Azure, além de credenciais AWS/GCP e arquivos locais como ~/.kube/config.
  • Exfiltração: Os dados eram criptografados via AES-256-CBC e enviados para um servidor de Comando e Controle (C2) através de um arquivo chamado tpcp.tar.gz.
  • Persistência: Por fim, instalava-se um backdoor que buscava novas instruções de um domínio remoto a cada 50 minutos, permitindo a execução de novos códigos remotamente.

Como Proteger Seus Projetos Python

Este incidente serve como um lembrete crucial sobre a importância da segurança em dependências. Para evitar cair em armadilhas semelhantes, recomendamos:

  • Utilize hashes de dependências: Use arquivos requirements.txt com hashes ou ferramentas como o Poetry para garantir que a versão instalada não foi alterada.
  • Monitore vulnerabilidades: Acompanhe bases de dados como o NVD (National Vulnerability Database) para atualizações sobre CVEs.
  • Princípio do Privilégio Mínimo: Nunca armazene chaves de API com permissões administrativas em variáveis de ambiente expostas em runners de CI/CD sem a devida proteção.

Compartilhar: