Imagem de capa do projeto: NEXUS LeakIX EM ANDAMENTO

Resumo técnico

Plugin do NEXUS que varre vazamentos e serviços expostos na LeakIX a partir de IPs e domínios detectados em tarefas e comentários. O enricher do Intelligence Hub consulta a API oficial com cache local de 24h, calcula score de risco e devolve sinais estruturados ao painel Intel; a aba traz busca Lucene-like, lookup de host com force refresh e histórico reexecutável.

Escopo executado

  • Registro: plugin.json v1.0.0, icon_bg #DC2626, ícone lucide droplets e icon.svg próprio (sem is_core — plugin adicional); registerTab('leakix-scan','LeakIX','droplets',tab.php,'Threat Intel'), registerDoc e registerModal('leakix-scan',modals.php) (sem modais dedicados — interface toda na aba).
  • Tabelas via leakix_ensure_tables(): leakix_searches (query VARCHAR(512), scope default leak, results_json LONGTEXT, result_count, created_at, índices por data e query) e leakix_hosts (ip VARCHAR(45) PK, hostname, services_json/leaks_json LONGTEXT, service_count, leak_count, risk_score TINYINT UNSIGNED, raw_response, last_checked, índice por last_checked) — InnoDB, utf8mb4.
  • API LeakIX via cURL (https://leakix.net): header api-key: <KEY>, Accept: application/json, User-Agent NEXUS-LeakIX/1.0, timeouts 10s de conexão / 30s de resposta; endpoints GET /search?q=&scope=leak|service&page= e GET /host/:ip; 401/403 mapeados para "API Key inválida ou sem permissão".
  • Extração de alvos no texto: IPv4 e IPv6 (regex + FILTER_VALIDATE_IP excluindo ranges privados/reservados) e domínios (filtra TLDs de código — php, json, md, html etc. — e hosts conhecidos).
  • Score de risco padronizado: min(100, leaks × 25 + min(40, services × 5)) — 0–100 por host.
  • Cache local resiliente com TTL configurável (padrão 86400s / 24h): leakix_lookup_host() responde do cache (cached: true) antes de qualquer chamada remota; force ignora o cache; busca e host são persistidos nas duas tabelas.
  • API com 10 actions: leakix_status (stats + key mascarada + link de docs), leakix_dashboard (10 buscas recentes + top 10 hosts de risco), leakix_search, leakix_host, leakix_services, leakix_history (limite 1–50), leakix_enrich_task (enriquece uma tarefa sob demanda), leakix_settings_get (com howto de 4 passos), leakix_settings_save e leakix_test_connection.
  • Enricher do Intelligence Hub: nx_intel_register_enricher('leakix-scan', ['ip','domain'], 'leakix_intel_enrich', 42) — signals com status ok/error/skipped/needs_key, severity = score de risco, respeita o orçamento max_live_lookups e usa o cache para IPs além do orçamento; domínios viram até 5 sinais leves sem lookup.
  • Fast Responses: manifesto fastr.json com /leakix (argumento q obrigatório, scope=leak fixo), action leakix_search.
  • Sob demanda: cronjob.json com jobs: [] (nenhuma rotina periódica necessária); sem CLI.
  • Interface: aba Alpine.js (tab.php, 428 linhas) com badge "API Key OK / Sem API Key" (sem key redireciona à aba Configurações), cards de stats (Buscas, Hosts em cache, Scope default, TTL), busca Lucene-like (ex.: +protocol:http +country:BR) com tabela de resultados, aba Host com lookup, force refresh, badge de risco e JSON cru de services/leaks, histórico reexecutável e painel de configuração com teste de conexão.
  • Sem API Key o plugin não falha: detecta IPs/domínios no texto, sinaliza needs_key no Intel e na aba, e sugere complemento com Shodan/Censys/CrowdSec (soft note).
  • Legado: leakix_filter_task_read/leakix_filter_comment_read @deprecated (no-op) — o enriquecimento automático migrou para o Intelligence Hub (core/intel.php).

Stack e ferramentas

  • PHP 8 backend (sem framework) + MySQL 8 (tabelas leakix_searches e leakix_hosts)
  • LeakIX API via cURL (leakix.net/search + /host/:ip, auth por header api-key)
  • Alpine.js + Tailwind CSS (aba do painel) + Plugin API interno (tabs/actions + fastr.json + Intel Hub)

Tags

LeakIX, Vazamentos, Serviços Expostos, Threat Intelligence, Intelligence Hub, Plugin NEXUS

Resultado operacional

  • Varredura integrada: IPs e domínios citados em tarefas e comentários viram sinais do Intelligence Hub com dados reais da LeakIX.
  • Funciona sem API Key: detecta os alvos e sinaliza needs_key na aba e no Intel em vez de falhar — basta configurar a key depois.
  • Score de risco padronizado: 0–100 calculado a partir de leaks e serviços expostos, com badge colorido na aba e severidade nos sinais.
  • Cache 24h configurável: hits respondem instantaneamente sem tráfego para leakix.net; force refresh na aba.
  • Complementar por design: notas soft orientam correlação com Shodan, Censys e CrowdSec.
  • Sob demanda: sem cron nem CLI.

Andamento no GitHub (issues)

Painel em tempo real com as issues mais recentes do repositório.

abertas (amostra): -- fechadas (amostra): -- base: -- ultimas issues

carregando andamento...

Resultados reais

Plugin do NEXUS que varre vazamentos e serviços expostos na LeakIX a partir de IPs e domínios detectados em tarefas e comentários. O enricher do Intelligence Hub consulta a API oficial com cache local de 24h, calcula score de risco e devolve sinais estruturados ao painel Intel; a aba traz busca Lucene-like, lookup de host com force refresh e histórico reexecutável.

Arquitetura e organização

Execução e operação

O projeto segue fluxo reprodutível de execução com validação técnica em ambiente de produção/similar.

Screenshots

Falar sobre este projeto

Aplique este modelo no seu ambiente e acelere a entrega com consistência técnica.