Pacotes maliciosos identificados por typosquatting no Python Package Index
Hayley Denbraver
5 de dezembro de 2019
0 minutos de leituraDois pacotes maliciosos foram removidos do Python Package Index (PyPI) nesta semana. Esses pacotes, jeIlyfish (um erro de grafia do pacote jellyfish, perceptível apenas em algumas fontes) e python3-dateutil (que se passava pelo popular pacote dateutil), tiravam proveito de uma técnica conhecida como “typosquatting”. O typosquatting ocorre quando alguém publica um pacote malicioso com um nome parecido com o de um pacote conhecido, na tentativa de levar usuários a baixar a versão maliciosa.
Esta publicação resume o que se sabe sobre os pacotes, detalha os aspectos positivos e negativos da situação e apresenta lições relevantes sobre o incidente. Você também encontra mais informações no nosso banco de dados de vulnerabilidades aqui e aqui.
O que se sabe
O exploit faz parte do pacote jeilyfish. O pacote python3-dateutil tem a biblioteca jeilyfish como dependência indireta. O exploit ainda não foi totalmente compreendido, mas parece roubar chaves SSH e GPG de máquinas infectadas e enviá-las para um servidor remoto. Os dois pacotes foram removidos do PyPI.
Más notícias
A biblioteca
jeilyfishestá no PyPI há quase um anoComo a natureza do exploit ainda não foi totalmente compreendida, é difícil estimar o impacto sobre quem baixou o pacote
Os dois pacotes maliciosos incluíam todas as funcionalidades dos pacotes pelos quais se passavam. Por isso, seria fácil aceitá-los como legítimos
O typosquatting é um problema em muitos gerenciadores de pacotes, não apenas no PyPI, e provavelmente continuará sendo
Boas notícias
O número de downloads das bibliotecas é relativamente baixo; talvez algumas centenas de pessoas tenham sido comprometidas
O pacote
python3-dateutilestava no PyPI havia apenas alguns diasAs duas bibliotecas maliciosas foram removidas
É fácil verificar se seu projeto foi afetado por alguma dessas vulnerabilidades. O Snyk é gratuito e pode identificar se seu projeto foi comprometido
Lições para o futuro
Tenha sempre cuidado ao baixar pacotes, confira a grafia e nunca tente adivinhar o nome de um pacote
O typosquatting pode introduzir pacotes maliciosos por meio de dependências indiretas, que podem ser difíceis de identificar
Acompanhe a árvore de dependências do seu projeto. É importante saber o que você está usando para identificar problemas quando eles surgirem
Pacotes maliciosos em repositórios populares de código aberto estão cada vez mais comuns. Se você acredita ter encontrado um possível pacote malicioso, pode denunciá-lo à Snyk seguindo nossa política de divulgação de pacotes de código aberto.
Comece a proteger seus pacotes de código aberto com a Snyk!
Comece a resolver desafios de capture the flag
Aprenda a resolver desafios de capture the flag assistindo sob demanda ao nosso workshop virtual introdutório.