Cibersegurança

Ataque à Cadeia de Suprimentos do NPM: O que Aconteceu e Como Corrigir

mm
Securities.io maintains rigorous editorial standards and may receive compensation from reviewed links. We are not a registered investment adviser and this is not investment advice. Please view our affiliate disclosure.
Digital vault being cracked open

A indústria de criptomoedas e o mundo em geral recentemente experimentaram um susto quando especialistas em segurança identificaram um ataque à cadeia de suprimentos direcionado ao ecossistema Node.js que já havia comprometido até 18 pacotes npm.

Isso porque esses poucos pacotes recebem bilhões de downloads por semana.

Pacotes de software são usados para distribuir software de terceiros. Frequentemente obtidos de uma fonte externa por meio de um gerenciador de pacotes, eles geralmente incluem código‑fonte, bibliotecas, documentação e outros arquivos necessários para compilar e executar o software.

Agora, um pacote contendo malware se disfarça como um legítimo, quando na verdade é malicioso com a intenção de infectar softwares. Ao entrar em um sistema, o malware no pacote malicioso pode modificar arquivos, roubar dados, e até assumir um sistema inteiro para fazer o que o atacante desejar.

Embora outros grandes ecossistemas de código aberto como Python e .NET sejam igualmente vulneráveis a ataques, o amplo uso do JavaScript o torna particularmente exposto a cibercriminosos.

Node.js é um ambiente de tempo de execução de código aberto construído sobre JavaScript que permite que desenvolvedores executem seu código fora do navegador web. 

Tradicionalmente, a linguagem de programação interpretada, principalmente conhecida por ajudar a tornar páginas web interativas, era usada principalmente para desenvolvimento web do lado do cliente dentro de navegadores, mas o Node.js estendeu o uso do JavaScript para o lado do servidor e outras aplicações.

Com o Node.js, desenvolvedores podem construir aplicações rápidas e escaláveis como servidores web, APIs, ferramentas e muito mais.

Ele se beneficia de um vasto ecossistema de bibliotecas e ferramentas de código aberto disponíveis através do npm, que simplifica o desenvolvimento e fornece soluções para diversas funcionalidades.

Node Package Manager, ou npm, é uma ferramenta chave no desenvolvimento JavaScript, que é usada para encontrar, construir e gerenciar pacotes de código. Ele ajuda no gerenciamento de dependências, possibilita colaboração e simplifica fluxos de trabalho. 

Este maior Registro de Software do mundo contém mais de 3 milhões de pacotes de código e é completamente gratuito para uso. 

Qualquer pessoa pode baixar todos os pacotes públicos do npm sem precisar se registrar. Desenvolvedores de código aberto usam o npm para compartilhar e emprestar software, enquanto muitas organizações o utilizam para gerenciar desenvolvimento privado.

Para instalar o npm em seu computador, você deve instalar o Node.js primeiro.

O gerenciador de pacotes para JavaScript é mantido pela npm, Inc., uma subsidiária do GitHub, a principal plataforma de desenvolvimento de software do mundo, que foi adquirida pela Microsoft em 2018, quando a gigante tecnológica a comprou por US$ 7,5 bilhões para capacitar desenvolvedores. 

Na semana passada, a ferramenta na qual mais de 17 milhões de desenvolvedores ao redor do mundo confiam foi comprometida, gerando pânico na Internet, embora apenas por um curto momento, já que especialistas a detectaram rapidamente e os atacantes não conseguiram roubar mais de US$ 50. Veja o que aconteceu!

What Happened in the NPM Supply-Chain Attack (Sept 2025)

No massivo ataque à cadeia de suprimentos que ocorreu no ecossistema JavaScript, hackers comprometeram uma série de pacotes npm com malware. O objetivo do ataque era roubar ativos digitais de usuários desavisados. 

Em particular, a conta npm do desenvolvedor ‘qix’ foi hackeada. 

Qix é uma conta mantenedora de código aberto que foi comprometida por um ataque de phishing. Isso permitiu que os atacantes infectassem 18 pacotes npm populares com código malicioso. Juntos, esses pacotes são baixados centenas de milhões de vezes semanalmente, pois estão incorporados em frameworks, ferramentas de desenvolvedor e serviços de produção.

Os pacotes afetados incluem chalk, debug, color-name, wrap-ansi e ansi-styles, que são alguns dos mais populares, com pacotes npm menos populares afetados sendo backslash, chalk-template e has-ansi.
Swipe to scroll →

Package Compromised version(s) Action
debug 4.4.2 Fixar para pré-4.4.2; reinstalar; escanear logs de compilação
chalk 5.6.1 Fixar para pré-5.6.1; redeploy de build limpo
ansi-styles 6.2.2 Fixar para pré-6.2.2; auditar dependências downstream
ansi-regex 6.2.1 Fixar para pré-6.2.1
strip-ansi 7.1.1 Fixar para pré-7.1.1
wrap-ansi 9.0.1 Fixar para pré-9.0.1
color, color-convert, color-string, color-name 5.0.1 / 3.1.1 / 2.1.1 / 2.0.1 Fixar para as versões listadas; relock e rebuild
has-ansi, supports-color, slice-ansi 6.0.1 / 10.2.1 / 7.1.1 Fixar para as versões listadas
backslash, is-arrayish, error-ex, simple-swizzle, chalk-template, supports-hyperlinks 0.2.1 / 0.3.3 / 1.3.3 / 0.2.3 / 1.1.1 / 4.1.1 Fixar para as versões listadas
duckdb, @duckdb/node-api, @duckdb/node-bindings, @duckdb/duckdb-wasm 1.3.3 / 1.3.3 / 1.3.3 / 1.29.2 Evitar as versões listadas; aguardar atualizações do fornecedor

Todos os pacotes que foram afetados já foram removidos pelo registro npm. Ao comprometer um mantenedor de código aberto de alto valor, o ataque armou a confiança no ecossistema de software de código aberto (OSS), já que os desenvolvedores não auditam cada dependência que utilizam. O que eles fazem é confiar no uso e na reputação, bem como na segurança dos registros.

Tweet sobre o Ataque à Cadeia de Suprimentos do NPM

Para comprometer os pacotes, o hacker utilizou o caminho do phishing. O atacante primeiro lançou uma campanha de phishing para sequestrar a conta de um mantenedor de pacote npm, depois injetou seu código malicioso nos pacotes npm antes de enviar as versões comprometidas.

O desenvolvedor Josh Junon foi a vítima de um e‑mail de phishing que fazia parte de uma campanha maior que imitava o npm. Assim, os atacantes usaram um site de phishing que imitava a página de login do npm para roubar suas credenciais. E assim que os atacantes entraram, bloquearam Junon alterando o endereço de e‑mail associado à conta npm dele.

“Oi, sim, fui comprometido. Desculpem pessoal, muito constrangedor,” escreveu Junon no HackerNews, confirmando o incidente. Ele explicou antes de esclarecer que apenas o npm foi afetado:

“Parecia legítimo à primeira vista. Não estou dando desculpas, só tive uma semana longa e uma manhã de pânico e estava tentando riscar algo da minha lista de tarefas. Cometi o erro de clicar no link ao invés de ir direto ao site.” 

O e‑mail de phishing veio de support [at] npmjs [dot] help e usou uma tática de medo para fazer Junon clicar no link, que o redirecionou ao site de phishing.

Fingindo ser do npm, os atacantes pediram que ele atualizasse suas credenciais 2FA, alegando fazer parte de um “compromisso contínuo com a segurança da conta”, e que estavam solicitando o mesmo de todos os usuários. 

“Nossos registros indicam que já se passaram mais de 12 meses desde sua última atualização 2FA,” declarou o e‑mail de phishing, acrescentando que aqueles com “credenciais 2FA desatualizadas serão temporariamente bloqueados a partir de 10 de setembro de 2025, para impedir acesso não autorizado.”

O mesmo e‑mail também foi usado para mirar outros mantenedores de pacotes e desenvolvedores.

Dada a ampla utilização dos pacotes afetados, isso poderia ter se tornado um incidente maior se não tivesse sido tratado tão rapidamente.

Como Charlie Erickson da Aikido Security observou em um relatório, inúmeros sites evitaram danos muito graves graças a esse ataque, já que os pacotes npm continham um trecho de código que seria executado no cliente de um site.

“Esse malware é essencialmente um interceptador baseado em navegador que sequestra tanto o tráfego de rede quanto as APIs de aplicação,” afirmou ele em sua análise do ataque. “O que o torna perigoso é que ele opera em múltiplas camadas: altera o conteúdo exibido nos sites, manipula chamadas de API e altera o que os aplicativos dos usuários acreditam estar assinando. Mesmo que a interface pareça correta, a transação subjacente pode ser redirecionada em segundo plano.”

O código malicioso foi projetado para roubar criptomoedas. O atacante escaneia strings em busca de endereços de carteiras cripto, colocando aqueles que trabalham em aplicações relacionadas a cripto em risco.

O malware operava silenciosamente dentro do navegador sem que o usuário percebesse, reescrevendo endereços de carteira e redirecionando fundos para contas controladas pelo atacante. Ele sequestra e manipula transações em Bitcoin (BTC ), Ethereum (ETH ), Solana (SOL ), Tron (TRX ), Litecoin (LTC ) e Bitcoin Cash (BCH ) em um sistema comprometido.

Para isso, o código malicioso monitorava APIs de aplicação do navegador como fetch e interfaces de carteira como window.ethereum.

O código malicioso “intercepta silenciosamente atividades de cripto e Web3 no navegador, manipula interações de carteira e reescreve destinos de pagamento para que fundos e aprovações sejam redirecionados para contas controladas pelo atacante sem sinais óbvios ao usuário,” disse Erickson.

Ao terminar, o malware cobre seus rastros enquanto permanece em segundo plano para capturar quaisquer transações futuras na rede da vítima desavisada.

Dada a gravidade do ataque, Charles Guillemet, CTO da fornecedora de carteiras de hardware Ledger, alertou usuários de cripto a serem cautelosos ao confirmar transações on‑chain. Os pacotes afetados, ele observou no post, já foram baixados mais de 1 bilhão de vezes. 

O ataque em larga escala à cadeia de suprimentos, que ele compartilhou com a comunidade, está mirando carteiras de software cripto com a carga maliciosa “troca silenciosamente endereços cripto em tempo real para roubar fundos.” 

“Se você usa uma carteira de hardware, preste atenção a cada transação antes de assinar e você estará seguro. Se não usa uma carteira de hardware, evite fazer quaisquer transações on‑chain por enquanto.”

– Guillemet

Enquanto isso, 0xngmi, o fundador pseudônimo da DefiLlama, plataforma de análise cripto, publicou no X que “a área de impacto efetiva é muito menor que ‘todos os sites'”, pois apenas projetos que foram atualizados após a publicação do pacote npm infectado podem estar em risco. Ainda assim, “é mais seguro evitar usar sites cripto até que isso passe e eles limpem os pacotes ruins,” acrescentou.

No final, os hackers conseguiram roubar apenas US$ 50 em criptomoedas de um ataque tão massivo à cadeia de suprimentos. Os US$ 50 envolvem Ether e várias meme coins como Brett e Andy, entre outras.

Só conseguiu US$ 50?

 

Entretanto, foi mais sorte do que habilidade, como observou a plataforma de inteligência cripto Security Alliance no X:

“Isso poderia ter sido muito pior. Uma backdoor implantada silenciosamente que visava máquinas de desenvolvedores com foco em persistência poderia ter permanecido despercebida por quem sabe quanto tempo.”

