Skip to content

jpaullopes/phishlink-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PhishLink Analyzer

License: MIT Python 3.12+ Flask Security

API REST para deteccao de phishing em URLs utilizando Machine Learning. O servico extrai mais de 50 features de uma URL, incluindo padroes estruturais, caracteristicas de dominio e sinais do conteudo da pagina, e classifica como phishing ou legitima atraves de um modelo Gradient Boosting.


Funcionalidades

  • Classificacao de URLs como phishing ou legitima com score de confianca
  • 53 features engenheiradas: estrutura da URL, dominio e conteudo HTML
  • Endpoint para analise individual e em lote
  • Treinamento com K-Fold cross-validation e tuning via GridSearchCV

Tecnologias

Componente Tecnologia
Linguagem Python 3.12+
Framework Web Flask
ML scikit-learn (GradientBoostingClassifier)
Extracao de Features tldextract, BeautifulSoup4, Requests
Dados pandas, NumPy
Gerenciador de Pacotes uv

Como Usar

Pre-requisitos

  • Python 3.12 ou superior
  • uv (recomendado) ou pip

Instalacao

  1. Clone o repositorio:
git clone https://github.com/jpaullopes/phishlink-analyzer.git
cd phishlink-analyzer
  1. Crie o ambiente virtual e instale as dependencias:
uv venv
source .venv/bin/activate
uv pip install -e .
  1. Baixe o dataset do Kaggle:

    Phishing URL Dataset -- baixe Training.parquet e Testing.parquet e coloque em src/data/.

  2. Treine o modelo:

python src/core/train_model.py
  1. Inicie o servidor:
flask --app app run --host 0.0.0.0 --port 5000

A API estara disponivel em http://localhost:5000.


Exemplo de Uso

Para analisar uma URL, envie uma requisicao POST para o endpoint /analyze. Se quiser analisar em lote, envie uma requisicao POST para o endpoint /analyze/batch.

Exemplo:

curl -X POST http://localhost:5000/analyze \
     -H "Content-Type: application/json" \
     -d '{"url": "https://www.google.com"}'

Resposta:

{
  "url": "https://www.google.com",
  "analise_ml": {
    "previsao": "legitimate",
    "confianca": "98%"
  }
}

Licenca

Este projeto esta licenciado sob a licenca MIT. Veja o arquivo LICENSE para mais detalhes.

About

Uma API de análise de URLs em Python para detecção de phishing usando Machine Learning.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages