A tendência crescente de pacotes maliciosos nos ecossistemas de código aberto
23 de março de 2023
0 minutos de leituraNota do editor: 5 de março de 2025
O cenário de pacotes maliciosos de código aberto continua evoluindo.
Em 2024, a Snyk identificou mais de 3.600 pacotes maliciosos, tendo npm (mais de 3.000) e PyPI (mais de 600) como principais alvos. Até agora, em 2025, sinalizamos mais de 1.000 novos casos, e JavaScript continua sendo o ecossistema mais afetado.
A Snyk está priorizando a inclusão em seu banco de dados de pacotes maliciosos com usuários ativos e potencial impacto para os clientes, em vez daqueles sem efeitos concretos no mundo real.
Desde o início de 2023, a Snyk documentou cerca de 6.800 pacotes maliciosos no PyPI e no registro npm, que exigem pouca ou nenhuma interação. Quase 860 deles foram descobertos por nós.
A partir de meados de 2022, observamos um aumento no número de pacotes maliciosos publicados nos ecossistemas. Esses 6.800 novos pacotes maliciosos vieram na esteira de uma campanha massiva de phishing ocorrida alguns meses antes — conforme descoberto pela Checkmarx em dezembro de 2022, mais de 144 mil pacotes maliciosos foram publicados em registros de software de código aberto, usando typosquatting e contaminando esses ecossistemas com tentativas de phishing. Esse incidente foi seguido por mais um conhecido ataque de phishing direcionado especificamente ao ecossistema npm, no qual mais de 17 mil pacotes npm maliciosos foram enviados para enganar desenvolvedores com tentativas de phishing. Desenvolvedores Python também foram alvo de um incidente de segurança no PyPI, o registro de bibliotecas Python: mais de 1.130 pacotes maliciosos foram publicados.
Neste artigo, queremos mostrar um panorama mais amplo de como a equipe de segurança da Snyk monitora e divulga incidentes de segurança relacionados a pacotes maliciosos. Com tantos relatos sobre pacotes maliciosos, queremos trazer mais informações sobre o risco e o impacto reais que observamos na Snyk nesses incidentes e explicar como reduzir os riscos até que possam ser mitigados.
O aumento recente na publicação de pacotes maliciosos mostra uma tendência claramente crescente. Em 2021, a Snyk adicionou 82 novos pacotes maliciosos, mas a escala foi totalmente diferente em 2022 e 2023. A Snyk adicionou mais de 9.900 pacotes maliciosos com impacto significativo, um aumento de 11.973% em comparação com 2021.
Esse crescimento se deve, em grande parte, ao aumento dos nossos investimentos na identificação e neutralização dos efeitos de pacotes maliciosos, em resposta à crescente conscientização sobre esse fenômeno.
Na Snyk, desenvolvemos ferramentas de análise dinâmica que nos permitem detectar pacotes maliciosos e obter seu código-fonte em diferentes ecossistemas, como PyPI e npm, além de analisá-los e divulgá-los rapidamente. Além disso, graças à parceria e à colaboração da comunidade de código aberto, conseguimos monitorar mais fontes que publicam pacotes maliciosos e nos manter atualizados.
O gráfico a seguir destaca a mudança na quantidade de pacotes maliciosos adicionados à inteligência de segurança da Snyk desde 2021:

Embora o número de pacotes maliciosos publicados esteja aumentando muito, também é importante avaliar se todos representam o mesmo risco para os desenvolvedores — o que, na realidade, não acontece.
Muitos dos pacotes maliciosos conhecidos publicamente são tentativas direcionadas de phishing. Para que esses pacotes sejam explorados, é necessária a interação do usuário: além de baixar o pacote, o alvo precisa clicar ativamente nos links para ser redirecionado a sites de phishing. Por outro lado, muitos pacotes maliciosos de alto impacto, inclusive os que usam scripts de ciclo de vida, como preinstall ou postinstall, podem baixar malware ou roubar informações confidenciais da máquina do alvo. Esses pacotes maliciosos não exigem interação do usuário além da instalação. Por isso, representam um risco maior do que os pacotes que exigem uma ação ativa do usuário para serem explorados.
Desde 2023, a Snyk encontrou 681 pacotes maliciosos que não exigem nenhuma interação do usuário além do download. Um deles é o pacote JavaScript para npm chamado django-yauth.
Ao investigar o código-fonte, descobrimos que ele contém um script preinstall chamado ./pre.sh, que inclui o seguinte código:
Esse script preinstall é executado quando o usuário instala o pacote com o comando npm install django-yauth.
Neste caso específico, é fácil entender o que o malware faz. Ele coleta informações confidenciais, incluindo o nome do host da máquina, o nome de usuário e o diretório atual. Uma solicitação POST a um endpoint controlado pelo invasor permite o envio desses dados.
Esse pacote foi enviado ao npm por um usuário chamado ypvpctpbamdhxtkzdu, que publicou outros pacotes maliciosos com código semelhante, como:
Como evitar ser vítima de pacotes maliciosos
Antes de instalar um pacote, confira se o nome corresponde exatamente ao pacote que você pretende instalar.
Além disso, procure analisar seus projetos e aplicativos regularmente para evitar que pacotes maliciosos desconhecidos permaneçam no seu sistema.
Como desenvolvedor, você precisa ficar atento a sinais suspeitos — como uma versão muito mais alta do que as demais do pacote ou tentativas de typosquatting no nome — e inspecionar o código-fonte dos pacotes que baixar.
Para ver mais dicas e técnicas para proteger seus projetos, confira nosso artigo anterior sobre como prevenir pacotes maliciosos e ataques à cadeia de suprimentos com a Snyk.
Segurança para o futuro
Embora o número de pacotes maliciosos esteja aumentando, as organizações de segurança de código aberto e a comunidade de código aberto como um todo não ficarão para trás. Mais ferramentas de automação e aprendizado de máquina estão sendo desenvolvidas para detectar esses pacotes a tempo, e a comunidade de código aberto descobriu que a cooperação é fundamental na “luta contra pacotes maliciosos”. Compartilhar informações com colegas e especialistas amplia o alcance da detecção e ajuda todos a ficarem mais atentos aos pacotes maliciosos que podem encontrar.
Por fim, embora os incidentes mais recentes tenham envolvido a publicação massiva de pacotes maliciosos, todos foram removidos rapidamente dos ecossistemas e tiveram pouco impacto nos clientes da 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.


