Tech

Mais de 800 pacotes npm encontrados com discrepâncias, 18 exploráveis ​​para “confusão manifesta”

npm

Uma nova pesquisa descobriu mais de 800 pacotes no registro npm que apresentam discrepâncias em suas entradas de registro, dos quais 18 exploram uma técnica chamada confusão manifesta.

As descobertas vêm da empresa de segurança cibernética JFrog, que disse que o problema pode ser explorado por agentes de ameaças para induzir os desenvolvedores a executar códigos maliciosos.

“É uma ameaça actual, já que os desenvolvedores podem ser induzidos a baixar pacotes que parecem inocentes, mas cujas dependências ocultas são na verdade maliciosas”, disse o pesquisador de segurança Andrey Polkovnichenko ao The Hacker Information.

Cíber segurança

A confusão de manifestos foi documentada pela primeira vez em julho de 2023, quando o pesquisador de segurança Darcy Clarke descobriu que incompatibilidades nos metadados de manifestos e pacotes poderiam ser transformadas em armas para encenar ataques à cadeia de suprimentos de software program.

O problema decorre do fato de que o registro npm não valida se o arquivo de manifesto contido no tarball (bundle.json) corresponde aos dados de manifesto fornecidos ao servidor npm durante o processo de publicação por meio de uma solicitação HTTP PUT para o endpoint URI do pacote.

Como resultado, um agente de ameaça poderia aproveitar essa falta de verificação cruzada para fornecer um manifesto diferente contendo dependências ocultas que são processadas durante a instalação do pacote para instalar furtivamente dependências maliciosas no sistema do desenvolvedor.

“O manifesto visível ou ‘falso’ pode enganar os desenvolvedores e até mesmo auditar ferramentas que dependem dos dados disponíveis no banco de dados de registro npm”, disse JFrog. “Na realidade, o instalador pega o arquivo bundle.json do tarball, que pode ser diferente daquele visível fornecido na solicitação HTTP PUT.”

Confusão Manifesta

A empresa disse ter identificado mais de 800 pacotes onde havia uma incompatibilidade entre o manifesto no registro npm e o arquivo bundle.json dentro do tarball.

Embora muitas dessas incompatibilidades sejam o resultado de diferenças de especificação de protocolo ou variações na seção de scripts do arquivo do pacote, diz-se que 18 delas foram projetadas para explorar a confusão manifesta.

Um pacote notável em questão é o yatai-web-ui, que foi projetado para enviar uma solicitação HTTP a um servidor com informações sobre o endereço IP da máquina na qual o pacote foi instalado.

Cíber segurança

As descobertas mostram que o vetor de ataque parece nunca ter sido utilizado pelos atores da ameaça. Dito isto, é essential que os desenvolvedores tomem medidas para garantir que os pacotes estejam livres de comportamentos suspeitos.

“Como esse problema não foi resolvido pelo npm, confiar nos pacotes apenas pela aparência deles no website do npm pode ser arriscado”, disse Polkovnichenko.

“As organizações devem introduzir procedimentos que verifiquem se todos os pacotes que entram na organização ou são usados ​​por suas equipes de desenvolvimento são seguros e confiáveis. Especificamente no caso de confusão manifesta, é necessário que cada pacote seja analisado para ver se há algum pacote oculto. dependências.”

Artigos relacionados

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button