Desde então, muitas aplicações cripto como Aave, Uniswap, Ledger, Jupiter, MetaMask, Phantom, Blast e outros notificaram seus públicos que estão seguros contra o ataque npm.

Embora o ataque tenha falhado, ele serve como um lembrete contundente para desenvolvedores de que, para máxima segurança, precisam ir além de seu próprio código‑base. Até mesmo dependências de software que foram confiáveis e amplamente usadas podem ser comprometidas a qualquer momento.

Aqui, plataformas de codificação como GitHub e npm também precisam fazer mais para garantir a segurança de pacotes amplamente usados.

“Pacotes mais populares deveriam exigir atestado de que vieram de proveniência confiável e não apenas de algum local aleatório na Internet.”

– Eriksen

Uma das melhores coisas que o npm poderia fazer

 

Compromissos de repositórios de código, afinal, podem ser extremamente desastrosos para desenvolvedores, que podem acabar abandonando projetos inteiros como consequência de um incidente como esse.

O incidente demonstra o quão interconectado e vulnerável o ecossistema de software atual é à exploração. Uma única conta comprometida pode proporcionar aos atacantes um alcance massivo, tornando crítico implementar medidas aprimoradas de segurança da cadeia de suprimentos em cada etapa do processo de desenvolvimento.

Safeguarding Against the Fast-Rising Threat of Malware 

Com as ameaças de malware em ascensão e os ataques se tornando mais avançados e direcionados, é importante que os usuários estejam educados e sempre vigilantes em todas as plataformas.

Software malicioso ou malware é, na verdade, um dos tipos mais comuns de ciberataques. Aqui, os atacantes desenvolvem um código ou programa de computador com a intenção de obter acesso ou causar danos ao computador da vítima sem que a vítima saiba que foi comprometida

Todo ano, bilhões de ataques de malware acontecem em todo o mundo em todos os tipos de dispositivos e sistemas operacionais. Usando malware, cibercriminosos mantêm não apenas dispositivos, mas redes corporativas inteiras como reféns.

Ao obter acesso não autorizado aos dispositivos da vítima, os atacantes roubam ativos digitais e dados sensíveis, incluindo credenciais de login, números de cartão de crédito e outras informações valiosas. Ataques de malware estão cada vez mais mirando empresas devido ao grande volume de dados pessoais que elas detêm, os quais os hackers podem explorar para extorquir grandes somas de dinheiro. 

Dados mostram que a maioria (59%) das organizações sofreu esse tipo de ataque em 2024. Mesmo empresas menores não estão seguras, com 47% delas atingidas por ransomware no ano passado. Enquanto isso, o pagamento médio de resgate disparou 500% para US$ 2 milhões nesse período. 

O custo médio de recuperação de um ataque de malware também chegou a US$ 2,73 milhões. Uma das maiores ameaças que a Internet enfrenta atualmente é o malware, que pode assumir várias formas com o único propósito de prejudicar sistemas computacionais e seus usuários.

Vírus, ransomware, trojans, worms, spyware, adware e crypto‑jacking são todos tipos diferentes de malware. Todos esses são projetados para obter acesso não autorizado a uma rede ou danificar sistemas computacionais.

Quanto às causas raiz dos ataques, a maior delas, com 32%, é a exploração de vulnerabilidades pelos atacantes, seguida por credenciais comprometidas (29%) e então e‑mails maliciosos (23%). 

Agora, como alguém pode se prevenir dessa ameaça constante? O primeiro e mais simples passo é manter sempre seu computador e softwares atualizados. Também, é crucial que você não clique em praticamente qualquer coisa na Internet. Especialmente como usuário de cripto, deve‑se desconfiar de links e jamais baixar algo que não se tem certeza.

O mesmo vale para anexos de e‑mail. Cuidado ao abrir e‑mails suspeitos e tente minimizar o compartilhamento de arquivos. É prudente ter um antivírus instalado no seu dispositivo.

