SubQuery @subql/common · Exploração confirmada

Código malicioso em @subql/common 5.8.3 rouba credenciais e abre backdoor

· 1 min de leitura

A versão 5.8.3 do pacote npm @subql/common, publicada em 5 de outubro de 2026 após adulteração do workflow de CI do repositório subquery/subql, rouba credenciais de AWS, GitHub, Kubernetes e Vault e aceita comandos por shell reverso. O advisory GHSA-9333-3c4x-x3h5 foi publicado e a versão foi removida do npm por volta de 12:46 UTC, segundo a GMO Flatt Security, mas a dist-tag 'redteam' ainda aponta para a versão canário do atacante. Fixe a 5.8.2, remova a 5.8.3, bloqueie ci-artifacts.dev e rotacione credenciais de ambientes que instalaram ou importaram o pacote.

WhatsApp LinkedIn X
AltaCadeia de suprimentosExploração confirmadaCorreção parcial
Neste artigo
  1. O que aconteceu
  2. Por que importa
  3. O que fazer
  4. Para o time técnico
  5. Linha do tempo
  6. Fontes

O que aconteceu

A versão 5.8.3 do pacote npm @subql/common, do ecossistema SubQuery, foi publicada com código malicioso em 5 de outubro de 2026. O atacante adulterou o fluxo oficial de publicação e o npm registrou o release como Trusted Publisher. O código rouba credenciais e permite controle remoto; a versão foi removida do npm no mesmo dia.

Incidentes como este, todo dia de manhã

Os que pedem ação primeiro, em 3 minutos de leitura.

Grátis · 1 e-mail por dia, de manhã · sem spam, cancele em 1 clique

Por que importa

A biblioteca é dependência compartilhada: a StepSecurity identificou 19 de 77 pacotes @subql com caminho para a versão maliciosa, sem novo release dos pacotes pais. Segundo o advisory do GitHub, qualquer computador com o pacote instalado ou em execução deve ser considerado totalmente comprometido, com credenciais de nuvem, tokens e chaves expostos.

O que fazer

Fixe @subql/common na 5.8.2 e bloqueie a 5.8.3 e o domínio ci-artifacts.dev nos controles de dependência. Inventarie máquinas e pipelines que instalaram ou importaram o pacote, remova-o e rotacione todas as credenciais (AWS, GitHub, SSH, Kubernetes, Vault, arquivos .env e .npmrc) de outro computador. Verifique a persistência: processo manifest-cache.js --warm e o arquivo /tmp/tmp.ts018051808.lock.

Para o time técnico

Afetados
SubQuery @subql/common (npm) e pacotes downstream @subql/* · @subql/common 5.8.3 e 5.8.3-onf-rt1 (canário do atacante, sem payload recuperado; a dist-tag 'redteam' ainda aponta para ela). Downstream que resolve para 5.8.3: @subql/cli 6.6.3 e @subql/node-core 19.3.1 (~5.8.2), @subql/query 2.25.0 (~5.8.1), @subql/node-ethereum 6.5.0 (^5.8.2). Caminhos indiretos via @subql/node-core: @subql/node 6.4.6, @subql/node-solana 6.3.5, @subql/node-starknet 6.1.0 (StepSecurity). Fixar o pacote pai não fixa suas dependências.
Exploração
Código malicioso confirmado por análise estática; Amazon Inspector creditado como finder no OSV (MAL-2026-17571), StepSecurity decodificou o payload sem executá-lo e GMO Flatt Security detalhou infostealer e agente C2. Sem relato de exploração contra vítimas específicas nas fontes. Advisory GHSA-9333-3c4x-x3h5 e registro OSV publicados em 5 de outubro de 2026.
Correção
Versão segura conhecida: @subql/common 5.8.2 (npm 'latest'). A 5.8.3 foi removida do npm por volta de 12:46 UTC de 5 de outubro (estimativa da GMO Flatt Security pelo timestamp do registro). Mitigações: bloquear ci-artifacts.dev, remover 5.8.3 e 5.8.3-onf-rt1, fixar a árvore de dependências, rotacionar credenciais de outro computador, encerrar processos manifest-cache.js --warm e considerar shell reverso ativo.
Vetor
Comprometimento do repositório GitHub subquery/subql: o atacante obteve acesso de push, adulterou .github/workflows/publish.yml para baixar https://ci-artifacts.dev/pkg/@subql-common-5.8.3.tgz e substituir o pacote legítimo, e publicou 5.8.3 via GitHub Actions OIDC (Trusted Publisher). Entrada: postinstall 'node ./dist/project/readers/manifest-cache.js' executa em todo npm install, sem require; o payload também inicia na importação, pois dist/index.js re-exporta manifest-cache e ManifestCacheReader.warm spawna processo node desanexado com --warm. Desabilitar scripts de instalação não basta (StepSecurity).
Mais detalhes
Payload (Amazon Inspector): ~60 KB em base64 (MANIFEST_CACHE_SEED) decodificados com XOR 0x5a e zlib.gunzipSync, avaliados via new Function; source map alterado para esconder o dispatcher. Comportamento (GMO Flatt Security): daemonização com processo desanexado e lock file; enumera e lê AWS SSM Parameter Store e Secrets Manager em todas as regiões; rouba tokens GitHub (GITHUB_TOKEN, PAT ghp_ e gho_), chaves SSH.env.npmrc, config Docker, Kubernetes e Vault; exclui ambientes em idioma russo; toolkit embutido com scripts AES-256-GCM; injeção em workflows do GitHub Actions; chamadas de API com AWS Signature V4; shell reverso. Linha do tempo UTC de 5/10/2026 (StepSecurity e Flatt): 11:23 branch chore/ci-audit-55 criada; 11:24:40 publicação de 5.8.3-onf-rt1; 11:52 commit 506863d '[release] 5.8.3' sob o nome Ian He <ian@onfinality.io>, sem assinatura GPG, enquanto commits legítimos anteriores são assinados (último em 1/4/2026); 11:56:29 publicação de 5.8.3; ~12:46 remoção do npm. StepSecurity abriu o issue #3047 no repositório SubQuery. CWE-506 no OSV. A 5.8.2 foi publicada em 20 de novembro de 2025.

Indicadores (IoCs)

  • ci-artifacts.dev
  • https://ci-artifacts.dev/pkg/@subql-common-5.8.3.tgz

Linha do tempo

  1. Advisory do GitHub e análises detalham o ataque ao ecossistema SubQuery.

Fontes 5 fontes

Receba o próximo amanhã de manhã

Um e-mail por dia com o que mudou, o que corrigir primeiro e como. Depois da inscrição você entra no feed completo.

Grátis · 1 e-mail por dia, de manhã · sem spam, cancele em 1 clique

Indique para o seu time

Quem cuida de segurança com você também devia receber.

LinkedIn X

Seu colega recebe um pedido de confirmação. Nada é enviado sem ele confirmar.

Ver todas as notícias

Leia também

Antes de sair: receba isso todo dia

A edição diária do HIFY Radar chega de manhã com os incidentes que pedem ação. Grátis.

Grátis · 1 e-mail por dia, de manhã · sem spam, cancele em 1 clique