O popular pacote LiteLLM para Python foi comprometido em um ataque à cadeia de suprimentos de software que distribuiu um ladrão de credenciais e uma backdoor, segundo relatos da SafeDep, da Socket, da StepSecurity e da Upwind.
O comprometimento afetou a versão 1.107.0 do LiteLLM, distribuída por meio de arquivos wheel no PyPI e de imagens Docker. O pacote Python foi colocado em quarentena no Python Package Index (PyPI), e as imagens Docker maliciosas foram removidas.
Oliver Jensen, diretor de segurança do LiteLLM, afirmou que a investigação está em andamento e que a equipe ainda tenta identificar o vetor de ataque original usado pelo ator da ameaça para publicar a versão maliciosa.
“Identificamos que as ações maliciosas foram realizadas por meio das contas do GitHub de três engenheiros, aparentemente com o uso de tokens OAuth roubados do GitHub CLI”, disse Jensen. “O ator da ameaça usou a conta de um usuário para iniciar a execução do fluxo project-releaser e a conta de outro para aprová-la. Todos os tokens envolvidos no ataque foram revogados.”
“Ainda não identificamos como o ator da ameaça obteve os tokens relevantes e, por isso, não podemos afirmar que não houve outros acessos a essas contas do GitHub. Como medida temporária, removemos da nossa organização no GitHub todos os usuários, exceto um, que não foi afetado.”
Separadamente, o LiteLLM informou que atualizou os registros públicos para remover todos os vínculos confiáveis com sua organização no GitHub e, assim, impedir a publicação de outros pacotes maliciosos.
A análise da versão comprometida mostra que ela foi preparada para coletar credenciais de cloud, chaves privadas, dados de navegadores e arquivos de autenticação de ferramentas de desenvolvimento de IA. Os seguintes arquivos wheel foram afetados:
```text
litellm-1.107.0-cp310-abi3-macosx_10_12_x86_64.whl
litellm-1.107.0-cp310-abi3-macosx_11_0_arm64.whl
litellm-1.107.0-cp310-abi3-manylinux_2_28_aarch64.whl
litellm-1.107.0-cp310-abi3-manylinux_2_28_x86_64.whl
litellm-1.107.0-cp310-abi3-musllinux_1_2_aarch64.whl
litellm-1.107.0-cp310-abi3-musllinux_1_2_x86_64.whl
litellm-1.107.0-cp310-abi3-win_amd64.whl
litellm-1.107.0.tar.gz (sem arquivos de carga maliciosa, mas com o arquivo pyproject.toml adulterado)
```
“A primeira carga maliciosa é um ladrão de credenciais chamado privcollect”, informou a StepSecurity. “A segunda inicia um processo em segundo plano que consulta, a cada hora, um ponto de entrega oculto no GitHub e executa qualquer código Python fornecido pelo atacante.”
O malware é iniciado pelo Python antes mesmo da importação do LiteLLM, por meio do arquivo de inicialização `cook.pth`, projetado para executar código automaticamente quando o interpretador é iniciado. O mesmo comportamento foi observado no comprometimento do LiteLLM ocorrido no início de março, como parte dos ataques à cadeia de suprimentos conduzidos pelo TeamPCP.
O arquivo `cook.pth` contém uma única linha, `import cook`, que inicia a carga maliciosa responsável pela coleta de credenciais. Ela busca tokens de cloud, contas de desenvolvedores e chaves privadas, arquivos JSON com credenciais de ferramentas de IA, dados de navegadores Chromium e Firefox e variáveis de ambiente.
O malware também pode atacar implantações do LiteLLM para extrair credenciais salvas pelo proxy e configurações de modelos. Os dados coletados são reunidos em um arquivo TAR compactado com GZIP e enviados a `litellm[.]dev/healthcheck` por meio de uma solicitação HTTP POST.
Além disso, o malware lê o conteúdo de um arquivo de texto chamado `domain.txt`, localizado no repositório `github[.]com/letters9813`. Se encontrar um domínio no arquivo, executa novamente o ladrão de credenciais e, em seguida, faz uma solicitação HTTP para `<domínio>/codepy` e executa a resposta. No momento, o repositório do GitHub retorna um erro 404.
Usuários que baixaram a versão maliciosa devem revogar e substituir as credenciais expostas a partir de um ambiente limpo e fixar a versão 1.106.2 usando seu hash.
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Guardsi: qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...