EM ANDAMENTO
Resumo técnico
Plugin do NEXUS que verifica URLs contra a base colaborativa de phishing do PhishTank via endpoint checkurl, alimentando o Intelligence Hub com sinais de severidade. Consultas com cache local MySQL com TTL de 24h, aba dedicada com verificação manual, histórico paginado e configuração da API Key.
Escopo executado
- Registro:
plugin.jsonv1.0.0, ícone lucidealert-triangle,icon_bg #f97316,icon.svgpróprio;registerTab('phishtank','PhishTank','alert-triangle',tab.php,'Segurança & OSINT')+registerDoc('phishtank','PhishTank','alert-triangle',doc.md); semcronjob.json(plugin sob demanda). - Aba dedicada (Alpine.js, tema âmbar): 3 abas (Verificar URL / Histórico / Configurações); badge API Online/Offline no topo; 4 stats cards (Cache Total, Phishing, Seguras, Hoje) com barras proporcionais; verificação com resultado Phishing Confirmado! / URL Segura / Sem Confirmação (cards coloridos) + badges
cached/checked_at+ link externophish_detail_page; histórico paginado (URL/Status/Phish ID/Data) com Anterior/Próxima. - Configuração: API Key em
DB::setConfig('phishtank_settings'); guia "Como obter a API Key" (phishtank.com → endpointcheckurl.phishtank.com); aviso de free tier/rate limits. - API checkurl via cURL: POST
https://checkurl.phishtank.com/checkurl/comurl+format=json+app_key; UANEXUS-PhishTank/1.0; timeouts de conexão 4s e total 10s;IPRESOLVE_V4e SSL ativo; parse dein_database/verified/valid(booleans com fallback'y'/'n'); classificação:in_database && verified && valid→ malicious,in_database && verified && !valid→ safe, senão unknown. - Cache local MySQL: tabela
phishtank_cache(PKurl_hashSHA-256;url,status,in_database,verified,valid,phish_id,phish_detail_page,checked_at; índicesstatus/checked_at) comINSERT ... ON DUPLICATE KEY UPDATE; TTL de 24h; falha de instalação/escrita não quebra o painel (task_log). - Enricher do Intelligence Hub:
nx_intel_register_enricher('phishtank', ['url'], 'pt_intel_enrich', 39)— sinaisok/needs_key/error/skipped; sem chave →needs_key("API Key necessária"); orçamentoslice ≤ min(5, max_live_lookups × 2); severidade 90 (malicious) / 8 (demais); summary "Phishing confirmado [· verificado]" ou "Status: X";datacomstatus/verified/valid/phish_id. - Fast Responses:
/phishtank <URL>(argumento obrigatório) →phishtank_check. - API com 5 actions:
phishtank_stats(totais do cache +api_onlinecalculado só pela presença da chave — sem ping para evitar rate limit),phishtank_check(cache-first TTL 24h),phishtank_history(paginado, limit ≤ 100),phishtank_settingsephishtank_settings_save. - Filtro legado
pt_filter_task_readdesativado emplugin.php(comentado) — a injeção "### PhishTank — URLs de Phishing Confirmadas" (tabela URL/Verified/Valid/Phish ID, máx 5 URLs e 3 hits) permanece no código, mas a via atual de enriquecimento é o Intelligence Hub.
Stack e ferramentas
- PHP 8 backend (sem framework) + cURL (PhishTank checkurl API)
- Alpine.js + Tailwind CSS (aba dedicada no NEXUS)
- Plugin API interno (actions + enricher +
fastr.json+ cache MySQL +system_settings)
Tags
PhishTank, Phishing, URL, Reputação, OSINT, Intelligence Hub, Plugin NEXUS
Resultado operacional
- Phishing em um clique: URLs de tarefas/comentários viram sinais de severidade 90 no hub.
- Cache com TTL: consultas repetidas respondem do cache local sem gastar a cota do free tier.
- Sem chave? Sem ruído: o hub sinaliza "API Key necessária" e o fluxo da tarefa segue intacto.
- Confirmação verificada:
maliciousexigein_database + verified + validda base colaborativa. - Histórico navegável: cache paginado com status, phish_id e link de detalhe.
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 verifica URLs contra a base colaborativa de phishing do PhishTank via endpoint checkurl, alimentando o Intelligence Hub com sinais de severidade. Consultas com cache local MySQL com TTL de 24h, aba dedicada com verificação manual, histórico paginado e configuração da API Key.
Arquitetura e organização
- PHP 8
- cURL
- PhishTank 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.