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
Ferramentas/GitHubGitHub/dhawaldesai/agentic-ioc-scanner
Gerenciamento de Indicadores de Comprometimento (IOC)Análise EstáticaScanners de VulnerabilidadesAnálise de CódigoAnálise de MalwareInteligência de AmeaçasSegurança da Cadeia de SuprimentosPapers e PesquisaAprendizado e Educação

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 →
Resposta a Incidentes
Recursos Curados
GitHubdhawaldesai/agentic-ioc-scanner

agentic-ioc-scanner

Scanner de IOC para ferramentas de codificação de IA agentic — detecta Mini Shai-Hulud, Gemini CLI RCE, Cursor CVE-2026-26268 e DPRK PromptMink.

Ver Repositório
2há 3 mesesAinda não revisado
Compartilhar

agentic-ioc-scanner

Scanner de IOC para ferramentas de IA agentivas — detecta Mini Shai-Hulud, Gemini CLI RCE, Cursor CVE-2026-26268 e DPRK PromptMink.

Um kit de deteção para comprometimento de assistentes de codificação de IA agentivos (Claude Code, Gemini CLI, Cursor) e das dependências que eles puxam para os seus repositórios. Onze verificações em injeção de hooks, configurações de RCE, dependências maliciosas, backdoors em git hooks e adulteração de workflows de CI. A lista de IOC é externalizada — adicionar novos indicadores não requer alterações no código.

Post do blogue complementar: When the Tool Fights Back.

O que está incluído

1. Scanner de IOC (scanner/ais.sh)

Onze verificações, cada uma com um What: (propósito) e Fix: (correção) inline, impressos abaixo do cabeçalho da secção para que o relatório seja autoexplicativo. A lista de IOC reside em scanner/iocs.txt (versionada; pode ser substituída com ).

