Alerta de segurança: CanisterSprawl e ataques à cadeia de suprimentos npm e PyPI em 2026

Escrito por
Jardeson Márcio
Jardeson Márcio é Jornalista e Mestre em Tecnologia Agroalimentar pela Universidade Federal da Paraíba. Com 8 anos de experiência escrevendo no SempreUpdate, Jardeson é um especialista...

CanisterSprawl: o worm invisível que transforma dependências em vetores de ataque na cadeia de suprimentos.

O ecossistema de software moderno depende de uma cadeia de suprimentos cada vez mais complexa, onde pequenas bibliotecas podem ter acesso direto a ambientes críticos de produção. Nesse cenário, surge o CanisterSprawl, um worm autopropagável identificado recentemente em campanhas de ataques à cadeia de suprimentos que afetam o npm e o PyPI.

O perigo não está apenas na infecção inicial, mas na capacidade do malware de se espalhar automaticamente entre pacotes, repositórios e pipelines de CI/CD. Pesquisadores da Socket e da StepSecurity observaram que a campanha combina técnicas tradicionais de roubo de tokens de desenvolvedor com automação baseada em IA para ampliar sua escala e persistência.

O resultado é um vetor de ataque que explora desde hooks de instalação até integrações com GitHub Actions, comprometendo credenciais sensíveis e expondo ambientes inteiros sem interação direta do atacante.

Como funciona o worm CanisterSprawl

O CanisterSprawl opera de forma silenciosa, aproveitando principalmente o mecanismo de scripts de pós-instalação (post-install hooks) presentes em ecossistemas como npm e PyPI.

Imagem malware BeaverTail em pacotes npm

Exploração de hooks de pós-instalação

O ponto de entrada mais comum do worm está em scripts executados automaticamente durante a instalação de dependências. Esses scripts permitem que pacotes executem código arbitrário após o download, e o malware se aproveita disso para:

  • Executar scripts ocultos em post-install hooks
  • Escanear variáveis de ambiente em busca de segredos
  • Coletar tokens npm, chaves SSH e credenciais de cloud
  • Inserir backdoors persistentes no ambiente local

Uma vez ativo, o CanisterSprawl não apenas coleta dados, mas também prepara o ambiente para propagação.

Exfiltração de dados para canisters ICP

Um diferencial técnico do CanisterSprawl é o uso de canisters do Internet Computer (ICP) como endpoint de exfiltração. Isso dificulta a detecção, já que o tráfego se mistura com requisições legítimas de blockchain.

Os principais dados coletados incluem:

  • tokens npm e tokens de autenticação de registries privados
  • Credenciais de serviços cloud (AWS, GCP, Azure)
  • Segredos armazenados em arquivos .env
  • Chaves de acesso de pipelines CI/CD como GitHub Actions

Essa abordagem transforma o malware em um sistema distribuído de coleta de dados difícil de bloquear com filtros tradicionais.

Pacotes npm afetados

Durante a análise da campanha, foram identificados pacotes comprometidos ou trojanizados com versões específicas:

  • @utils-logger/core v2.1.4
  • node-http-fetcher v3.0.7
  • react-dev-utils-lite v1.9.2
  • json-schema-validator-pro v0.4.8

Esses pacotes simulam utilitários comuns, o que aumenta a taxa de instalação acidental em projetos reais. Em todos os casos, o payload do CanisterSprawl era ativado durante a instalação inicial.

Além do roubo de dados: a autopropagação no PyPI e GitHub

O aspecto mais preocupante do CanisterSprawl não é apenas o roubo de dados, mas sua capacidade de autopropagação entre ecossistemas diferentes.

Criação automática de pacotes infectados

Após comprometer um ambiente de desenvolvedor, o malware tenta:

  • Publicar novos pacotes no npm com versões incrementadas
  • Criar pacotes equivalentes no PyPI com nomes semelhantes
  • Copiar dependências legítimas e injetar código malicioso
  • Reutilizar tokens npm roubados para autenticação automática

Esse comportamento cria um efeito de “multiplicação” que acelera a disseminação da ameaça.

Exploração de GitHub Actions e prt-scan

Outro vetor explorado envolve workflows de CI/CD, especialmente quando mal configurados com permissões excessivas.

O ataque conhecido como prt-scan explora o evento pull_request_target no GitHub Actions, permitindo execução de código em contexto privilegiado. Com isso, o CanisterSprawl consegue:

  • Executar scripts em ambientes de build com acesso a segredos
  • Capturar variáveis de ambiente sensíveis
  • Persistir em pipelines automatizados
  • Exfiltrar dados diretamente durante o build

Esse tipo de abuso reforça a importância de revisar cuidadosamente permissões em workflows automatizados.

O papel dos roteadores de IA e proxies maliciosos

Uma das evoluções mais sofisticadas observadas nesse tipo de malware PyPI é o uso de componentes baseados em IA para disfarçar comportamento malicioso.

Pacotes como kube-health-tools foram identificados utilizando proxies de LLM (large language models) para:

  • Gerar código aparentemente legítimo sob demanda
  • Injetar payloads apenas em determinados contextos
  • Evitar detecção por análise estática tradicional
  • Alterar comportamento com base no ambiente de execução

Esses “roteadores de IA” funcionam como camadas intermediárias que decidem quando ativar componentes maliciosos, dificultando a análise por ferramentas convencionais de segurança.

Além disso, o uso de proxies dinâmicos permite que o malware adapte suas técnicas conforme o ambiente, tornando a detecção ainda mais complexa.

Conclusão e boas práticas de defesa

O surgimento do CanisterSprawl reforça uma tendência clara: ataques à cadeia de suprimentos estão se tornando mais automatizados, adaptativos e difíceis de detectar. O uso combinado de scripts de instalação, IA e autopropagação cria um cenário de risco elevado para qualquer organização que dependa de npm, PyPI ou pipelines modernos de CI/CD.

Para reduzir a exposição, algumas práticas são essenciais:

  • Ativar autenticação em dois fatores (2FA) em contas npm e PyPI
  • Revisar cuidadosamente dependências e scripts de instalação
  • Evitar execuções automáticas de post-install hooks sem auditoria
  • Rotacionar regularmente tokens npm e chaves de acesso
  • Monitorar e restringir permissões em GitHub Actions
  • Manter segredos fora de repositórios e arquivos .env
  • Implementar ferramentas de análise de dependência e SBOM

Em ambientes modernos, segurança não é apenas uma camada adicional, mas parte fundamental do ciclo de desenvolvimento.

Compartilhe este artigo
Jardeson Márcio é Jornalista e Mestre em Tecnologia Agroalimentar pela Universidade Federal da Paraíba. Com 8 anos de experiência escrevendo no SempreUpdate, Jardeson é um especialista em Android, Apple, Cibersegurança e diversos outros temas do universo tecnológico. Seu foco é trazer análises aprofundadas, notícias e guias práticos sobre segurança digital, mobilidade, sistemas operacionais e as últimas inovações que moldam o cenário da tecnologia.