Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
OreNPMGuard — Defesa contra o Ataque à Cadeia de Suprimentos Shai-Hulud | Kitploit
Ferramentas/GitHubGitHub/rapticore/orenpmguard
Gerenciamento de Indicadores de Comprometimento (IOC)Scanners de VulnerabilidadesAnálise de CódigoAnálise de MalwareDevSecOpsInteligência de AmeaçasSegurança da Cadeia de SuprimentosAprendizado e EducaçãoResposta a Incidentes
GitHubrapticore/orenpmguard

OreNPMGuard

Defesa contra o Ataque à Cadeia de Suprimentos Shai-Hulud

1344há 8 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Ver Repositório
Compartilhar

OreNPMGuard - Scanner de Pacotes Shai-Hulud

Versão 2.0.0 - Sistema de Detecção e Prevenção Aprimorada Shai-Hulud 2.0

Uma ferramenta de segurança para detectar pacotes npm comprometidos nos ataques à cadeia de suprimentos Shai-Hulud (original de setembro de 2025 e Shai-Hulud 2.0 de novembro de 2025). Examina os arquivos package.json e package-lock.json para detectar versões exatas instaladas e Indicadores de Comprometimento (IoCs). Disponível em implementações Python e Node.js com configuração YAML centralizada para fácil manutenção.

Atualização mais recente: 24 de novembro de 2025 - mais de 738 pacotes comprometidos rastreados com 1.291 combinações exclusivas de pacote@versão. Agora detecta tanto as variantes originais do Shai-Hulud quanto as do Shai-Hulud 2.0.

Para varredura em múltiplos ecossistemas, consulte ore-mal-pkg-inspector.

🔗 Projetos Relacionados

Para varredura de pacotes maliciosos em múltiplos ecossistemas (npm, PyPI, Maven, RubyGems, Go, Cargo), consulte: ore-mal-pkg-inspector - Scanner abrangente de pacotes maliciosos com inteligência dinâmica de ameaças.

O OreNPMGuard concentra-se especificamente na defesa contra ataques Shai-Hulud para pacotes npm.

🚨 Sobre os Ataques Shai-Hulud

Shai-Hulud é um worm autorreplicante que começou a comprometer pacotes npm em 14 e 15 de setembro de 2025, representando o primeiro ataque autorreplicante bem-sucedido no ecossistema npm e um dos ataques à cadeia de suprimentos JavaScript mais graves já observados. Nomeado em homenagem aos vermes de areia gigantes da série Dune, de Frank Herbert, esse malware evoluiu para múltiplas variantes.

Baixar ferramenta

Shai-Hulud original (setembro de 2025)

O ataque original infectou mais de 200 pacotes npm (conforme rastreado nesta ferramenta), com múltiplas versões afetadas por pacote.

Shai-Hulud 2.0 (novembro de 2025) - NOVO

Uma nova variante surgiu em novembro de 2025 com mudanças significativas:

  • Mais de 738 pacotes comprometidos com 1.291 combinações exclusivas de pacote@versão
  • Mais de 25.000 repositórios afetados em cerca de 350 usuários exclusivos
  • Nova fase de execução: usa scripts preinstall (não apenas postinstall)
  • Novos arquivos de payload: setup_bun.js e bun_environment.js (além de bundle.js)
  • Persistência aprimorada: cria runners self-hosted chamados 'SHA1HULUD' e novos padrões de workflow do GitHub
  • Segmentação em múltiplas nuvens: coleta de credenciais AWS, Azure e GCP
  • Escalonamento de privilégio em Docker: tenta obter acesso root via contêineres privilegiados
  • Pacotes enviados entre 21 e 23 de novembro de 2025

Referência: Post do blog Wiz Research - Shai-Hulud 2.0

🦠 Como o Ataque Funciona

Paciente Zero: o ataque começou com o pacote rxnt-authentication publicado em 14 de setembro de 2025, às 17:58:50 UTC, pela conta npm "techsupportrxnt" comprometida.

