Case Study
PhishLens — Detector de URLs de Phishing (CLI)
Ferramenta de linha de comando para detecção de URLs de phishing, combinando heurísticas com Threat Intelligence (Google Safe Browsing — opcional), gerando um score explicável (0–100) e classificação objetiva: SAFE, SUSPICIOUS ou DANGEROUS.
Resumo (executivo)
- Problema: links maliciosos chegam ao usuário antes da validação
- Solução: análise por camadas + score explicável + TI real (opcional)
- Entrega: CLI (URL única ou lote) + export JSON
Capacidades
- Detecção de padrões comuns de phishing (técnicas e sinais)
- Typosquatting / homoglyph (ex.: g00gle.com)
- Encurtadores, IP-host, portas incomuns, subdomínios abusivos
- Threat Intel opcional via Google Safe Browsing
- Score 0–100 com justificativas (explainable)
Threat scenario
Em rotinas de suporte/segurança, é comum receber URLs via e-mail/chat. O risco é o usuário clicar antes de uma triagem adequada. O PhishLens foi pensado para reduzir tempo de decisão e gerar uma saída padronizada (incluindo JSON) para automação e registro de evidências.
- Entrada: URL (individual) ou arquivo
.txt(lote) - Saída: score, classificação e indicadores que justificam o resultado
Como funciona
1) Análise estrutural
- Comprimento excessivo
- Caracteres codificados/suspeitos
- Padrões de ofuscação comuns
2) Domínio & reputação
- TLDs frequentemente abusados
- Encurtadores de URL
- Hosts baseados em IP
- Portas não padrão
3) Typosquatting / homoglyph
- Similaridade com domínios legítimos
- Normalização: 0→o, 1→l, rn→m
- Heurísticas para reduzir falsos positivos
4) Threat intelligence (opcional)
- Consulta ao Google Safe Browsing
- Retorna sinais como phishing/malware/engenharia social
- Sem API? O motor heurístico continua funcionando
Score & classificação
O score final (0–100) soma pontos por indicador detectado e retorna justificativas claras. Isso facilita explicar o “porquê” de uma URL ser considerada suspeita.
Tabela de risco
- 0 – 34: SAFE
- 35 – 69: SUSPICIOUS
- 70 – 100: DANGEROUS
Saídas
- Classificação
- Score
- Indicadores / motivos
- Export JSON (para integração)
Como usar
Exemplo de execução via CLI:
$ python -m phishlens https://example.com
CLI
Limitações e próximos passos
Limitações (esperadas)
- Heurísticas podem gerar falsos positivos em casos borderline
- Threat Intel depende de API key/configuração
- Detecção não substitui investigação completa (contexto importa)
Roadmap
- Melhorar explicações (mensagens mais acionáveis)
- Adicionar testes automatizados e casos de regressão
- Padronizar schema JSON e versionamento
- Adicionar modo “report” (sumário + evidências)