---
title: "LiteLLM comprometido: o log do gateway de LLM também guarda segredo"
slug: litellm-comprometido-log-gateway-llm
date: 2026-10-22
category: "Arquitetura"
tags: ["ia", "llm", "seguranca", "supply-chain", "python"]
readTime: "3 min"
excerpt: "A versão 1.107.0 do LiteLLM saiu com um ladrão de credenciais. O caminho até o release passou por tokens do GitHub CLI que foram parar nos logs do próprio gateway. O que eu revisaria hoje em qualquer plataforma de IA."
url: https://eliseu.dev/blog/litellm-comprometido-log-gateway-llm
---

## O que aconteceu

Na manhã de 21 de outubro, a versão 1.107.0 do LiteLLM foi publicada no PyPI e nas imagens Docker com malware. O pacote ficou no ar de 11h39 a 13h23 UTC (8h39 a 10h23 em Brasília), e as tags `v1.107.0`, `latest`, `main-latest` e `main-stable` apontaram para a imagem comprometida até 14h20 UTC no Docker Hub. A última versão segura é a 1.106.2.

O malware deixava `cook.pth` e `sitecustomize.py` no site-packages, então rodava em qualquer start do Python, inclusive num `pip install`. Ele coletava credenciais de nuvem, chaves SSH, cookies de navegador e chaves de provedores de LLM, e ainda fazia um `SELECT` direto na tabela onde o proxy guarda as credenciais dos provedores. Segundo a Wiz, umas 4,5 horas depois o atacante já validava credenciais AWS roubadas de runners de CI e nós de Kubernetes, seguido de `bedrock:ListFoundationModels`, o padrão de LLMjacking.

## A parte que me pegou

Depois de um incidente em março, o LiteLLM tinha endurecido o pipeline: release a partir de repo privado, tags Docker imutáveis, imagem assinada e publicação só a partir de uma conta presa a um notebook específico. Mesmo assim caiu, e a origem provável é desconfortável pra quem opera gateway de LLM.

Segundo o próprio time, existem situações em que o Claude Code coloca o token OAuth do GitHub CLI do usuário no corpo da resposta. Se o gateway loga o corpo, o token vai junto pro log. Eles acharam uma conta com nome inofensivo numa instância interna do LiteLLM exposta na internet, e a suspeita é que o atacante tirou dali os tokens de três desenvolvedores. Com eles, derrubou a proteção de branch, apontou o workflow de release para um repo quase igual (`Berri-AI/litellm` em vez de `BerriAI/litellm`) e passou no gate de aprovação com uma segunda conta.

A gente loga prompt e resposta no gateway por bons motivos: custo, debug, auditoria. Só que agente de código lê arquivo, roda comando e devolve a saída. Tudo que aparece no terminal dele pode acabar no log do gateway.

## O que eu revisaria hoje

1. **Mascarar segredo antes de gravar.** Prefixos conhecidos (`gho_`, `ghp_`, `sk-`, `AKIA`) no corpo de request e response devem sair do log antes de persistir. E vale perguntar se você precisa mesmo guardar o corpo inteiro.
2. **Tratar a instância do gateway como banco de produção.** Ela tem as chaves de todos os provedores e, pelo visto, o que os seus agentes viram. Nada de painel exposto e conta que ninguém reconhece.
3. **Fixar o artefato exato.** Tag pode ser repontada, digest não. Em Python, `pip install --require-hashes` faz o mesmo papel.
4. **Permissão temporária com data pra acabar.** O ataque aproveitou uma permissão de release ampliada dois dias antes, para backports.

```dockerfile
# versão e digest fixos, conferidos antes de subir
FROM ghcr.io/berriai/litellm:v1.106.2@sha256:<digest-que-voce-verificou>
```

Se a 1.107.0 rodou em algum lugar seu, siga o roteiro do LiteLLM: não comece com `pip install` (o próprio pip dispara o malware), apague os arquivos, mate o processo em background, recrie o ambiente do zero e rotacione tudo que o host alcançava, incluindo as chaves de provedor guardadas no banco do proxy.

## Fontes

- [Contained: Oct 21, 2026 LiteLLM release v1.107.0 Compromised](https://docs.litellm.ai/blog/security-incident-oct-21-2026), LiteLLM, 21 de outubro de 2026
- [LiteLLM Compromised](https://www.wiz.io/blog/litellm-compromised-steals-credentials), Wiz Research, 21 de outubro de 2026
- [LiteLLM Suspects GitHub Token Leak in AI Gateway Logs Behind Malicious Package Release](https://thehackernews.com/2026/10/litellm-suspects-github-token-leak-in.html), The Hacker News, 22 de outubro de 2026
- [Issue #47826 no repositório do LiteLLM](https://github.com/BerriAI/litellm/issues/47826), GitHub