Devido ao aumento dos casos de sequestro de repositórios de grandes projetos e à disseminação de código malicioso através da compromissão de contas de desenvolvedores, a empresa GitHub implementará a verificação avançada de contas em todos os usuários. Além disso, a partir do início do próximo ano, será introduzida a autenticação de dois fatores obrigatória para os mantenedores e administradores dos 500 pacotes NPM mais populares.
De 7 de dezembro de 2021 até 4 de janeiro de 2022, será feito a transição de todos os mantenedores com direito à publicação de pacotes NPM, mas que não utilizam a autenticação de dois fatores, para a verificação avançada de contas. A verificação avançada requer a inserção de um código único enviado por e-mail ao tentar acessar o site npmjs.com ou ao realizar uma operação autenticada na ferramenta npm.
A verificação avançada não substitui, mas complementa a autenticação de dois fatores opcional anteriormente disponível, que requer confirmação usando senhas únicas (TOTP). Quando a autenticação de dois fatores está ativada, a verificação avançada por e-mail não é aplicada. A partir de 1º de fevereiro de 2022, começará o processo de transição para a autenticação de dois fatores obrigatória para os mantenedores dos 100 pacotes NPM mais populares, que têm o maior número de dependências. Após a migração dos primeiros 100, a mudança será expandida para os 500 pacotes NPM mais populares em termos de dependências.
Além do esquema de autenticação de dois fatores baseado em aplicativos para gerar senhas únicas (Authy, Google Authenticator, FreeOTP, etc.) atualmente disponível, em abril de 2022, planeja-se adicionar a possibilidade de uso de chaves de hardware e scanners biométricos, que têm suporte ao protocolo WebAuthn, bem como a capacidade de registrar e gerenciar diferentes fatores adicionais de autenticação.
Recordamos que, de acordo com um estudo realizado em 2020, apenas 9,27% dos mantenedores de pacotes utilizam autenticação de dois fatores para proteger o acesso, e em 13,37% dos casos, ao registrar novas contas, os desenvolvedores tentaram reutilizar senhas comprometidas que apareceram em vazamentos conhecidos. Durante a verificação da confiabilidade das senhas utilizadas, foi possível acessar 12% das contas no NPM (13% dos pacotes) devido ao uso de senhas previsíveis e triviais, como "123456". Entre os problemas, estavam 4 contas de usuários dos 20 pacotes mais populares, 13 contas de pacotes que foram baixados mais de 50 milhões de vezes por mês, 40 com mais de 10 milhões de downloads por mês e 282 com mais de 1 milhão de downloads por mês. Considerando o download de módulos em cadeias de dependências, a comprometimento de contas não confiáveis poderia afetar até 52% de todos os módulos no NPM.
Fonte: opennet.ru