Cadeia de Ataque (Shai-Hulud original):

  1. Instalação: o pacote malicioso executa o script postinstall que roda bundle.js (payload JavaScript de mais de 3 MB)
  2. Coleta de Credenciais: usa TruffleHog para procurar tokens do GitHub/npm, credenciais AWS/GCP/Azure, variáveis de ambiente e chaves de nuvem expostas por IMDS
  3. Exfiltração de Dados: cria o repositório público "Shai-Hulud" na conta GitHub da vítima com segredos roubados em data.json (duplamente codificado em base64)
  4. Persistência: injeta workflow malicioso do GitHub Actions (.github/workflows/shai-hulud-workflow.yml) que exfiltra segredos do repositório para webhook[.]site
  5. Migração de Repositórios: força repositórios privados de organizações a se tornarem repositórios pessoais públicos com o sufixo "-migration" e a descrição "Shai-Hulud Migration"
  6. Propagação do Worm: usa tokens npm roubados para injetar malware em outros pacotes mantidos pela vítima, incrementando números de versão e adicionando ganchos postinstall

Cadeia de Ataque (Shai-Hulud 2.0 - novembro de 2025):

  1. Instalação: o pacote malicioso executa o script preinstall que roda setup_bun.js ou bun_environment.js (novos arquivos de payload)
  2. Criação de Arquivos de Dados: cria os arquivos cloud.json, contents.json, environment.json e truffleSecrets.json
  3. Coleta de Credenciais: segmentação em múltiplas nuvens (AWS, Azure, GCP) usando SDKs oficiais, extraindo credenciais de arquivos de configuração, variáveis de ambiente e IMDS
  4. Registro de Runner Self-Hosted: registra a máquina infectada como runner self-hosted chamado 'SHA1HULUD'
  5. Injeção de Workflow no GitHub:
    • Cria .github/workflows/discussion.yaml com runner self-hosted para acesso de backdoor
    • Cria .github/workflows/formatter_*.yml para exfiltração de segredos (depois exclui o workflow para ocultar a atividade)
  6. Escalonamento de Privilégio em Docker: tenta obter acesso root via docker run --rm --privileged -v /:/host
  7. Despejo de Segredos na Nuvem: usa sessões autenticadas para despejar segredos do AWS Secrets Manager, Google Secret Manager e Azure Key Vault
  8. Criação de Repositórios: cria repositórios com "Shai-Hulud" na descrição para exfiltração

🎯 O Que É Roubado

  • Credenciais de Desenvolvimento: PATs do GitHub (ghp_*, gho_*), tokens de autenticação do npm
  • Credenciais de Nuvem: chaves e tokens de acesso AWS, GCP, Azure
  • Chaves de API: Atlassian, Datadog e outras credenciais de serviços
  • Informações do Sistema: variáveis de ambiente, detalhes do host, contas de usuário
  • Código-Fonte: repositórios privados tornados públicos ou clonados

📊 Escala do Impacto

Shai-Hulud original (setembro de 2025):

  • Mais de 200 pacotes comprometidos neste banco de dados de rastreamento (incluindo pacotes populares como @ctrl/tinycolor, ngx-bootstrap)
  • Várias contas GitHub comprometidas (a contagem exata varia conforme a fonte)
  • Repositórios públicos criados com o rótulo "Shai-Hulud Migration"
  • Desenvolvedores potencialmente afetados por meio de dependências de pacotes

Shai-Hulud 2.0 (novembro de 2025):

  • Mais de 738 pacotes comprometidos com 1.291 combinações exclusivas de pacote@versão
  • Mais de 25.000 repositórios afetados criados por cerca de 350 usuários exclusivos
  • Mais de 1.000 novos repositórios adicionados a cada 30 minutos nas primeiras horas da campanha
  • Afeta pacotes de grandes ecossistemas: Zapier, ENS Domains, PostHog, Postman, AsyncAPI e outros
  • Roubo de credenciais em múltiplas nuvens (AWS, Azure, GCP)
  • Tentativas de escalonamento de privilégio em Docker

