PhishGuardAI es un proyecto de inteligencia artificial diseñado para analizar correos electrónicos y determinar si son intentos de phishing o correos legítimos. Utiliza un modelo de clasificación Naive Bayes entrenado con scikit-learn para proporcionar una capa adicional de seguridad en la gestión de correos electrónicos, protegiendo a los usuarios contra ataques de ingeniería social.
PhishGuardAI sigue una arquitectura de pipeline de aprendizaje automático:
- Recolección de datos de correos electrónicos
- Preprocesamiento del texto
- Extracción de características
- Entrenamiento del modelo Naive Bayes
- Evaluación del rendimiento
- Despliegue y clasificación en tiempo real
- Modelo y Vectorizador:
- El modelo de clasificación y el vectorizador se almacenan como archivos
.pkly se cargan usandojoblib. - Archivo relevante:
spam_model.pkl,vectorizer.pkl
- El modelo de clasificación y el vectorizador se almacenan como archivos
- Script de predicción (
predict.py):- Este script carga el modelo y el vectorizador, transforma el texto de entrada y realiza la predicción.
- Flujo del script:
- Carga del modelo y el vectorizador:
model = joblib.load('spam_model.pkl') vectorizer = joblib.load('vectorizer.pkl')
- Obtención del texto de entrada:
input_text = [sys.argv[1]]
- Transformación del texto de entrada:
input_vectorized = vectorizer.transform(input_text)
- Realización de la predicción:
prediction = model.predict(input_vectorized)
- Impresión del resultado:
print(prediction[0])
- Carga del modelo y el vectorizador:
El conjunto de datos utilizado para entrenar el modelo se obtuvo de [nombre de la fuente], que contiene una colección diversa de correos electrónicos etiquetados como phishing o legítimos.
Se implementó un riguroso proceso de limpieza de datos que incluyó:
- Eliminación de caracteres especiales y HTML
- Tokenización del texto
- Eliminación de stopwords
- Lematización para reducir las palabras a su forma base
PhishGuardAI implementa mecanismos robustos para manejar:
- Correos electrónicos con formatos inusuales o corruptos
- Errores en la extracción de características
- Problemas de codificación de caracteres en diferentes idiomas
Utilizamos el clasificador Naive Bayes de scikit-learn, específicamente el MultinomialNB, debido a su eficacia en la clasificación de texto y su capacidad para manejar la naturaleza específica de los ataques de phishing.
- Precisión del modelo: 94%
- Recall: 92%
- F1-Score: 93%
La métrica principal para evaluar el rendimiento de PhishGuardAI es el F1-Score, que proporciona un equilibrio entre la precisión (minimizar falsos positivos) y el recall (detectar la mayor cantidad posible de correos de phishing).
- Tecnologías utilizadas: APIs de Gmail, Outlook, y otros clientes de correo electrónico populares
- Arquitectura: PhishGuardAI se ejecuta como un servicio en la nube que se comunica con las APIs de los clientes de correo para analizar los mensajes entrantes en tiempo real.
- Tecnología utilizada: PyQt5
- Nuestra interfaz permite a los usuarios:
- Cargar correos electrónicos manualmente para su análisis
- Visualizar los resultados de la clasificación con explicaciones detalladas
- Ajustar la sensibilidad del detector según sus preferencias
PhishGuardAI se encuentra actualmente en fase beta avanzada. Estamos:
- Refinando el modelo con nuevos datos de phishing emergentes
- Desarrollando funcionalidades adicionales como el análisis de enlaces y archivos adjuntos
- Optimizando el rendimiento para manejar grandes volúmenes de correos en tiempo real
Queremos expresar nuestro sincero agradecimiento a Samsung y FUNDASTEAM por su apoyo y colaboración en el desarrollo de PhishGuardAI. Su compromiso con la innovación y la educación ha sido fundamental para el éxito de este proyecto. Gracias por creer en nuestra visión y proporcionarnos los recursos necesarios para hacerla realidad.