O que as palavras bakso, sate e rendang trazem à mente? Para muitos, a resposta é “nada”; os gourmets irão reconhecê-los como alimentos básicos da Indonésia; enquanto aqueles que acompanham as notícias sobre segurança cibernética se lembrarão de um ataque ao ecossistema Node Package Manager (npm) – a ferramenta que permite aos desenvolvedores usar bibliotecas pré-construídas em vez de escrever cada linha de código do zero.
Em meados de novembro, o pesquisador de segurança Paul McCarty relatou a descoberta de uma campanha de spam com o objetivo de sobrecarregar o registro npm. É claro que pacotes sem sentido já apareceram no registro antes, mas neste caso, dezenas de milhares de módulos foram encontrados sem nenhuma função útil. Seu único objetivo era injetar dependências completamente desnecessárias nos projetos.
Os nomes das embalagens apresentavam nomes de pratos indonésios inseridos aleatoriamente e termos culinários como bakso, sate e rendang, e foi assim que a campanha ganhou o apelido de “IndonesianFoods”. A escala foi impressionante: no momento da descoberta, tinham sido identificadas aproximadamente 86 000 embalagens.
Abaixo, veremos como isso aconteceu e o que os invasores realmente buscavam.
Por dentro dos alimentos indonésios
À primeira vista, os pacotes da IndonesianFoods não pareciam lixo óbvio. Eles apresentavam estruturas padrão, arquivos de configuração válidos e até documentação bem formatada. De acordo com pesquisadores do Endor Labsessa camuflagem permitiu que os pacotes persistissem no registro npm por quase dois anos.
Não é como se os invasores tentassem agressivamente inserir suas criações em projetos externos. Em vez disso, eles simplesmente inundaram o ecossistema com códigos aparentemente legítimos, esperando que alguém cometesse um erro de digitação ou escolhesse acidentalmente sua biblioteca nos resultados da pesquisa. Não está claro exatamente o que você teria que procurar para confundir o nome de um pacote com um prato indonésio, mas a pesquisa original notas que pelo menos 11 projetos conseguiram de alguma forma incluir esses pacotes em suas compilações.
Uma pequena parte desses pacotes inúteis tinha um mecanismo de auto-replicação integrado: uma vez instalados, eles criavam e publicavam novos pacotes no registro npm a cada sete segundos. Esses novos módulos apresentavam nomes aleatórios (também relacionados à culinária indonésia) e números de versão – todos publicados, como seria de esperar, usando as credenciais da vítima.
Outros pacotes maliciosos integrados à plataforma blockchain TEA. O Projeto TEA foi projetado para recompensar criadores de código aberto com tokens proporcionais à popularidade e uso de seu código – operando teoricamente em um modelo de “Prova de Contribuição”.
Uma parte significativa desses pacotes não continha nenhuma funcionalidade real, mas muitas vezes carregavam uma dúzia de dependências – o que, como você pode imaginar, apontava para outros projetos de spam dentro da mesma campanha. Assim, se uma vítima inclui por engano um desses pacotes maliciosos, ela atrai vários outros, alguns dos quais têm suas próprias dependências. O resultado é um projeto final repleto de uma enorme quantidade de código redundante.
O que há para os atacantes?
Existem duas teorias principais. O mais óbvio é que toda essa elaborada campanha de spam foi projetada para explorar o protocolo TEA mencionado acima. Essencialmente, sem fazer qualquer contribuição útil para a comunidade de código aberto, os invasores ganham tokens TEA – que são ativos digitais padrão que podem ser trocados por outras criptomoedas nas bolsas. Ao usar uma rede de dependências e mecanismos de auto-replicação, os invasores se apresentam como desenvolvedores legítimos de código aberto para aumentar artificialmente a importância e as métricas de uso de seus pacotes. Nos arquivos README de certos pacotes, os invasores até se gabam de seus ganhos.
No entanto, existe uma teoria mais assustadora. Por exemplo, o pesquisador Garrett Calpouzos sugere que o que estamos vendo é apenas uma prova de conceito. A campanha IndonesianFoods poderia estar testando um novo método de entrega de malware destinado a ser vendido posteriormente a outros atores de ameaças.
Por que você não quer lixo em seus projetos
À primeira vista, o perigo para as organizações de desenvolvimento de software pode não ser óbvio: claro, a IndonesianFoods sobrecarrega o ecossistema, mas não parece representar uma ameaça imediata como ransomware ou violações de dados. No entanto, dependências redundantes sobrecarregam o código e desperdiçam recursos do sistema dos desenvolvedores. Além disso, pacotes indesejados publicados em nome da sua organização podem prejudicar seriamente a sua reputação na comunidade de desenvolvedores.
Também não podemos descartar a teoria de Calpouzos. Se esses pacotes de spam inseridos em seu software receberem uma atualização que introduza funcionalidades verdadeiramente maliciosas, eles poderão se tornar uma ameaça não apenas para sua organização, mas também para seus usuários – evoluindo para um ataque completo à cadeia de suprimentos.
Como proteger sua organização
Os pacotes de spam não entram sozinhos em um projeto; instalá-los requer um lapso de julgamento por parte do desenvolvedor. Portanto, recomendamos aumentar regularmente a conscientização dos funcionários — mesmo os que entendem de tecnologia — sobre as ameaças cibernéticas modernas. Nossa plataforma de treinamento interativa, KASAP (Plataforma de Conscientização de Segurança Automatizada da Kaspersky)pode ajudar com isso.
Além disso, você pode prevenir a infecção usando uma solução especializada para proteger ambientes em contêineres. Ele verifica imagens e dependências de terceiros, integra-se ao processo de construção e monitora contêineres durante o tempo de execução.
Deseja saber mais sobre Segurança Digital & Antivírus Clique Aqui!

Perito em Computação Forense e Crimes Cibernéticos
Investigação Digital | Laudos Técnicos | Resposta a Incidentes
Bacharel em Sistemas da Informação, Certificado Microsoft Azure IA e MOS. Trabalho como Administrador de Redes, Firewall e Servidores Windows e Linux!
Minhas atividades favoritas são: Caminhar, Fazer Trilhas, Natureza, Insetos e claro ler sobre Tecnologia.