IOC_FILE=/path/to/iocs.txt
§VerificaçãoAmeaça coberta
1Injeção de hook SessionStart do Claude Code em qualquer settings.json (baseado em jq, baixo FP)Persistência do Mini Shai-Hulud
2Assinaturas de dropper em runtime Bun em setup.mjsEstágio de instalação do Mini Shai-Hulud
3Payloads ofuscados execution.js — tamanho mais sinal de ofuscação (linha única, base64, eval(atob(, child_process)Roubador de credenciais do Mini Shai-Hulud
4Ficheiros de bloqueio de malware em $TMPDIR (nomes obtidos da lista de IOC)Sentinela do Mini Shai-Hulud
5Scripts preinstall em package.json referenciando nomes de ficheiros dropperPonto de entrada genérico de worm na cadeia de suprimentos
6Commits escritos por IA que tocam em .github/workflows/ (filtro de lista de permissões de e-mail)Adulteração de CI por identidade de agente IA comprometida
7Ficheiros de configuração .gemini/ com padrões de meta-carateres de shellGemini CLI RCE CVSS 10.0 (pré-v0.39.1)
8Configurações AGENTS.md e .cursor/ do Cursor referenciando hooks git / repositórios nusCursor CVE-2026-26268
9Hooks Git post-checkout / post-merge / post-rewrite / pre-commit contendo primitivas de fetch-and-execute, além de core.hooksPath redirecionado para fora da lista de permissões seguraCVE-2026-26268 primitiva exec + sequestro genérico de hook
10Pacotes instalados globalmente e localmente node_modules referenciados cruzadamente com a lista de IOCConjunto SAP CAP do Mini Shai-Hulud, DPRK PromptMink, futuros pacotes maliciosos
11

Uso:

root@kitploit:~
bash scanner/ais.sh
# Introduza a pasta do seu projeto quando solicitado

# Lista personalizada de IOC:
IOC_FILE=./my-iocs.txt bash scanner/ais.sh

# Caminho personalizado do relatório (predefinição: ./agentic-ioc-scan-YYYYMMDD-HHMMSS.log):
REPORT_FILE=/var/log/agentic-scan.log bash scanner/ais.sh

Saída

  • Os resultados são transmitidos para o terminal (coloridos) e para um ficheiro de relatório em texto simples (agentic-ioc-scan-YYYYMMDD-HHMMSS.log por predefinição, com ANSI removido via tee → sed).
  • Etiquetas de gravidade: [CRITICAL] (agir agora), [WARNING] (provavelmente malicioso — verificar), [REVIEW] (uso legítimo possível — confirmar), [OK] (limpo).
  • As descobertas de conteúdo de ficheiro incluem o número da linha onde o indicador foi encontrado (caminho:linha). Secções que mostram números de linha: §1 hook, §2 assinatura Bun, §3 sinal de ofuscação, §5 chave preinstall, §7 meta-carater Gemini, §8 referência AGENTS.md a git hook, §9 conteúdo suspeito de hook.
  • A descoberta de remoto de worm §11 reporta adicionalmente a linha .git/config infratora mais o URL remoto correspondente, para que possa ir diretamente à entrada que precisa de ser removida.
  • O redirecionamento core.hooksPath (§9) reporta o caminho absoluto para o .git/config do repositório para que a reatribuição seja auditável.
  • Consciente de worktrees: quando um .git é um ficheiro (contendo gitdir: …), o diretório git real é resolvido antes da inspeção.

Exemplo de descoberta

root@kitploit:~
[CRITICAL] Repo points to known worm exfil name
           Repo:   /home/dev/projects/myrepo
           Config: /home/dev/projects/myrepo/.git/config:9
           URL:    https://github.com/dhawaldesai/A-Mini-Shai-Hulud-has-Appeared

[CRITICAL] Malicious hook: /home/dev/projects/myrepo/.claude/settings.json:3
[CRITICAL] Suspicious git post-checkout hook: /home/dev/projects/myrepo/.git/hooks/post-checkout:2

Atualização de IOCs

Edite scanner/iocs.txt e aumente o cabeçalho # version:. O formato é TYPE|VALUE|NOTES. Tipos suportados:

TipoUsado porExemplo
FILENAME§5 padrão preinstallsetup.mjs
LOCKFILE§4 verificação de ficheiro de bloqueiotmp.987654321.lock
NPM§10 verificação de pacotes globais + locais@validate-sdk/v2
PYPI§10 (verificação cruzada quando um scanner PyPI é adicionado)lightning
HOOKSTRING§1 correspondência de conteúdo de hook (atualmente codificado inline)SessionStart
REPONAME§11 correspondência de remoto gitA Mini Shai-Hulud has Appeared
EMAILSUBSTRINGreservado para correspondência futura de IOC de autor de commit—
CONFIGPATHlista de referência de caminhos de configuração de ferramentas agentivas.claude/settings.json

Nenhuma alteração de código é necessária quando novos IOCs surgem — o scanner lê-os no arranque e imprime a versão carregada no banner.

Dependências

Necessário: bash, find, grep, awk, sed, git. Opcional: jq (preferido para §1 — recai para heurística grep se ausente), npm (necessário para §10 verificação de pacotes globais; a secção é ignorada silenciosamente se não estiver disponível).

2. Scanner de Versão de Pacote Afetado (scanner/pkg_version_check.sh)

Complementar ao scanner de IOC. Lê um CSV de pares package,version afetados (por exemplo, o feed IOC do Mini Shai-Hulud em ~/Downloads/Mini Shai-Hulud - Sheet1.csv — 633 pares de pacote/versão npm) e verifica se aparecem em:

  1. Um diretório de projeto local fornecido pelo utilizador — verifica package.json, package-lock.json, yarn.lock, pnpm-lock.yaml e node_modules/<pkg>/package.json instalados. Manifestos PyPI (requirements.txt, poetry.lock, Pipfile.lock) também são verificados quando o CSV contém nomes sem âmbito.
  2. Os repositórios GitHub do utilizador — via CLI gh: pesquisa de código em tipos de ficheiro de bloqueio, depois validação de versão exata através da API SBOM do grafo de dependências (/repos/{owner}/{repo}/dependency-graph/sbom).

Modelo de gravidade: correspondência exata pkg@versão num ficheiro de bloqueio, node_modules/ ou SBOM → [CRITICAL]. Especificador de intervalo (^1.2.3, ~1.2.3, >=…) que possa incluir a versão afetada → [REVIEW]. Correspondência de nome de pacote sem confirmação de versão → [REVIEW]. A saída é transmitida para o terminal e para ./shai-hulud-pkg-scan-YYYYMMDD-HHMMSS.log (com ANSI removido), com um resumo de distribuição de gravidade no final.

Uso:

root@kitploit:~
# Interativo — solicita o diretório do projeto
bash scanner/pkg_version_check.sh

# Totalmente scriptado (substituições por variáveis de ambiente)
PROJECT_DIR=/path/to/project \
  IOC_CSV="$HOME/Downloads/Mini Shai-Hulud - Sheet1.csv" \
  REPORT_FILE=/var/log/pkg-scan.log \
  bash scanner/pkg_version_check.sh --skip-node-modules

Formato CSV: col1 = nome do pacote (nomes com âmbito como @scope/pkg suportados), col2 = versão afetada exata. Uma linha de cabeçalho é detetada automaticamente e ignorada. Substitua o caminho com IOC_CSV=….

Dependências: bash, find, grep, awk, sed. Opcional: jq (melhora a precisão da análise de node_modules/<pkg>/package.json), gh (necessário para a fase GitHub — a fase é ignorada com uma mensagem clara se ausente ou não autenticado).

Limitações conhecidas:

  • A pesquisa de código GitHub ignora ficheiros de bloqueio >384KB e apenas indexa branches predefinidas — o caminho SBOM é a verificação autoritária.
  • A fase GitHub está limitada por taxa (10 req/min autenticado); limitada a ~5 pacotes por 7s, pelo que um CSV completo de 633 linhas leva ~22 minutos contra o GitHub. Execute primeiro as verificações locais, a fase GitHub separadamente.
  • A análise do ficheiro de bloqueio é baseada em grep, não totalmente analisada — formatação profundamente aninhada ou invulgar pode produzir falsos negativos. O seguimento de maior valor é a análise do ficheiro de bloqueio baseada em jq.
  • A API SBOM requer que o grafo de dependências do repositório esteja ativado e indexado; repositórios sem ele recaem para [REVIEW].

3. Política de Segurança do Claude Code (claude-code-policy/)

Camada de prevenção para o Claude Code, complementando a camada de deteção acima.

  • Bloqueia a execução de hooks ao nível do projeto (allowManagedHooksOnly)
  • Bloqueia escritas em .claude/settings.json
  • Bloqueia a execução de padrões conhecidos de droppers
  • Bloqueia comandos curl, wget e bun do uso de ferramentas do agente

Instalação:

root@kitploit:~
# Copiar definições geridas (não podem ser substituídas por projetos)
cp claude-code-policy/managed-settings.json ~/.claude/managed-settings.json

# Copiar o hook PreToolUse
mkdir -p ~/.claude/hooks
cp claude-code-policy/hooks/block_shai_hulud.py ~/.claude/hooks/
chmod +x ~/.claude/hooks/block_shai_hulud.py

Roteiro / lacunas conhecidas

  • Equivalente global PyPI ao §10 (atualmente apenas npm ls -g está ligado).
  • Hook pre-receive do lado do servidor para rejeitar pushes que adicionem ficheiros .claude/settings.json, .vscode/tasks.json ou .gemini/ de autores não permitidos.
  • Integração opcional com proteção de push GitHub / Advanced Security.

Referências

  • When the Tool Fights Back — análise complementar
  • Sophos: Ataque à cadeia de suprimentos Mini Shai-Hulud em pacotes npm SAP
  • Mend.io: Shai-Hulud ataca SAP — worm de cadeia de suprimentos arma Claude Code
  • Wiz: Cadeia de suprimentos Mini Shai-Hulud em npm SAP
  • Novee Security: Google Gemini CLI RCE — aviso CVSS 10.0
  • The Hacker News: Google corrige Gemini CLI CI/CD RCE CVSS 10 (também cobre Cursor CVE-2026-26268)
  • ReversingLabs: PromptMink — malware DPRK inserido na base de código via Claude
  • Endor Labs: Mini Shai-Hulud regressa — 42 pacotes npm maliciosos com falsos emblemas Sigstore no ataque ao ecossistema @antv

Contribuição

Issues e PRs bem-vindos — particularmente para novas submissões de IOC (adicionar a scanner/iocs.txt e aumentar o cabeçalho da versão), raízes de verificação adicionais específicas de plataforma e padrões de deteção para ferramentas agentivas adjacentes (Continue, Cody, Codex CLI, Aider).

Licença

MIT

Baixar ferramenta
Remotos Git correspondentes a nomes conhecidos de repositórios de exfiltração de worm (Shai-Hulud, A Mini Shai-Hulud has Appeared)
Sinal de comprometimento confirmado