Uma biblioteca Python de código aberto amplamente utilizada foi comprometida no Python Package Index (PyPI), representando uma grave ameaça à cadeia de suprimentos de software. As versões 1.82.7 e 1.82.8 do pacote, que roteiam solicitações entre vários provedores de LLM e possuem mais de 95 milhões de downloads mensais, foram encontradas contendo um backdoor sofisticado por fornecedores de segurança Endor Labs e JFrog.
O que mudou agora
O código malicioso foi injetado diretamente na distribuição do PyPI, contornando o repositório upstream limpo do GitHub. Este ataque à cadeia de suprimentos é atribuído ao TeamPCP, um ator de ameaças conhecido por visar ferramentas de desenvolvedor e segurança altamente privilegiadas. A infecção depende da execução de código malicioso disfarçada dentro de funções de biblioteca legítimas.
Vetor e exploração
Na versão 1.82.7, os atacantes injetaram um payload codificado em base64 de 12 linhas no arquivo litellm/proxy/proxy_server.py. Este código é acionado silenciosamente na importação do módulo. A versão 1.82.8 escala a ameaça ao introduzir um arquivo litellm_init.pth na raiz do wheel. Como o Python processa automaticamente arquivos .pth colocados em site-packages na inicialização, este vetor secundário garante que o payload seja executado como um processo em segundo plano durante qualquer invocação do Python no ambiente comprometido.
Evidências e limites
Após a execução, o payload inicia uma sequência de ataque agressiva de três estágios. O script orquestrador inicial descompacta um coletor de credenciais abrangente projetado para varrer sistematicamente o sistema hospedeiro. Ele visa chaves SSH, tokens de provedores de nuvem para AWS, GCP e Azure, credenciais de banco de dados e carteiras de criptomoedas. As credenciais extraídas são criptografadas usando um esquema híbrido AES-256-CBC e RSA-4096 e agrupadas em um arquivo chamado tpcp.tar.gz antes de serem exfiltradas para um domínio controlado pelo atacante.
Impacto e alcance
Além do roubo de credenciais, o malware tenta movimento lateral em ambientes Kubernetes. Se o coletor detectar um token de conta de serviço Kubernetes, ele enumera rapidamente todos os nós do cluster e implanta contêineres Alpine privilegiados em cada nó usando acesso de nível de host. Finalmente, o malware estabelece acesso persistente ao deixar um serviço de usuário systemd disfarçado como um processo de telemetria do sistema. Este backdoor consulta continuamente um servidor de comando e controle secundário para buscar e executar binários adicionais.
Medidas de mitigação recomendadas
Organizações que utilizam litellm devem auditar imediatamente seus ambientes. Se as versões comprometidas forem detectadas, as equipes de segurança devem tratar o ambiente como totalmente violado e iniciar um protocolo abrangente de rotação de credenciais. A última versão conhecida limpa é a litellm 1.82.6.
Indicadores de comprometimento (IoCs)
Os principais indicadores de comprometimento incluem o domínio models.litellm.cloud como ponto de exfiltração, o endpoint checkmarx.zone/raw para entrega de payload, o arquivo de sistema ~/.config/systemd/user/sysmon.service para persistência, o arquivo tpcp.tar.gz contendo dados exfiltrados e contêineres node-setup-* implantados no namespace kube-system.
O que os CISOs devem fazer imediatamente
Este incidente representa a última escalada em uma campanha de cadeia de suprimentos abrangente orquestrada pelo TeamPCP. Nos últimos meses, o grupo comprometeu com sucesso cinco ecossistemas separados, incluindo GitHub Actions, Docker Hub, npm e OpenVSX. Ao visar deliberadamente ferramentas de infraestrutura e segurança como o Trivy da Aqua Security e o KICS da Checkmarx, os atacantes garantem que seus payloads sejam executados em ambientes altamente privilegiados ricos em segredos de produção.