Skip to main content

Pacotes maliciosos identificados por typosquatting no Python Package Index

Escrito por
Headshot of Hayley Denbraver

Hayley Denbraver

5 de dezembro de 2019

0 minutos de leitura

Dois 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 jeilyfish está no PyPI há quase um ano

  • Como 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-dateutil estava no PyPI havia apenas alguns dias

  • As 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.