Roubo de credenciais verificado (de cerca de 20.000 repositórios analisados):

  • 775 tokens de acesso GitHub comprometidos
  • 373 credenciais AWS expostas
  • 300 credenciais GCP expostas
  • 115 credenciais Azure expostas

⚠️ Aviso de Exfiltração Entre Vítimas

CRÍTICO: a Wiz Research confirmou que está ocorrendo exfiltração entre vítimas. Isso significa:

  • Segredos roubados de uma vítima podem ser publicados em repositórios de propriedade de uma vítima diferente e não relacionada
  • Se você encontrar dados suspeitos em seus repositórios GitHub, eles podem pertencer a outro usuário comprometido
  • Seus dados podem ter sido exfiltrados para repositórios que não pertencem a você
  • Isso complica a atribuição e a resposta a incidentes

Implicação para investigação: ao revisar dados exfiltrados em seus repositórios, verifique se os dados realmente pertencem à sua organização ou a outra vítima.

🔗 Conexão com Ataques Anteriores

Este ataque está diretamente ligado ao comprometimento s1ngularity/Nx de agosto de 2025, no qual o roubo inicial de tokens do GitHub possibilitou o ataque mais amplo à cadeia de suprimentos. Muitas vítimas iniciais do Shai-Hulud eram vítimas conhecidas do ataque s1ngularity. Pesquisadores de segurança também observam a integração de conteúdo gerado por IA na campanha, com confiança moderada de que um LLM foi usado para gerar o script bash malicioso.

📅 Linha do Tempo do Ataque

Campanha Shai-Hulud original:

  • 26 de agosto de 2025: ocorre o comprometimento s1ngularity/Nx (ataque precursor)
  • 14 de setembro de 2025, 17:58 UTC: primeiro pacote malicioso rxnt-authentication é publicado ("Paciente Zero")
  • 15 de setembro de 2025: ataque detectado e relatado por pesquisadores de segurança
  • 15 a 16 de setembro de 2025: o worm se espalha rapidamente pelo ecossistema npm
  • 16 de setembro de 2025: mais de 180 pacotes confirmados como comprometidos
  • 17 de setembro de 2025: esforços contínuos de monitoramento e limpeza
  • 18 de setembro de 2025: lançamento da v1.2.0 com 200 pacotes rastreados e ferramentas de prevenção aprimoradas

Campanha Shai-Hulud 2.0:

  • 21 a 23 de novembro de 2025: pacotes maliciosos enviados ao registro npm
  • 24 de novembro de 2025: ataque detectado e relatado pela Wiz Research e Aikido
  • 24 de novembro de 2025: lançamento da v2.0.0 com mais de 738 pacotes rastreados e recursos de detecção do Shai-Hulud 2.0
  • Em andamento: o GitHub continua removendo repositórios criados pelo atacante; o atacante continua criando novos repositórios

Início Rápido

Pré-requisitos

  • Scanner Python: requer PyYAML (pip install pyyaml)
  • Scanner Node.js: requer js-yaml (npm install js-yaml)

Scanner Python

root@kitploit:~
# Make executable
chmod +x shai_hulud_scanner.py

# Scan single package.json
python3 shai_hulud_scanner.py ./package.json

# Scan package-lock.json for exact versions
python3 shai_hulud_scanner.py ./package-lock.json

# Scan entire project directory
python3 shai_hulud_scanner.py ./my-project

# Scan current directory
python3 shai_hulud_scanner.py .

Scanner Node.js

root@kitploit:~
# Install dependencies first
npm install

# Make executable
chmod +x shai_hulud_scanner.js

# Scan single package.json
node shai_hulud_scanner.js ./package.json

# Scan package-lock.json for exact versions
node shai_hulud_scanner.js ./package-lock.json

# Scan entire project directory
node shai_hulud_scanner.js ./my-project

# Scan current directory
node shai_hulud_scanner.js .

O Que o Scanner Faz

✅ Detecção de Correspondência Exata: identifica pacotes com correspondência exata de versão em relação a versões comprometidas conhecidas

⚠️ Detecção de Risco Potencial: sinaliza pacotes com o mesmo nome, mas versões diferentes (podem ainda estar em risco)

🔍 Suporte a Dois Arquivos: examina tanto o package.json (dependências declaradas) quanto o package-lock.json (versões exatas instaladas)

📦 Cobertura Abrangente: a varredura do package-lock.json inclui dependências aninhadas e pacotes transitivos

🔄 Varredura Recursiva: examina automaticamente todos os subdiretórios, ignorando node_modules

📋 Relatórios Detalhados: mostra nomes de pacotes, versões, seções de dependências e versões afetadas

🔎 Detecção de IoCs: identifica Indicadores de Comprometimento tanto do Shai-Hulud original quanto do Shai-Hulud 2.0:

  • Shai-Hulud original: ganchos "postinstall": "node bundle.js", arquivos bundle.js, shai-hulud-workflow.yml
  • Shai-Hulud 2.0: ganchos "preinstall", setup_bun.js, bun_environment.js, workflows discussion.yaml, formatter_*.yml
  • Comum: referências a endpoints de exfiltração webhook.site, padrões de runner SHA1HULUD, escalonamento de privilégio em Docker

Exemplos de Saída

🚨 Crítico (Pacotes Comprometidos Encontrados):

root@kitploit:~
🚨 CRITICAL: Found 2 CONFIRMED compromised packages:
   • @ctrl/deluge v7.2.2 in dependencies
     Affected versions: 7.2.2, 7.2.1
   • ngx-bootstrap v19.0.3 in devDependencies
     Affected versions: 18.1.4, 19.0.3, 20.0.4, 20.0.5, 20.0.6, 19.0.4, 20.0.3

⚠️ Aviso (Divergência de Versão):

root@kitploit:~
⚠️ WARNING: Found 1 packages with different versions:
   • @ctrl/deluge v7.2.0 in dependencies
     Known affected versions: 7.2.2, 7.2.1

✅ Limpo:

root@kitploit:~
✅ No affected packages found

Se Pacotes Comprometidos Forem Encontrados

AÇÕES IMEDIATAS:

  1. Pare todo o trabalho de desenvolvimento nos projetos afetados
  2. Remova os pacotes comprometidos: npm uninstall <package-name>
  3. Limpe o cache do npm: npm cache clean --force
  4. Exclua o node_modules: rm -rf node_modules

ROTAÇÃO DE CREDENCIAIS:

  1. Tokens de Acesso Pessoal do GitHub
  2. Tokens de Autenticação do npm
  3. Chaves SSH
  4. Chaves de API (AWS, Atlassian, Datadog etc.)

INVESTIGAÇÃO:

  1. Verifique no GitHub a existência de repositórios públicos chamados "Shai-Hulud" ou com "Shai-Hulud" na descrição
  2. Procure repositórios com o sufixo "-migration" (Shai-Hulud original)
  3. Revise os logs de auditoria do GitHub para criação não autorizada de repositórios
  4. Verifique a existência de branches chamadas shai-hulud
  5. Procure por IoCs (Indicadores de Comprometimento):
    • Shai-Hulud original:
      • Procure por "postinstall": "node bundle.js" em arquivos package.json
      • Procure por arquivos bundle.js (mais de 3 MB, contêm payload malicioso)
      • Examine arquivos .github/workflows/shai-hulud-workflow.yml
    • Shai-Hulud 2.0:
      • Procure por ganchos "preinstall" em arquivos package.json
      • Procure por arquivos de payload setup_bun.js e bun_environment.js
      • Verifique a existência de arquivos de dados: cloud.json, contents.json, environment.json, truffleSecrets.json
      • Examine .github/workflows/discussion.yaml (com runner self-hosted)
      • Examine arquivos .github/workflows/formatter_*.yml
      • Verifique o nome de runner 'SHA1HULUD' em workflows
      • Procure por comandos de escalonamento de privilégio em Docker (docker run --rm --privileged -v /:/host)
    • Comum:
      • Verifique referências a webhook.site no código ou em logs de rede
      • Revise registros de runners self-hosted
      • Verifique credenciais de provedores de nuvem e acesso ao gerenciador de segredos

