Em relato publicado em 23 de outubro de 2026, a LiteLLM atribuiu o primeiro token do GitHub usado no ataque a uma chave mestra exposta, que permitiu acesso à Agent Platform. Em 21 de outubro, credenciais comprometidas foram usadas para alterar o fluxo de publicação e distribuir a versão maliciosa 1.107.0 do LiteLLM.

Como a chave exposta levou ao comprometimento

Segundo a LiteLLM, um arquivo com a chave mestra da Agent Platform foi publicado em um repositório público em 27 de maio de 2026, e a chave não foi revogada. Em 10 de outubro, o invasor usou essa chave para acessar a plataforma e obter um token OAuth do GitHub CLI pertencente a um proprietário da organização. Depois, workflows foram usados para extrair tokens de dois mantenedores.

DataEvento
27 de maio de 2026Um arquivo com a chave mestra da Agent Platform foi publicado em um repositório público.
10 de outubro de 2026O invasor acessou a Agent Platform e obteve o token do proprietário da organização. Depois, workflows foram usados para extrair tokens de dois mantenedores.
21 de outubro de 2026O fluxo de publicação foi alterado e a versão maliciosa 1.107.0 foi distribuída.
23 de outubro de 2026A LiteLLM publicou seu relato corrigido da cadeia de ataque.

Em 21 de outubro, o invasor redirecionou o fluxo de publicação para o repositório imitador Berri-AI/litellm, em vez do repositório legítimo BerriAI/litellm. A LiteLLM informou que a tag de origem oficial da versão 1.107.0 não continha os arquivos maliciosos. A distinção importa para quem investiga o incidente: Berri-AI/litellm foi usado como origem da compilação comprometida, enquanto a LiteLLM também identificou tags de imagens distribuídas por Docker Hub e GHCR como afetadas.

Quais pacotes e imagens foram afetados

A LiteLLM identificou os sete wheels de litellm==1.107.0 publicados no PyPI como comprometidos. Eles foram enviados entre 11:39:51 e 11:40:13 UTC de 21 de outubro, e o PyPI retirou o pacote até 13:23 UTC.

No Docker Hub e no GHCR, as tags afetadas foram v1.107.0, latest, main-latest e main-stable. As tags afetadas do GHCR estavam indisponíveis até 13:51 UTC. No Docker Hub, as tags foram removidas ou redirecionadas para imagens limpas até 14:20 UTC, segundo a LiteLLM.

A empresa informou que clientes que usavam seu registro privado enterprise não foram afetados. Para as versões abertas, a orientação da LiteLLM foi fixar a versão 1.106.2 ou outra versão explícita publicada antes do ataque.

O que o payload fazia e o que a Wiz observou

A análise da Wiz descreveu três arquivos instalados no diretório site-packages do Python: cook.pth, cook.py e sitecustomize.py. Esses mecanismos de inicialização foram projetados para executar código quando o Python era iniciado. A Wiz relatou que o carregador remoto se destinava a Linux e macOS e que o código malicioso buscava credenciais de navegadores, serviços de nuvem e provedores de IA, além de chaves SSH e GPG, histórico do shell e credenciais armazenadas no banco de dados do proxy LiteLLM.

A Wiz estimou cerca de 49 mil downloads da versão comprometida, com base em dados do ClickPy. Em 21 de outubro, entre 16h20 e 17h01 UTC, a empresa também observou validações de credenciais da AWS, incluindo chamadas sts:GetCallerIdentity e consultas para listar modelos do Amazon Bedrock.

Para ambientes que possam ter recebido os artefatos afetados, a orientação da LiteLLM incluía verificar os arquivos de inicialização, remover os arquivos maliciosos, reconstruir ambientes afetados e trocar os segredos acessíveis a essas máquinas.