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

134há 7 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 →
Compartilhar
Ver Repositório

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.

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

🎯 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

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)

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]
Baixar ferramenta
  • Despejo de Segredos na Nuvem: usa sessões autenticadas para despejar segredos do AWS Secrets Manager, Google Secret Manager e Azure Key Vault
  • Criação de Repositórios: cria repositórios com "Shai-Hulud" na descrição para exfiltração
  • 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
  • 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)