AbuseIPDB y AlienVault OTX
AbuseIPDB
AbuseIPDB es una base de datos colaborativa de IPs reportadas por la comunidad de seguridad.
Que devuelve
from src.tools.abuseipdb import abuseipdb_check_ipresult = await abuseipdb_check_ip("185.220.101.34")| Campo | Descripcion |
|---|---|
abuseConfidenceScore | Porcentaje de confianza de que es maliciosa (0-100%) |
totalReports | Total de reportes recibidos |
numDistinctUsers | Numero de usuarios distintos que la reportaron |
lastReportedAt | Ultima fecha de reporte |
countryCode | Pais de origen |
isp | ISP o proveedor |
domain | Dominio del ASN |
usageType | Tipo de uso (datacenter, residential, tor, vpn…) |
isPublic | Si es una IP publica |
isWhitelisted | Si esta en lista blanca |
Score de abuso
Un abuseConfidenceScore alto (>80%) indica que la IP ha sido reportada repetidamente por comportamiento malicioso:
- 90-100%: Muy probablemente maliciosa — bloqueala
- 50-89%: Sospechosa — investigar mas
- 20-49%: Actividad menor — monitorizar
- 0-19%: Limpia o poco reportada
Free tier
- 1.000 requests/dia
- Check de IPs individuales o rango CIDR
- Historial de los ultimos 30 dias en free tier
AlienVault OTX
Open Threat Exchange es una plataforma de inteligencia de amenazas colaborativa con millones de indicadores.
Que devuelve
from src.tools.alienvault import alienvault_ip_lookupresult = await alienvault_ip_lookup("185.220.101.34")| Campo | Descripcion |
|---|---|
pulse_count | Numero de pulsos de amenaza donde aparece |
pulses | Lista de pulsos con nombre, descripcion y tags |
country_name | Pais |
asn | ASN |
reputation | Score de reputacion OTX |
validation | Validaciones disponibles |
indicator | El IOC consultado |
Pulsos de amenaza
Un “pulso” en OTX es un paquete de inteligencia creado por un investigador que agrupa IOCs relacionados con una campana o amenaza concreta. Cada pulso incluye:
- Nombre descriptivo de la amenaza
- Tags (APT, malware, phishing, ransomware…)
- Lista de IOCs relacionados
- Referencias y fuentes
Ventaja: API ilimitada
AlienVault OTX ofrece acceso ilimitado en su free tier — puedes consultar sin preocuparte por rate limits.
Uso para dominios
La misma funcion sirve para dominios aunque el nombre sugiera IPs:
result = await alienvault_ip_lookup("evil.com")# → devuelve pulsos y reputacion del dominioEjemplo de salida
[AlienVault OTX] 185.220.101.34 ├─ Pulsos: 12 ├─ Pulso 1: "Tor Exit Nodes - Noviembre 2025" │ Tags: tor, exit-node, anonymization ├─ Pulso 2: "APT Lazarus Infrastructure" │ Tags: apt, north-korea, lazarus ├─ Pais: NL └─ ASN: AS53667