Prezados, boa tarde.
Um ataque de supply chain de atingiu o repositório npm hoje, comprometendo mais de 180 pacotes JavaScript, dentre eles, múltiplas bibliotecas da CrowdStrike publicadas pela conta crowdstrike-publisher
. Segundo pesquisas da Wiz, este incidente, denominado “Shai-Hulud”, representa o primeiro ataque capaz de se autorreplicar com sucesso no ecossistema npm, estabelecendo um novo marco na evolução das ameaças à cadeia de suprimentos de software. Tanto o agente Falcon Sensor quanto o console CrowdStrike não são afetados por esse comprometimento. Os consumidores que devem tomar medidas são aqueles que utilizam ferramentas externas baseadas em npm para gerenciar sua infraestrutura CrowdStrike, como para automatizar ações.
Investigações apontam que o ataque iniciou em 14 de setembro deste ano, com o comprometimento do pacote rxnt-authentication
, mantido pela conta techsupportrxnt
. Mais de 30 contas no GitHub já foram comprometidas e apresentavam credenciais sigilosas expostas em um repositório denominado “shai-hulud”.
Quase dez pacotes da CrowdStrike são afetados pelo ataque. As informações estão disponíveis no link a seguir: https://links.sek.io/packagesnpm-CrowdStrike. É importante ressaltar que a CrowdStrike confirmou, em comunicado oficial, que detectou os pacotes maliciosos disponíveis no registro público npm e os removeu prontamente do repositório. A fabricante relatou que “tais pacotes não são usados pelo Falcon Sensor, logo, a plataforma não foi impactada e os clientes estão protegidos.”
O ataque começa a partir de um arquivo bundle[.]js
que executa a ferramenta TruffleHog, ativada pelos invasores para escanear o sistema em busca de tokens de API e credenciais de acesso a sistemas de nuvem, como GITHUB_TOKEN
, NPM_TOKEN
, AWS_ACCESS_KEY_ID
e AWS_SECRET_ACCESS_KEY
.
Segundo especialistas, o worm consegue se propagar automaticamente. Assim, quando um pacote comprometido encontra tokens npm adicionais no ambiente da vítima, automaticamente publica versões maliciosas de qualquer pacote ao qual tenha acesso, espalhando-se pelo ecossistema npm. Cada pacote publicado se torna um novo vetor de distribuição, já que, assim que alguém o instala, o worm executa, replica e se propaga ainda mais.
Para garantir a persistência, o malware explora as credenciais dos desenvolvedores e cria um arquivo de workflow malicioso no GitHub Actions, o qual permite aos atacantes manter acesso aos repositórios comprometidos por mais tempo. As informações são coletadas e redirecionadas a outro endpoint, sob domínio dos invasores. O malware também força a migração de repositórios organizacionais privados para repositórios pessoais públicos com a descrição “Shai-Hulud”.
SEK ressalta que usuários em maior risco são aqueles que tenham o módulo “foundry” – usado para desenvolvimento de aplicações – e que tenham utilizado quaisquer destes módulos npm comprometidos para a criação dos apps.
Considerando as informações disponíveis sobre o ataque, a SEK lista algumas ações para prevenção de danos. Consumidores devem substituir tokens npm, credenciais na nuvem e quaisquer outros segredos que possam ter sido expostos se os pacotes comprometidos estiveram presentes em máquinas com credenciais de publicação. Também é interessante verificar se arquivos maliciosos ou workflows possam ter sido instalados em conhecimento prévio. Recomendamos também a checagem de contas no GitHub para repositórios denominados “Shai-Hulud” – se tais repositórios forem encontrados, é importante realizar a desativação e a revisão deles.
A SEK permanece vigilante no monitoramento desta situação, se comprometendo a atualizar este Comunicado caso surjam atualizações. Estamos à disposição para auxiliar organizações na implementação de medidas defensivas.