Além disso, disse ela, os desenvolvedores precisam de ferramentas que verifiquem se o que é publicado no npm realmente corresponde ao que está no repositório de origem. “Nem todas as ferramentas de análise de composição de software fazem isso”, disse Janca, “então pergunte especificamente ao seu fornecedor se a ferramenta detecta incompatibilidades entre registro e repositório”.
Finalmente, ela aconselhou, aplique o princípio do acesso com menor privilégio à publicação de tokens; avalie-os com precisão, conceda-lhes apenas as permissões necessárias para um pacote específico e alterne-os regularmente – automaticamente, não manualmente.
Mais do que apenas roubo de credenciais
“As pessoas tendem a pensar nisso como um incidente de roubo de credenciais”, disse Janca. “Na verdade, é uma potencial aquisição organizacional completa e pode se desdobrar em etapas. Primeiro, o invasor obtém seus segredos na instalação: chaves AWS, tokens GitHub, chaves SSH, senhas de banco de dados, tudo que está em seu ambiente ou diretório inicial. Segundo, se você tiver um token de publicação npm, o worm imediatamente o usa para se injetar em cada pacote que você pode publicar, o que significa que seus usuários downstream agora também são vítimas. Terceiro, essas credenciais de nuvem roubadas são usadas para se transformar em sua infraestrutura: girando recursos, exfiltrando dados, movendo lateralmente entre contas. Quarto, seus pipelines de CI/CD, que confiam implicitamente em seus executores e contas de serviço, acolhem o código malicioso dos invasores na produção.”
