Pesquisadores de segurança descobriram outro ataque coordenado em grande escala ao ecossistema npm, usando técnicas semelhantes a worms para espalhar pacotes de spam.
Apelidada de “IndonesianFoods” devido ao esquema de nomenclatura exclusivo usado nas embalagens, a campanha está em execução há mais de dois anos, de acordo com Paul McCarty, da SourceCodeRed.
Pelo menos 11 contas npm foram criadas para implantar os pacotes, disse ele. Cada pacote contém um arquivo de script malicioso chamado ‘auto.js’ ou ‘publishScript.js’, que só é executado quando alguém o executa manualmente.
Em seguida, ele executa três ações em um “loop infinito”, de acordo com a Endor Labs:
- Ele verifica se há ‘”private”: true’ em package.json e o remove, a fim de forçar os pacotes a serem tornados públicos
- Ele gera um número de versão aleatório para ignorar o sistema de detecção de versão duplicada do npm
- Ele gera um novo nome de pacote e publica o pacote de spam no npm
“A matemática desse ataque é preocupante”, disse a Endor Labs.
“Uma única execução publica aproximadamente 12 pacotes por minuto, 720 por hora ou 17.000 por dia. A existência de 43.900 pacotes sugere que várias vítimas executaram o script ou os invasores o executaram para inundar o registro.
Os próprios pacotes fazem referência uns aos outros como dependências, criando uma rede auto-replicante, continuou a empresa de segurança.
“Quando um usuário instala um desses pacotes, o npm busca automaticamente toda a sua árvore de dependências. Se cada pacote de spam incluir de 8 a 10 pacotes de spam adicionais como dependências, a propagação cresce exponencialmente”, alertou.
“A instalação de um único pacote pode resultar na extração de mais de cem pacotes de spam relacionados, multiplicando rapidamente o uso da largura de banda do registro e tornando a limpeza muito mais complexa, já que toda a cadeia de dependências deve ser removida.”
Monetização ou disrupção?
No mínimo, a campanha está inundando o registro npm com pacotes de spam que desperdiçam recursos de infraestrutura e poluem os resultados da pesquisa, afirmou McCarty, da SourceCodeRed.
Os invasores também podem optar por enviar um commit malicioso no futuro que afetaria todos os usuários que os baixaram involuntariamente, criando um risco significativo para a cadeia de suprimentos. A Endor Labs disse que alguns pacotes estão acumulando milhares de downloads semanais.
Ele também vinculou a campanha ao protocolo Tea, que visa recompensar os desenvolvedores de código aberto por suas contribuições, emitindo-lhes tokens em uma blockchain relacionada.
“Ao incorporar arquivos ‘tea.yaml’ em milhares de pacotes de spam e interligá-los por meio de dependências circulares, os invasores inflaram suas ‘pontuações de impacto’ e reivindicaram recompensas de token Tea pelo valor artificial do ecossistema”, disse o fornecedor de segurança explicado.
“Notavelmente, um dos READMEs do pacote até se gaba desses ganhos, reforçando o motivo financeiro por trás da campanha.”
Leia mais sobre ameaças npm:Pacotes npm maliciosos entregam shells reversos sofisticados
Este é o último evento de worm a atingir o npm, após o Campanha de Shai Huludvisto em setembro.
Garrett Calpouzos, pesquisador de segurança da Sonatype, disse que a última descoberta também ecoa o malware GlassWorm e oSequestro de “giz/depuração”.
“Estamos vendo o mesmo manual evoluir, mas mais rápido”, acrescentou.
“Depois que o GlassWorm mostrou a rapidez com que um pacote malicioso pode se auto-replicar no npm, e o sequestro de giz / depuração expôs como os invasores estão transformando dependências legítimas em canais de distribuição, o IndonesianFoods é a próxima iteração: um worm de autopublicação operando em grande escala, disparando a cada sete segundos.”
A automação e a escala da IndonesianFoods é o que deve deixar os desenvolvedores alarmados, disse Calpouzos.
“Cada onda desses ataques arma a natureza aberta do npm de maneiras ligeiramente novas”, concluiu.
“Este pode não roubar credenciais ou injetar código, mas ainda sobrecarrega o ecossistema e prova o quão trivial é interromper a maior cadeia de suprimentos de software do mundo. Embora a motivação não seja clara, as implicações são impressionantes.”
