Pesquisadores encontram uma maneira de bibliotecas NPM maliciosas escaparem da detecção de vulnerabilidades.

Novas descobertas da empresa de segurança cibernética JFrog mostram que o malware direcionado ao ecossistema npm pode escapar das verificações de segurança, aproveitando um “comportamento inesperado” na ferramenta de interface de linha de comando (CLI) npm.
Novas descobertas da empresa de segurança cibernética JFrog mostram que o malware direcionado ao ecossistema npm pode escapar das verificações de segurança, aproveitando um “comportamento inesperado” na ferramenta de interface de linha de comando (CLI) npm.
Compartilhe
Detecção de Vulnerabilidade

Novas descobertas da empresa de segurança cibernética JFrog mostram que o malware direcionado ao ecossistema npm pode escapar das verificações de segurança, aproveitando um “comportamento inesperado” na ferramenta de interface de linha de comando (CLI) npm.

Os comandos de instalação e auditoria da CLI do npm possuem recursos integrados para verificar um pacote e todas as suas dependências em busca de vulnerabilidades conhecidas, atuando efetivamente como um mecanismo de alerta para desenvolvedores, destacando as falhas.

Mas como o JFrog estabeleceu, os avisos de segurança não são exibidos quando os pacotes seguem determinados formatos de versão, criando um cenário em que falhas críticas podem ser introduzidas em seus sistemas diretamente ou por meio das dependências do pacote.

Especificamente, o problema surge apenas quando a versão do pacote instalado contém um hífen (por exemplo, 1.2.3-a), que é incluído para denotar uma versão de pré-lançamento de um módulo npm.

Embora os mantenedores do projeto tratem a discrepância entre as versões regulares do pacote npm e as versões de pré-lançamento como uma funcionalidade pretendida, isso também o torna propício para abuso por parte de invasores que procuram envenenar o ecossistema de código aberto.

“Atores de ameaças podem explorar esse comportamento plantando códigos maliciosos ou vulneráveis ​​intencionalmente em seus pacotes de aparência inocente, que serão incluídos por outros desenvolvedores devido à funcionalidade valiosa ou como um erro devido a técnicas de infecção, como typosquatting ou confusão de dependências”, disse Or Peles .

Em outras palavras, um adversário pode publicar um pacote aparentemente benigno que está no formato de versão de pré-lançamento, que pode ser potencialmente captado por outros desenvolvedores e não ser alertado sobre o fato de que o pacote é malicioso, apesar das evidências em contrário.

O desenvolvimento mais uma vez reitera como a cadeia de suprimentos de software é construída como uma cadeia de relacionamentos de confiança entre várias partes e como o comprometimento de um link pode afetar todos os aplicativos downstream que consomem a dependência de terceiros não autorizados.

Para combater essas ameaças, é recomendável que os desenvolvedores evitem instalar pacotes npm com uma versão de pré-lançamento, a menos que a fonte seja totalmente confiável.