Ataque Hades no PyPI: 19 pacotes adulterados para executar automaticamente o credential stealer Bun
9 de Junho de 2026

A campanha de supply chain Miasma desencadeou uma nova onda de ataques chamada Hades, desta vez com 37 artefatos maliciosos do tipo wheel distribuídos entre 19 pacotes no repositório Python Package Index (PyPI).

Os ataques no estilo Mini Shai-Hulud continuam sendo aperfeiçoados e fragmentados para atingir ecossistemas específicos.

“As versões comprometidas incluíam um arquivo *-setup.pth, que tenta ser executado automaticamente durante a inicialização do Python, baixa o runtime JavaScript Bun e executa um payload JavaScript ofuscado chamado _index.js”, afirmou a Socket em uma nova análise.

A lista de pacotes identificados é a seguinte:

bramin 0.0.2, 0.0.3, 0.0.4
cmd2func 0.2.2, 0.2.3
coolbox 0.4.1, 0.4.2
dynamo-release 1.5.4
executor-engine 0.3.4, 0.3.5
executor-http 0.1.3, 0.1.4
funcdesc 0.2.2, 0.2.3
magique 0.6.8, 0.6.9
magique-ai 0.4.4, 0.4.5
mrbios 0.1.1, 0.1.2
napari-ufish 0.0.2, 0.0.3
nucbox 0.1.2, 0.1.3
okite 0.0.7, 0.0.8
pantheon-agents 0.6.1, 0.6.2
pantheon-toolsets 0.5.5, 0.5.6
spateo-release 1.1.2
synago 0.1.1, 0.1.2
ufish 0.1.2, 0.1.3
uprobe 0.1.3, 0.1.4

Assim como nas campanhas anteriores Shai-Hulud e Miasma, o payload malicioso baixa e instala o runtime JavaScript Bun, que então é usado para acionar um stealer JavaScript fortemente ofuscado, capaz de coletar uma ampla variedade de dados em sistemas de desenvolvedores.

Entre os alvos estão segredos associados ao GitHub, npm, PyPI, RubyGems, JFrog, CircleCI, Anthropic, AWS, GCP, Azure e Kubernetes, além de configurações do Docker, tokens do Vault, chaves SSH, históricos de shell, arquivos .env, arquivos .npmrc, arquivos .pypirc, configurações do Claude/MCP e outras credenciais locais ou acessíveis por runners.

A mudança desta vez está no marcador da campanha.

Enquanto versões anteriores exportavam os dados coletados para um repositório público no GitHub com as descrições “Miasma: The Spreading Blight”, “Miasma: The Spreading Blight” e “Miasma - The Spreading Blight”, a onda mais recente usa as descrições de repositório:

Hades - The End for the Damned
Hades * The End for the Damned

“Isso faz com que Hades seja melhor entendido como um braço do PyPI da mesma linhagem Mini Shai-Hulud / Miasma, e não como um incidente isolado de malware em Python”, afirmou a empresa de segurança de aplicações.

“O manual principal continua o mesmo: abusar de canais confiáveis de pacotes, executar antes do uso normal do pacote, preparar um payload JavaScript alimentado por Bun, roubar credenciais de desenvolvedores e de CI/CD e usar lógica de exfiltração e propagação centrada no GitHub.”

Neste ciclo, a diferença está no uso de um arquivo *-setup.pth, processado pelo módulo “site” do Python durante a inicialização do interpretador.

Isso faz com que o payload malicioso seja executado após a instalação, sem que a vítima precise importar o pacote comprometido.

Em seguida, o payload baixa e executa o Bun a partir do GitHub e dispara o stealer, mas não antes de verificar se o sistema corresponde ao locale russo.

“Esse é o equivalente em Python ao problema de install-hook do npm, explorado repetidamente por Shai-Hulud e Miasma”, explicou a Socket.

“A sintaxe é diferente, mas a consequência de segurança é a mesma: a instalação de dependências cria uma janela de execução antes que o código da aplicação seja revisado ou invocado.”

Hades usa cluster para enganar scanners de segurança com IA

Também foram comprometidos, como parte da campanha Hades, vários pacotes ligados à biologia computacional, bioinformática e análise de genótipo-fenótipo:

embiggen 0.11.97
ensmallen 0.8.101
gpsea 0.9.14
mflux-streamlit 0.0.3, 0.0.4
nhmpy 2.4.7
ppkt2synergy 0.1.1
pyphetools 0.9.120

