No início desta semana, a ferramenta de segurança Socket relatou que vários pacotes NPM populares foram comprometidos, o que provavelmente comprometeu as máquinas dos desenvolvedores. Vamos ver como esse exploit funcionou e como você pode se proteger contra ele 👇
Etapa 1: acesso ao editor do NPM Os hackers usaram phishing para comprometer contas com direitos de publicação desses pacotes. Isso permitiu que os hackers publicassem versões maliciosas desses pacotes NPM populares.
Etapa 2: a instalação de dependências baixa malware Quando um desenvolvedor instala essa nova versão maliciosa, um script de "pós-instalação" no pacote NPM é executado após a instalação e baixa + executa malware na máquina do desenvolvedor. Isso pode comprometer outras contas de desenvolvedor ou roubar credenciais de seus computadores.
Como podemos nos proteger desse tipo de exploração? Como autor do pacote: Empregue 2FA para que as campanhas de phishing tenham menos probabilidade de comprometer os direitos de publicação de seus pacotes. Como desenvolvedor: 1. Bloqueie as dependências. Felizmente, isso já é uma prática padrão, ou o impacto dessa exploração teria sido muito maior. 2. Evite scripts de pós-instalação sempre que possível. A maioria dos pacotes não precisa de um script de pós-instalação para funcionar, portanto, desativá-los é recomendado. A MetaMask criou uma ótima ferramenta de código aberto para isso chamada LavaMoat. 3. Dependências de auditoria. A melhor maneira de se proteger contra esses tipos de explorações é ter cuidado com as dependências que você adiciona ao seu projeto em primeiro lugar. O soquete é uma ferramenta muito útil para ajudar a automatizar esse tipo de auditoria.
524