Embora inevitável, organizações também podem se preparar contra ataques de malware fortalecendo suas defesas. As formas mais diretas de fazer isso são usando senhas fortes, autenticação multifator e VPNs, recursos que indivíduos também podem usar para se proteger de forma mais eficaz.

Organizações precisam monitorar constantemente dispositivos em busca de sinais de atividade suspeita, avaliar vulnerabilidades e realizar testes de penetração. Backups de dados sensíveis em unidades desconectadas da rede, por sua vez, ajudarão na recuperação após ataques de malware.

Funcionários precisam ser treinados para identificar tais ataques melhor e responder rapidamente, tendo planos de resposta a incidentes e sabendo quem contatar ao suspeitar de uma ameaça de malware.

Ao utilizar a arquitetura de rede de confiança zero, empresas podem garantir que ninguém acesse dados ou ativos que não deveria. Na confiança zero, usuários nunca são confiados e são sempre verificados.

Na vida hiper‑digital de hoje, essas práticas podem ajudar a proteger a si mesmo contra os perigos de um mundo cada vez mais interconectado.

Quando se trata de proteger-se de pacotes maliciosos, as recomendações gerais de segurança contra malware também se aplicam a ataques npm, mas, claro, há precauções adicionais e específicas que também devem ser tomadas devido à natureza particularmente vulnerável do ecossistema, ao reuso intenso de pequenos pacotes e às extensas árvores de dependência.

Para se proteger dessa ameaça séria, você deve sempre verificar duas vezes se o pacote é confiável antes de instalá‑lo. Verificar a integridade do pacote garantirá que sua árvore de dependências não foi adulterada. 

Ao procurar sinais de ilegitimidade, além da origem e propriedade do pacote, examine quaisquer alterações feitas nos mantenedores. Você pode também querer investigar o que os pacotes fazem e a necessidade deles.

Use ferramentas de segurança que monitoram continuamente novas ameaças e fornecem conselhos acionáveis para mitigar a situação. Verificações npm audit podem ser executadas para vulnerabilidades conhecidas nas dependências do projeto. Implementar varreduras de segurança automatizadas antes da implantação, por sua vez, garantirá que apenas código revisado e aprovado chegue à produção.

Agora, para se proteger do mais recente ataque de malware, você precisa fixar os pacotes afetados nas versões mais seguras antes da comprometimento, usando o recurso overrides no package.json. 

Execute npm audit ou use ferramentas de análise de composição de software (SCA) para verificar versões afetadas em sua árvore de dependências. Monitore quaisquer Indicadores de Comprometimento (IoCs) verificando logs de build, ambientes de desenvolvedor e tráfego de saída em busca de atividades suspeitas.

Clique aqui para uma lista das cinco principais empresas que combateram ataques cibernéticos.

Final Thoughts: Hardening Open-Source Dependencies

As ameaças na internet estão constantemente aumentando e se tornando mais sofisticadas. 

Com atacantes adotando novos vetores de ataque e mirando projetos com poucos recursos, torna‑se crucial para desenvolvedores, empresas e usuários não esperarem que a ameaça apareça antes de agir, mas sim tomar medidas proativas porque um elo fraco pode derrubar um sistema inteiro. 

É mantendo‑se informado sobre ameaças emergentes e auditando continuamente cadeias de suprimentos de software e monitorando ameaças que realmente podemos nos proteger contra os riscos cibernéticos em constante evolução.

Clique aqui para uma lista das cinco principais empresas públicas que pagaram atacantes cibernéticos.

Gaurav começou a negociar criptomoedas em 2017 e desde então se apaixonou pelo espaço de criptomoedas. Seu interesse por tudo relacionado a criptomoedas o transformou em um escritor especializado em criptomoedas e blockchain. Em breve, ele se viu trabalhando com empresas de criptomoedas e veículos de comunicação. Ele também é um grande fã do Batman.