Threats

Pacote npm comprometido rouba credenciais

Dez versões maliciosas de um pacote npm com cerca de 150 mil downloads semanais foram utilizadas num ataque à cadeia de fornecimento dirigido ao roubo de credenciais

02/09/2026

Pacote npm comprometido rouba credenciais
yelosole / AdobeStock

Um pacote npm utilizado para gerar código de integração entre aplicações e API foi comprometido através da publicação de dez versões maliciosas capazes de executar código durante a instalação. O pacote regista cerca de 150 mil downloads semanais, o que aumenta a possibilidade de o código ter chegado a ambientes de desenvolvimento e sistemas automatizados de compilação.

Segundo uma análise da Socket.dev, as versões comprometidas foram publicadas a 28 de agosto, em dois momentos distintos, e abrangeram todas as linhas de versões que estavam a ser mantidas. Desta forma, uma atualização normal de dependências poderia resultar na instalação do código malicioso.

O ataque recorre à configuração de compilação do pacote para iniciar o código durante a instalação e, em algumas versões, utiliza também um comando de pré-instalação. O programa malicioso estava oculto num ficheiro JavaScript ofuscado e procura credenciais em ficheiros de projetos, processos em execução, serviços cloud e variáveis de ambientes de integração contínua (CI).

A Socket.dev associa a atividade a um ataque Mini Shai-Hulud ainda em curso. A designação refere-se às semelhanças técnicas com anteriores ataques à cadeia de fornecimento npm, não constituindo, por si só, uma atribuição aos mesmos atacantes.

Um dos aspetos do incidente é que as versões comprometidas apresentavam registos de proveniência npm válidos e tinham sido publicadas através do mecanismo trusted publishing do GitHub Actions.

De acordo com a análise, um workflow de publicação podia ser ativado através de um comentário num pull request. O processo obtinha depois o código a partir do fork associado a esse pull request e publicava o pacote utilizando uma identidade considerada legítima.

O workflow não verificava se a pessoa que deixava o comentário era um colaborador de confiança do repositório. Na prática, a proveniência permitia confirmar qual o processo automatizado responsável pela publicação, mas não garantia que o código utilizado nesse processo fosse seguro.

Depois de executado, o código malicioso procura tokens de acesso e outras credenciais em ficheiros, memória de processos, serviços de metadados cloud e variáveis de CI. As credenciais recolhidas são testadas e os resultados são armazenados de forma encriptada em repositórios públicos do GitHub criados pelos atacantes, segundo a Socket.dev.

O malware pode ainda alterar workflows do GitHub Actions, monitorizar tokens em macOS e Linux e adicionar comandos persistentes às configurações de assistentes de programação baseados em IA. A análise aponta também para a possibilidade de utilizar sistemas acessíveis através de SSH para propagação e de comprometer outros pacotes quando obtém permissões de escrita nos respetivos registos.

As organizações que tenham instalado uma das versões afetadas devem tratar o sistema como potencialmente comprometido, recomenda a Socket.dev. A resposta passa por isolar inicialmente a máquina ou o runner, preservar evidências e eliminar mecanismos de persistência antes da rotação das credenciais potencialmente expostas.

A empresa recomenda ainda reconstruir os ambientes a partir de imagens conhecidas como seguras sempre que possível, renovar credenciais do GitHub, serviços cloud, CI e registos de pacotes e verificar lockfiles e inventários de software para identificar utilizações diretas ou indiretas das versões comprometidas.


NOTÍCIAS RELACIONADAS

RECOMENDADO PELOS LEITORES

REVISTA DIGITAL

IT SECURITY Nº31 AGOSTO 2026

IT SECURITY Nº31 AGOSTO 2026

NEWSLETTER

Receba todas as novidades na sua caixa de correio!

O nosso website usa cookies para garantir uma melhor experiência de utilização.