Nesse cluster, a abordagem é diferente, já que o ponto de entrada está embutido no arquivo “__init__.py” do pacote, como um import hook ofuscado em uma única linha, com o mesmo resultado: baixar e executar o runtime Bun e, na sequência, rodar o payload JavaScript.

“O uso do runtime Bun continua sendo um tema constante”, disse a StepSecurity.

“Baixar o Bun como um arquivo ZIP independente permite que o malware execute tarefas JavaScript complexas em ambientes que não têm uma instalação do Node.js, contornando controles tradicionais de gerenciadores de pacotes e logs de proxy de rede.”

Em uma técnica inédita de evasão de defesas com inteligência artificial (IA), o malware também incorpora um prompt injection em texto simples para tentar enganar ferramentas de análise de pacotes baseadas em Large Language Model (LLM) e induzir o modelo a classificar o pacote como seguro.

Além disso, o malware consulta commits no GitHub em busca da palavra-chave “TheBeautifulSnadsOfTime” para extrair uma string codificada em Base64 que contém um payload JavaScript.

Ele também monitora o GitHub por commits que correspondam à palavra-chave “firedalazer” para buscar um dropper em Python e executá-lo.

Alguns dos recursos importantes incorporados ao malware Hades são os seguintes:

Replicar e se espalhar lateralmente por redes de desenvolvedores via SSH ou SCP, publicando versões trojanizadas de pacotes do PyPI a partir de sistemas comprometidos e explorando as configurações de confiança do OpenID Connect (OIDC) dos desenvolvedores.


Mirar repositórios do GitHub para extrair segredos da organização usando runners do GitHub Actions, se o token do GitHub obtido tiver permissões de escrita adequadas.


Criar backdoor em pastas locais de trabalho para acionar execução de código quando analisadas por assistentes de IA ou abertas em IDEs.

Os alvos incluem Anthropic Claude, OpenAI Codex, Google Gemini, Microsoft Copilot, Cline, Aider, Tabby, Amazon Q, Cody, Bolt e Continue.


Instalar um serviço em segundo plano chamado “gh-token-monitor” que atua como wiper, removendo todos os dados (“rm -rf ~/; rm -rf ~/Documents”) se o token do GitHub roubado for revogado pelo desenvolvedor.

“Uma capacidade-chave do threat actor Miasma é ler a memória de processo do runner do GitHub Actions, o processo Runner.Worker, para extrair segredos”, disse o pesquisador de segurança Rohan Prabhu.

“Em campanhas anteriores, isso se limitava a sistemas Linux usando /proc/{pid}/mem.

A campanha Hades introduz extratores de memória específicos para macOS e Windows.”

A evolução ocorre no momento em que a StepSecurity revelou que um atacante desconhecido comprometeu a conta do GitHub (“LeonOstrez”) vinculada ao “Pythagora-io/gpt-pilot”, uma ferramenta popular e open source de desenvolvimento com IA, e fez force-push de uma variante do worm Shai-Hulud, voltado ao roubo de credenciais, para a branch principal.

O malware foi projetado para ser ativado silenciosamente quando um desenvolvedor desavisado executa o projeto, evitando sistemas com locale russo.

“O malware, uma variante do worm Shai-Hulud, foi interrompido por um defensor improvável: o ruff, um formatador de código Python”, afirmou Ashish Kurmi, cofundador e CTO da StepSecurity.

“O atacante tentou duas vezes levar o código malicioso para o CI e falhou nas duas, porque o arquivo Python injetado não seguia as regras de formatação e lint do projeto.”

A empresa de segurança de supply chain Snyk descreveu esses ataques como parte da linhagem Shai-Hulud / Miasma, com cada nova onda usando um stealer ofuscado com runtime Bun e combinando isso com “novos mecanismos de persistência, novas rotas de exfiltração e novas formas de acionar código automaticamente no momento da instalação ou da build”.

“A campanha Miasma prova que chaves assinadas e contas autenticadas de mantenedores já não são uma garantia absoluta de segurança”, disse a Cloudsmith.

“Quando repositórios upstream são comprometidos, o código público se torna uma das formas mais fáceis e diretas de ser comprometido.”

Publicidade

Proteja sua empresa contra hackers através de um Pentest

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...