Skip to content

Repository files navigation

Guardian Bot

Bot de Telegram para detectar fraudes y phishing en tiempo real. Analiza URLs, emails, números de teléfono y perfiles de vendedores usando la API REST de Guardian.

Qué puede hacer

Tipo Cómo enviarlo Comando
URL sospechosa Pega el link directamente /url <link>
Número de teléfono Manda el número directamente /telefono <numero>
Email de phishing Pega el contenido o adjunta un .eml /email
Perfil de vendedor Pega el link del perfil /vendedor <url>

Plataformas soportadas para vendedores: MercadoLibre, Amazon, AliExpress.

El bot detecta automáticamente el tipo de contenido — no es necesario usar comandos.

Qué analiza cada tipo

URLs

  • Typosquatting y homoglifos contra marcas conocidas
  • TLDs sospechosos y subdominios falsos (login., pagos., secure.)
  • Dominios Punycode/IDN que imitan caracteres legítimos
  • Expansión de URLs cortos antes del análisis
  • WHOIS: antigüedad del dominio
  • Redirecciones encadenadas y validez SSL
  • Ranking Tranco (presencia en el top 1M de dominios)
  • GeoIP: país del servidor e infraestructura de hosting
  • Google Safe Browsing y VirusTotal

Números de teléfono

  • Detección de números VoIP (Twilio, Google Voice, etc.)
  • Validación de código de país y formato
  • Inconsistencia de país respecto al contexto del email

Emails

  • Suplantación de dominio e impersonación de marcas
  • Display name spoofing (nombre visible ≠ dominio real)
  • Validación SPF y DMARC
  • Alineación DKIM y Reply-To sospechoso
  • Frases de urgencia, solicitud de datos de tarjeta e identidad
  • Links ocultos (texto visible ≠ href real)
  • Teléfonos VoIP o de país inconsistente en el cuerpo
  • Análisis de links sospechosos embebidos
  • Soporte vía WhatsApp y cuentas bancarias

Vendedores

  • Antigüedad de la cuenta
  • Historial de transacciones
  • Tasa de cancelaciones y reclamos
  • Calificación negativa

Niveles de riesgo

Nivel Emoji Score
BAJO 🟢 0–24
MEDIO 🟡 25–49
ALTO 🟠 50–74
CRÍTICO 🔴 75–100

Requisitos

  • Python 3.9+
  • Guardian API corriendo localmente o en un servidor
  • Token de Telegram (obtenido desde @BotFather)

Instalación

git clone <repo>
cd guardian-bot

pip install -r requirements.txt

cp .env.example .env
# Edita .env con tu token y la URL de la API

Configuración

Crea un archivo .env en la raíz del proyecto:

TELEGRAM_TOKEN=tu_token_de_telegram
GUARDIAN_API_URL=http://localhost:8080

Uso

Levanta la API de Guardian primero:

cd ../guardian
./main serve

Luego inicia el bot:

python3 bot.py

Estructura del proyecto

guardian-bot/
├── bot.py              # Punto de entrada y registro de handlers
├── config.py           # Variables de entorno
├── guardian_api.py     # Cliente HTTP para la API Guardian
├── detection.py        # Clasificación automática de mensajes
├── formatters.py       # Formateo de respuestas con emojis
├── handlers/
│   ├── commands.py     # /start, /help
│   ├── url.py          # Análisis de URLs
│   ├── phone.py        # Análisis de teléfonos
│   ├── seller.py       # Análisis de vendedores
│   └── email.py        # Análisis de emails (flujo guiado + archivos .eml)
├── requirements.txt
└── .env.example

Deploy en Render.com

El bot corre como Background Worker (no expone HTTP — usa polling de Telegram).

Pasos

  1. Sube el repositorio a GitHub.

  2. En Render, crea un nuevo Background Worker apuntando al repo. Render detecta el render.yaml automáticamente y configura el servicio.

  3. En la sección Environment del servicio, agrega las variables:

    Variable Valor
    TELEGRAM_TOKEN Token obtenido de @BotFather
    GUARDIAN_API_URL URL pública de la Guardian API en Render (ej. https://guardian-api.onrender.com)
  4. Haz deploy. Render instala dependencias con pip install -r requirements.txt e inicia el bot con python bot.py.

Nota: Los Background Workers requieren plan de pago en Render. En el plan gratuito solo están disponibles Web Services.

Archivos de deploy incluidos

Archivo Propósito
render.yaml Configuración del servicio (tipo worker, comandos, env vars)
runtime.txt Fija la versión de Python (python-3.11.9)

API Guardian — Endpoints utilizados

Endpoint Descripción
POST /api/v1/analyze/url Typosquatting, TLDs, Punycode, URLs cortos, WHOIS, GeoIP, Tranco, VirusTotal, Safe Browsing
POST /api/v1/analyze/phone VoIP, código de país, consistencia con contexto
POST /api/v1/analyze/email Headers, SPF/DMARC, display name spoofing, links ocultos, teléfonos, cuentas bancarias
POST /api/v1/analyze/seller Reputación, antigüedad, tasas de cancelación y reclamos

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages