Um atacante publicou uma versão maliciosa do popular pacote elementary-data no Python Package Index (PyPI) para roubar dados sensíveis de desenvolvedores e carteiras de criptomoedas.
A versão perigosa é a 0.23.3, e a ameaça se estendeu à imagem Docker por causa do fluxo de trabalho do pacote, que gera a imagem a partir do código e a envia para um registro de containers para implantação.
O membro da comunidade crisperik identificou o envio malicioso e abriu uma issue no GitHub do projeto no sábado, alertando o mantenedor e reduzindo a janela de exposição.
Uma substituição limpa, elementary-data 0.23.4, foi disponibilizada aos usuários.
No entanto, quem baixou a variante maliciosa permaneceu comprometido.
O pacote elementary-data é uma ferramenta open source de observabilidade de dados para dbt, usada principalmente por engenheiros de dados e de analytics que trabalham com pipelines de dados.
Trata-se de uma ferramenta popular no ecossistema dbt (Data Build Tool), com mais de 1,1 milhão de downloads mensais no PyPI.
Segundo uma análise do incidente publicada por pesquisadores da StepSecurity, o atacante explorou uma falha no fluxo de trabalho do projeto, em vez de comprometer as contas dos mantenedores, como costuma acontecer em atualizações fraudulentas.
O atacante publicou um comentário malicioso em uma pull request que explorava uma falha de injeção de script no GitHub Actions, fazendo com que o fluxo de trabalho executasse shell code sob controle do atacante.
Isso expôs o GITHUB_TOKEN do fluxo de trabalho, que depois foi usado para forjar um commit e uma tag assinados, v0.23.3, e acionar o pipeline legítimo de lançamento do projeto.
O pipeline compilou e publicou o pacote com backdoor no PyPI, além de uma imagem maliciosa no GitHub Container Registry, fazendo tudo parecer um lançamento oficial.
A versão maliciosa continha o arquivo elementary.pth, que era executado automaticamente na inicialização para carregar um secrets stealer voltado aos seguintes tipos de dados:
Chaves SSH, credenciais do Git, credenciais de cloud (AWS/GCP/Azure)
Segredos de Kubernetes, Docker e CI
Arquivos .env e tokens de desenvolvedor
Arquivos de carteiras de criptomoedas (Bitcoin, Litecoin, Dogecoin, Zcash, Dash, Monero, Ripple)
Dados do sistema (/etc/passwd, logs, histórico do shell)
Os pesquisadores afirmam que o mesmo payload chegou à imagem Docker do projeto, porque o fluxo de trabalho de publicação que envia o pacote ao PyPI também inclui uma tarefa de build e envio da imagem Docker.
De acordo com a StepSecurity, sistemas que não usavam versões fixadas baixaram automaticamente a compilação com backdoor.
Quem baixou a versão maliciosa elementary-data==0.23.3 e as imagens com as tags ghcr.io/elementary-data/elementary:0.23.3 e :latest deve rotacionar todos os segredos e restaurar seus ambientes a partir de um ponto conhecido como seguro.
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...