Configuração

Os dados dos pacotes são centralizados em affected_packages.yaml. Para adicionar novos pacotes comprometidos:

  1. Edite affected_packages.yaml
  2. Adicione entradas no formato:
    root@kitploit:~
    - name: "package-name"
      versions: ["1.0.0", "1.0.1"]
    
  3. Os scanners Python e JavaScript usarão automaticamente os dados atualizados

Essa abordagem centralizada elimina a necessidade de atualizar vários arquivos quando novas ameaças são descobertas.

Opções de Implantação

Para Equipes de Segurança

root@kitploit:~
# Create central scanning script
curl -O https://your-domain.com/shai_hulud_scanner.py
chmod +x shai_hulud_scanner.py

# Mass scan multiple projects
for dir in /projects/*/; do
    echo "Scanning $dir"
    python3 shai_hulud_scanner.py "$dir"
done

Integração CI/CD

root@kitploit:~
# GitHub Actions example
- name: Scan for Shai-Hulud packages
  run: |
    curl -O https://your-domain.com/shai_hulud_scanner.js
    npm install js-yaml
    node shai_hulud_scanner.js .
    if [ $? -ne 0 ]; then
      echo "SECURITY ALERT: Compromised packages detected!"
      exit 1
    fi

Implantação Empresarial

root@kitploit:~
# Add to security toolkit
cp shai_hulud_scanner.py /usr/local/bin/
cp shai_hulud_scanner.js /usr/local/bin/
cp affected_packages.yaml /usr/local/bin/

# Create alias for easy access
echo 'alias scan-shai="python3 /usr/local/bin/shai_hulud_scanner.py"' >> ~/.bashrc

Notas Técnicas

  • Plataformas-Alvo: Linux, macOS e Windows (o Shai-Hulud 2.0 adiciona suporte a Windows)
  • Tamanho do Payload: pacote JavaScript minificado de mais de 3 MB (original); novos payloads no Shai-Hulud 2.0
  • Autopropagação: primeiro worm autorreplicante bem-sucedido no ecossistema npm
  • Fases de Execução: o original usa postinstall; o Shai-Hulud 2.0 usa preinstall (aumenta a exposição em ambientes de build)
  • Dependências: Python requer PyYAML; Node.js requer js-yaml
  • Seguro: operações somente leitura, sem modificações em seus arquivos
  • Rápido: otimizado para varredura rápida de grandes bases de código
  • Preciso: baseado nas listas oficiais de IoCs de pesquisadores de segurança (Wiz Research, Aikido)
  • Componentes Gerados por IA: pesquisadores de segurança avaliam, com confiança moderada, que um LLM foi usado para gerar partes do script bash malicioso
  • Mecanismos de Persistência:
    • Original: workflows do GitHub Actions, branches maliciosas e migrações de repositórios
    • Shai-Hulud 2.0: runners self-hosted, workflows baseados em discussões, workflows de formatação
  • Integração com Nuvem:
    • Original: visa ambientes AWS e GCP usando bibliotecas SDK e endpoints IMDS
    • Shai-Hulud 2.0: segmentação em múltiplas nuvens (AWS, Azure, GCP) com SDKs oficiais, despejo de segredos de secret managers

Indicadores de Comprometimento (IoCs)

Shai-Hulud original (setembro de 2025):

  • Gancho postinstall malicioso: "postinstall": "node bundle.js" no package.json
  • Arquivo de payload: bundle.js (geralmente JavaScript minificado de mais de 3 MB)
  • Endpoint de exfiltração: referências a domínios webhook.site
  • Workflow do GitHub: .github/workflows/shai-hulud-workflow.yml para persistência
  • Nomeação de repositórios: repositórios com sufixos "Shai-Hulud" ou "-migration"
  • Indicadores de branch: branches chamadas shai-hulud contendo commits maliciosos

Shai-Hulud 2.0 (novembro de 2025):

  • Gancho preinstall malicioso: "preinstall": "node setup_bun.js" ou "preinstall": "node bun_environment.js" no package.json
  • Novos arquivos de payload: setup_bun.js, bun_environment.js (além de bundle.js)
  • Arquivos de dados: cloud.json, contents.json, environment.json, truffleSecrets.json
  • Workflows do GitHub:
    • .github/workflows/discussion.yaml (com runs-on: self-hosted e RUNNER_TRACKING_ID: 0)
    • .github/workflows/formatter_*.yml (correspondência de padrões, usado para exfiltração de segredos)
  • Runner self-hosted: runner chamado 'SHA1HULUD' registrado em máquinas infectadas
  • Escalonamento de privilégio em Docker: comandos como docker run --rm --privileged -v /:/host
  • Descrições de repositórios: repositórios com "Shai-Hulud" na descrição
  • Segmentação em múltiplas nuvens: tentativas de acesso ao AWS Secrets Manager, Google Secret Manager e Azure Key Vault
  • Endpoint de exfiltração: referências a domínios webhook.site (mesmo do original)

Comum a ambas as variantes:

  • Endpoint de exfiltração: referências a domínios webhook.site
  • Nomeação de repositórios: repositórios com "Shai-Hulud" no nome ou na descrição

📚 Documentação

  • Notas de Versão v1.2.0 - changelog completo e novos recursos
  • Avaliação de Segurança - análise de segurança abrangente
  • Guia de Prevenção - mais de 490 linhas de instruções de integração
  • Workflow do GitHub Actions - proteção automatizada para CI/CD

🛡️ Novidades na v2.0.0

Detecção do Shai-Hulud 2.0

  • Detecção de gancho preinstall: detecta scripts preinstall (fase de execução do Shai-Hulud 2.0)
  • Detecção de novos arquivos de payload: verifica setup_bun.js e bun_environment.js
  • Detecção de arquivos de dados: identifica cloud.json, contents.json, environment.json, truffleSecrets.json
  • Varredura de workflows do GitHub: detecta padrões de workflow discussion.yaml e formatter_*.yml
  • Detecção de runner self-hosted: identifica registros do runner 'SHA1HULUD'
  • Detecção de escalonamento de privilégio em Docker: verifica padrões de execução em contêineres privilegiados
  • Compatibilidade retroativa: continua detectando indicadores do Shai-Hulud original (setembro de 2025)

Banco de Dados de Pacotes Ampliado

  • Mais de 738 pacotes comprometidos rastreados (antes 200)
  • 1.291 combinações exclusivas de pacote@versão no banco de dados
  • Mais de 25.000 repositórios afetados identificados
  • Cerca de 350 usuários exclusivos comprometidos

Suíte de Prevenção Aprimorada (da v1.2.0)

  • Configurações em vários formatos: JSON, YAML, CSV para diferentes casos de uso
  • Integração com GitHub Actions: workflow automatizado de bloqueio para CI/CD
  • Script de bloqueio independente: prevention/block-shai-hulud.sh
  • Ferramentas de sincronização de pacotes: atualizações automatizadas de inteligência de ameaças

Capacidades de Detecção Aprimoradas

  • Varredura de IoCs tanto para as variantes originais quanto para o Shai-Hulud 2.0
  • Categorização de gravidade (Crítico/Alto/Médio) com identificação da variante
  • Inteligência de ameaças aprimorada com contagens de downloads e vetores de ataque
  • Detecção de credenciais em múltiplas nuvens: padrões de segmentação AWS, Azure, GCP

Suporte

Para problemas ou dúvidas:

  • Equipe de Segurança: [email protected]
  • Desenvolvimento: [email protected]