Segredos de Desenvolvedores em Risco: Malware Shai-Hulud Infiltra PyPI Através de 19 Pacotes Científicos
Uma nova onda do ataque de cadeia de suprimentos **Shai-Hulud** comprometeu 19 pacotes científicos populares no **PyPI**, com centenas de milhares de downloads coletivos. Descoberta pela empresa de segurança de aplicações **Socket**, esta campanha sofisticada implanta malware projetado para roubar uma ampla gama de segredos e credenciais de desenvolvedores, representando uma ameaça significativa aos fluxos de trabalho de desenvolvimento de software.

Hackers lançaram um novo ataque de cadeia de suprimentos **Shai-Hulud**, comprometendo com sucesso 19 pacotes no **PyPI** (Python Package Index). Esses pacotes, baixados centenas de milhares de vezes, foram trojanizados para entregar malware com o objetivo de roubar segredos sensíveis de desenvolvedores.
Muitos dos pacotes afetados são ferramentas populares de bioinformática, incluindo **Dynamo**, **Spateo**, **CoolBox**, **U-FISH** e **Napari-UFISH**.
### Descoberta e Mecanismo Técnico
A nova campanha foi trazida à tona pela empresa de segurança de aplicações **Socket**. Sua análise revelou 37 releases maliciosas nos 19 pacotes, todas parecendo originar-se de um único mantenedor.
Os artefatos maliciosos incorporaram um arquivo `*-setup.pth` e um payload JavaScript ofuscado chamado `_index.js`. A execução do arquivo `PTH` é acionada simplesmente ao iniciar o Python, que então tenta baixar o runtime JavaScript **Bun** do **GitHub** para executar o script empacotado.
Pesquisadores da **Socket** explicaram a natureza insidiosa deste mecanismo: "Isso significa que uma wheel comprometida pode transformar uma instalação de dependência, que de outra forma seria passiva, em um gatilho de execução atrasada: o próximo Python, pip, teste, kernel de notebook, job de CI ou comando de gerenciamento de pacotes que inicia o Python pode processar o .pth malicioso."
### Conexão com a Campanha Shai-Hulud Mais Ampla
A **Socket** acredita que este ataque é uma extensão da campanha mais ampla **"Shai-Hulud"**, citando várias semelhanças nas técnicas empregadas. A empresa está rastreando este incidente juntamente com ataques anteriores, elevando o número total de artefatos maliciosos atribuídos às atividades **Shai-Hulud** para 453.
### Segredos Alvo e Exfiltração
Uma análise aprofundada do payload JavaScript descobriu seu extenso alvo de segredos de desenvolvedores, incluindo:
* Tokens do **GitHub** e segredos do **GitHub Actions**
* Tokens de publicação **npm**, **PyPI**, **RubyGems**, **JFrog**
* Credenciais **AWS**, **GCP**, **Azure**, **Kubernetes** e **Vault**
* Chaves **SSH**
* Credenciais **Docker**
* Arquivos `.env`, `.npmrc`, `.pypirc`
* Histórico de shell
* Arquivos de configuração **Claude/MCP**
* Outros segredos de estação de trabalho de desenvolvedor e CI/CD
Consistente com operações anteriores do **Shai-Hulud**, o objetivo principal parece ser comprometer os fluxos de trabalho de desenvolvimento de software para facilitar a propagação adicional de malware.
A exfiltração de dados espelha em grande parte os métodos anteriores do **Shai-Hulud**, utilizando repositórios **GitHub** criados automaticamente para hospedar segredos roubados via **GitHub Actions**. Um método secundário de exfiltração emprega comunicação HTTPS direta, apontando para um endpoint de API **Anthropic** legítimo, mas inválido (api[.]anthropic[.]com/v1/api), que a **Socket** sugere ter sido provavelmente usado para camuflagem.
### Evasão e Persistência
O malware incorpora vários mecanismos de evasão, como a verificação de locais/ambientes russos e a presença de ferramentas de segurança como **StepSecurity Harden-Runner**.
Para persistência, o malware se estabelece através de serviços **systemd** em sistemas **Linux** e **LaunchAgents** em **macOS**. Ele também alavanca arquivos de configuração de fluxo de trabalho do **GitHub** e **Claude/MCP** para manter sua presença.
### Recomendações para Defensores
O relatório da **Socket** fornece uma lista abrangente de todos os pacotes e versões afetados. Organizações que instalaram esses pacotes são fortemente aconselhadas a:
* Rotacionar todos os segredos de desenvolvedores imediatamente.
* Restaurar ambientes afetados a partir de backups conhecidos e seguros.
Defensores também devem monitorar ativamente indicadores específicos de comprometimento, incluindo:
* Pacotes **Python** contendo hooks de inicialização `.pth` executáveis.
* Downloads inesperados do runtime JavaScript **Bun** do **GitHub**.
* Cadeias de processos onde o **Python** inicia o **Bun** para executar `_index.js`.