Skip to content

gugacyber/PhishGuard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ PhishGuard — Advanced URL Threat Analysis

Ferramenta de detecção de phishing que analisa URLs em tempo real e retorna um score de risco baseado em múltiplos fatores de segurança.

Python Flask License Status Vercel

🔗 Live Demo: phishguard-ten-eta.vercel.app


📸 Preview

Página Inicial

PhishGuard Home

Resultado — Baixo Risco 🟢

Low Risk

Resultado — Alto Risco 🔴

High Risk


✨ Funcionalidades

  • 🔍 Análise instantânea de qualquer URL
  • 📊 Score de risco 0–100 com gauge animado
  • 🟢🟡🔴 3 níveis de risco: Low / Medium / High
  • 🔐 Verificação de HTTPS
  • 📅 Idade do domínio via WHOIS
  • 🧠 Entropia de Shannon para detectar domínios aleatórios
  • 🚨 Palavras-chave suspeitas (login, verify, secure, paypal…)
  • 🌐 Detecção de TLDs suspeitos (.xyz, .tk, .ml…)
  • 📝 Histórico de análises por sessão
  • 🌙 Dark mode completo
  • ⚡ Interface 100% responsiva

🧠 Como funciona o algoritmo

O score é calculado com base em fatores ponderados:

Fator Pontuação máxima
Ausência de HTTPS 15 pts
Domínio com menos de 30 dias 25 pts
Palavras-chave suspeitas 20 pts
Comprimento excessivo do domínio 10 pts
Quantidade de hífens 10 pts
Subdomínios excessivos 10 pts
Alta entropia (domínio aleatório) 10 pts
TLD suspeito 5 pts

Score ≥ 60 → Alto Risco | 30–59 → Médio Risco | < 30 → Baixo Risco


🗂️ Estrutura do Projeto

phishguard/
├── app.py                  # Backend Flask + motor de análise
├── requirements.txt        # Dependências Python
├── templates/
│   └── index.html          # Frontend (SPA)
└── static/
    ├── css/
    │   └── styles.css      # Design system completo
    ├── js/
    │   └── app.js          # Lógica frontend + gauge animado
    └── assets/
        └── favicon.svg     # Ícone SVG

🚀 Como rodar localmente

Pré-requisitos

  • Python 3.10+
  • pip

Instalação

# Clone o repositório
git clone https://github.com/seu-usuario/phishguard.git
cd phishguard

# Instale as dependências
pip install -r requirements.txt

# Inicie o servidor
python app.py

Acesse em: http://localhost:5000


🌐 Deploy no Vercel

O PhishGuard usa Flask (Python), que o Vercel suporta via Serverless Functions.

1. Adicione o arquivo vercel.json na raiz do projeto:

{
  "version": 2,
  "builds": [
    {
      "src": "app.py",
      "use": "@vercel/python"
    }
  ],
  "routes": [
    {
      "src": "/(.*)",
      "dest": "app.py"
    }
  ]
}

2. Instale a Vercel CLI e faça o deploy:

npm install -g vercel
vercel login
vercel --prod

⚠️ Nota: O histórico de sessão usa flask.session (cookie-based), o que funciona normalmente no Vercel. O WHOIS pode ter latência maior dependendo do domínio consultado.


🧪 Exemplos de teste

URL Resultado esperado
https://github.com 🟢 Baixo Risco
https://google.com 🟢 Baixo Risco
http://secure-banking-alert.tk/verify 🔴 Alto Risco
http://login-verify-paypal-secure.xyz/account/update 🔴 Alto Risco
http://meu-banco-seguro-verificacao.ml 🟡 Médio/Alto Risco

🛠️ Tech Stack

Backend

Frontend

  • HTML5 + CSS3 + Vanilla JavaScript
  • SVG animado para o gauge de risco
  • Design system com variáveis CSS (light/dark mode)

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Built for cybersecurity awareness
Development by Gustavo Viana

About

Ferramenta de detecção de phishing que analisa URLs em tempo real e retorna um score de risco baseado em múltiplos fatores de segurança.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors