Foi registrado um ataque a usuários do diretório NPM, resultando no dia 20 de fevereiro, mais de 15 mil pacotes foram postados no repositório NPM, cujos arquivos README continham links para sites de phishing ou links de referência para cliques sobre os quais royalties são pagos. Durante a análise, foram identificados 190 links exclusivos de phishing ou publicidade nos pacotes, abrangendo 31 domínios.
Os nomes dos pacotes foram escolhidos para atrair o interesse de pessoas comuns, por exemplo, “seguidores-free-tiktok”, “códigos xbox grátis”, “seguidores-instagram-free”, etc. O cálculo foi feito para preencher a lista de atualizações recentes da página principal do NPM com pacotes de spam. As descrições dos pacotes incluíam links que prometiam brindes, brindes, cheats de jogos, além de serviços gratuitos para aumentar seguidores e curtidas em redes sociais como TikTok e Instagram. Este não é o primeiro ataque desse tipo: em dezembro, foi registrada a publicação de 144 mil pacotes de spam nos diretórios NuGet, NPM e PyPi.

O conteúdo dos pacotes foi gerado automaticamente usando um script python que aparentemente foi deixado inadvertidamente nos pacotes e incluía as credenciais de trabalho usadas no ataque. Os pacotes foram publicados sob muitas contas diferentes, usando métodos que dificultavam o desembaraço da trilha e a identificação rápida de pacotes problemáticos.
Além de atividades fraudulentas, também foram detectadas diversas tentativas de publicação de pacotes maliciosos nos repositórios NPM e PyPi:
- 451 pacotes maliciosos foram encontrados no repositório PyPI, que se disfarçaram como algumas bibliotecas populares usando typesquatting (atribuindo nomes semelhantes que diferem em caracteres individuais, por exemplo, vper em vez de vyper, bitcoinnlib em vez de bitcoinlib, ccryptofeed em vez de cryptofeed, ccxtt em vez de ccxt, cryptocommpare em vez de cryptocompare, seleium em vez de selenium, pinstaller em vez de pyinstaller, etc.). Os pacotes incluíam código ofuscado para roubo de criptomoeda, que detectou a presença de identificadores de carteira criptografada na área de transferência e os alterou para a carteira do invasor (presume-se que, ao efetuar um pagamento, a vítima não perceberá que o número da carteira transferido através da área de transferência é diferente). A substituição foi realizada por um complemento do navegador que foi executado no contexto de cada página visualizada.
- Uma série de bibliotecas HTTP maliciosas foram identificadas no repositório PyPI. Atividade maliciosa foi encontrada em 41 pacotes, cujos nomes foram selecionados usando métodos de digitação e se assemelhavam a bibliotecas populares (aio5, requestst, ulrlib, urllb, libhttps, piphttps, httpxv2, etc.). O preenchimento foi estilizado para se assemelhar a bibliotecas HTTP funcionais ou copiou o código de bibliotecas existentes, e a descrição incluía declarações sobre os benefícios e comparações com bibliotecas HTTP legítimas. A atividade maliciosa consistia no download de malware no sistema ou na coleta e envio de dados confidenciais.
- O NPM identificou 16 pacotes JavaScript (speedte*, trova*, lagra), que, além da funcionalidade declarada (teste de rendimento), também continham código para mineração de criptomoeda sem o conhecimento do usuário.
- Foram detectados 691 pacotes maliciosos no NPM. A maioria dos pacotes problemáticos se passava por projetos da Yandex (yandex-logger-sentry, yandex-logger-qloud, yandex-sendsms, etc.) e incluía código para envio de informações confidenciais a servidores externos. servidoresAcredita-se que aqueles que publicaram os pacotes estavam tentando substituir suas próprias dependências ao compilar projetos no Yandex (um método de substituição de dependências internas). No repositório PyPI, os mesmos pesquisadores encontraram 49 pacotes (reqsystem, httpxfaster, aio6, gorilla2, httpsos, pohttp, etc.) contendo código malicioso ofuscado que baixa e executa um arquivo executável de um servidor externo. servidor.
Fonte: opennet.ru
