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.jsonv1.0.0,icon_bg #DC2626, ícone lucidedropletseicon.svgpróprio (semis_core— plugin adicional);registerTab('leakix-scan','LeakIX','droplets',tab.php,'Threat Intel'),registerDoceregisterModal('leakix-scan',modals.php)(sem modais dedicados — interface toda na aba). - Tabelas via
leakix_ensure_tables():leakix_searches(query VARCHAR(512),scopedefaultleak,results_json LONGTEXT,result_count,created_at, índices por data e query) eleakix_hosts(ip VARCHAR(45)PK,hostname,services_json/leaks_json LONGTEXT,service_count,leak_count,risk_score TINYINT UNSIGNED,raw_response,last_checked, índice porlast_checked) — InnoDB, utf8mb4. - API LeakIX via cURL (
https://leakix.net): headerapi-key: <KEY>,Accept: application/json, User-AgentNEXUS-LeakIX/1.0, timeouts 10s de conexão / 30s de resposta; endpointsGET /search?q=&scope=leak|service&page=eGET /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_IPexcluindo ranges privados/reservados) e domínios (filtra TLDs de código —php,json,md,htmletc. — 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;forceignora 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_saveeleakix_test_connection. - Enricher do Intelligence Hub:
nx_intel_register_enricher('leakix-scan', ['ip','domain'], 'leakix_intel_enrich', 42)— signals com statusok/error/skipped/needs_key,severity= score de risco, respeita o orçamentomax_live_lookupse usa o cache para IPs além do orçamento; domínios viram até 5 sinais leves sem lookup. - Fast Responses: manifesto
fastr.jsoncom/leakix(argumentoqobrigatório,scope=leakfixo), actionleakix_search. - Sob demanda:
cronjob.jsoncomjobs: [](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_keyno 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_searcheseleakix_hosts) - LeakIX API via cURL (
leakix.net/search+/host/:ip, auth por headerapi-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_keyna 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.
live feed
abrir issues no githubcarregando andamento...
não foi possivel carregar as issues agora. abra no github pelo link acima.
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
- PHP 8
- MySQL 8
- cURL
- LeakIX API
- Alpine.js
- Tailwind CSS
- Plugin NEXUS
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.