Herramienta OSINT pasiva y analítica con fines educativos y de investigación.
No guarda datos personales, solo titulares, fechas, ubicación por país y tipo de delito.
Filosofía: "Un gran poder conlleva una gran responsabilidad"
OSINT | Python | Termux | Linux | Web Scraping
DIABOLIC LATAM es una herramienta OSINT pasiva y analítica diseñada para monitorizar automáticamente más de 70 periódicos digitales de 18 países latinoamericanos, extrayendo y procesando noticias de sucesos para detectar patrones delictivos, tendencias geográficas y conexiones entre incidentes, con especial énfasis en narcotráfico, crimen organizado, violencia y corrupción.
No guarda datos personales, solo titulares, fechas, ubicación por país y tipo de delito. Filosofía: "Un gran poder conlleva una gran responsabilidad".
- 🔍 ¿Qué hace DIABOLIC?
- ⚙️ Características clave
- 🛠️ Tecnología y arquitectura
- 📥 Instalación y uso
- 🖥️ Modo terminal (10 comandos)
- 🌐 Modo web interactivo
- 🗺️ Fuentes monitorizadas
- 🌎 Países cubiertos
- 🧠 Tipo de OSINT y metodología
- ⚖️ Ética, legalidad y protección de datos
- 🤝 Contribuciones y futuro
- 📜 Licencia
DIABOLIC automatiza el proceso de scraping de noticias de sucesos de medios de toda América Latina. En lugar de leer docenas de periódicos cada día, la herramienta:
- Extrae automáticamente titulares, fechas, fuentes y ubicación geográfica (país) de noticias relacionadas con delitos.
- Clasifica los incidentes en categorías (robo, estafa, narcotráfico, violencia, asesinato, corrupción, etc.), con un diccionario enriquecido con léxico criminal latinoamericano.
- Almacena los datos localmente en formato JSON, sin guardar ningún dato personal.
- Analiza tendencias temporales (7, 30, 90 días) y distribuciones por país y tipo de delito.
- Detecta conexiones entre incidentes: misma zona, fechas cercanas, mismo modus operandi (ej. "halcones", "sicariato", "vuelco", "pitufeo") que pueden indicar una misma organización criminal.
- Visualiza los resultados mediante una interfaz web interactiva con gráficos de barras y filtros dinámicos.
- Exporta los datos a CSV o JSON para análisis externos.
Evita bloqueos de los periódicos simulando diferentes navegadores y versiones en cada petición.
Prueba automáticamente hasta 12 formatos diferentes de paginación (/pagina/2, ?page=2, ?offset=2, etc.) y recuerda el que funciona para cada dominio.
Si una URL de un periódico deja de funcionar, el sistema busca rutas alternativas (/sucesos, /local, /tribunales, /actualidad/sucesos, etc.) y actualiza la configuración.
Utiliza una lista amplia de palabras clave en español y portugués, incluyendo jerga regional (México, Colombia, Argentina, Brasil, etc.). Se puede extender fácilmente.
- Por tipo y país (ej. 5 robos en México en 7 días).
- Por modus operandi (detecta repetición de términos como “sicariato”, “halcón”, “pitufeo”, “vuelco”).
- Frecuencia temporal (incidentes/día).
- Gráficos de barras por país y tipo de delito.
- Filtros por período (últimos 7, 30, 90 días).
- Lista de los últimos 20 incidentes.
- Botones para actualizar datos y exportar JSON/CSV.
10 comandos que permiten ejecutar todas las funciones sin necesidad de abrir el navegador.
- Lenguaje: Python 3.8+
- Framework web: Flask (servidor ligero)
- Scraping: Requests + BeautifulSoup4
- Almacenamiento: JSON local (sin bases de datos externas)
- Estructura modular:
DetectorURLs: encargado de verificar y corregir URLs de periódicos.GestorDatos: carga, guarda y procesa los incidentes.ExtractorNoticias: realiza el scraping con rotación de User‑Agent y paginación inteligente.
- Colores en terminal: Códigos ANSI para una experiencia visual atractiva.
- Compatibilidad multiplataforma: Termux (Android), Linux, Windows.
- Python 3.8 o superior.
- pip (gestor de paquetes de Python).
git clone https://github.com/Condor2026/Diabolic_Latam
cd Diabolic_Latam
pip install -r requirements.txt
python Diabolic_Latam.pychmod +x install.sh
./install.shAl arrancar, se mostrará un banner informativo y se preguntará:
- 1 → Modo terminal (10 comandos).
- 2 → Modo web (servidor en
http://localhost:5016).
Una vez en el menú principal, puedes ejecutar las siguientes opciones:
| Comando | Función |
|---|---|
[1] |
🔍 Buscar noticias (con detección automática de URLs) |
[2] |
📊 Ver análisis completo (tendencias, distribuciones) |
[3] |
🔗 Ver conexiones entre incidentes (patrones y bandas) |
[4] |
📈 Ver evolución mensual |
[5] |
🌐 Iniciar servidor web |
[6] |
📰 Ver últimos 20 incidentes |
[7] |
📥 Exportar datos (JSON/CSV) |
[8] |
🔍 Verificar periódicos (detector automático de URLs) |
[9] |
📊 Ver distribución por tipo (con gráfico ASCII) |
[10] |
🗑️ Salir |
Cada opción interactúa con los datos locales y permite explorar los patrones sin necesidad de abrir el navegador.
Al elegir la opción [2] en el arranque, se levanta un servidor Flask local. Desde el navegador puedes:
- Ver estadísticas globales (total, últimos 7/30/90 días).
- Filtrar por período.
- Visualizar gráficos de barras con la distribución de incidentes por país y por tipo.
- Consultar la lista de los últimos 20 incidentes.
- Actualizar la base de datos directamente desde la web (botón ACTUALIZAR).
- Exportar a JSON o CSV.
La interfaz está optimizada para dispositivos móviles y escritorio.
La herramienta incluye más de 70 periódicos de toda Latinoamérica, con cobertura en:
- México: Reforma, El Universal, La Jornada, Milenio, El Economista, Excélsior, El Sol de México, etc.
- Colombia: El Tiempo, El Espectador, Semana, La República, etc.
- Argentina: Clarín, La Nación, Página/12, Infobae, etc.
- Brasil: Folha de S.Paulo, O Globo, Estado de S. Paulo, UOL, etc.
- Chile: El Mercurio, La Tercera, Cooperativa, etc.
- Perú: El Comercio, La República, Gestión, etc.
- Venezuela: El Nacional, TalCual, etc.
- Ecuador: El Universo, El Comercio, etc.
- Bolivia: La Razón, El Deber, etc.
- Paraguay: ABC Color, Última Hora, etc.
- Uruguay: El País, La República, etc.
- Costa Rica: La Nación, El Financiero, etc.
- Panamá: La Estrella de Panamá, El Siglo, etc.
- Guatemala: Prensa Libre, ElPeriódico, etc.
- Honduras: La Prensa, El Heraldo, etc.
- El Salvador: La Prensa Gráfica, El Diario de Hoy, etc.
- Nicaragua: La Prensa, El Nuevo Diario (descontinuado, se buscan alternativas).
- República Dominicana: Listín Diario, El Caribe, etc.
El detector automático de URLs se encarga de corregir cambios en las direcciones. La lista completa se puede consultar y ampliar en el archivo PERIODICOS_BASE del código.
- Argentina
- Bolivia
- Brasil
- Chile
- Colombia
- Costa Rica
- Ecuador
- El Salvador
- Guatemala
- Honduras
- México
- Nicaragua
- Panamá
- Paraguay
- Perú
- República Dominicana
- Uruguay
- Venezuela
DIABOLIC se clasifica como OSINT pasivo y analítico:
- Pasivo: porque no interactúa con los sistemas de los periódicos más allá de las peticiones HTTP que haría un usuario normal. No realiza inyecciones, no vulnera accesos, no utiliza credenciales.
- Analítico: porque no se limita a recopilar información; procesa los datos para extraer patrones geográficos (países), temporales (evolución diaria, mensual) y relacionales (conexiones entre incidentes).
- Adquisición: se descargan las páginas de sucesos de cada periódico respetando tiempos de espera y user-agents.
- Parseo: se extraen títulos, fechas y se detecta la ubicación (país) mediante comparación de palabras clave.
- Clasificación: se etiqueta cada incidente con un tipo de delito basado en palabras clave (incluyendo léxico regional latinoamericano).
- Almacenamiento: se guardan los metadatos en un archivo JSON local, sin datos personales.
- Análisis: se generan estadísticas, patrones temporales y conexiones.
- Visualización: se muestran los resultados en terminal o web.
- Agrupa incidentes por tipo + país en los últimos 30 días.
- Si hay 3 o más incidentes del mismo tipo en el mismo país, los muestra como un patrón y calcula la frecuencia (incidentes/día).
- Busca palabras clave de modus operandi (
sicariato,halcón,pitufeo,vuelco,estorsione, etc.) y agrupa incidentes que compartan la misma técnica, sugiriendo posibles organizaciones criminales.
- RGPD / LGPD (Brasil) / LOPDGDD: DIABOLIC no trata datos personales. Solo almacena metadatos (titular, fecha, país, tipo, fuente). Por tanto, queda fuera del ámbito de aplicación de estas leyes.
- Propiedad intelectual: No republica el contenido íntegro de las noticias; solo extrae titulares y metadatos. Las peticiones son las mismas que haría un lector humano, respetando
robots.txty rate limiting.
- Transparencia: código abierto, cualquier persona puede auditar qué hace y qué guarda.
- No vigilancia: no perfila personas ni almacena información que pueda identificar a individuos.
- Responsabilidad: el usuario es el único responsable del uso que dé a la herramienta. El banner de inicio incluye la advertencia y la filosofía Spiderman.
La herramienta se proporciona “tal cual”, sin garantías de funcionamiento ininterrumpido. Cualquier modificación que introduzca funcionalidades lesivas (recogida de datos personales, vigilancia encubierta) es responsabilidad exclusiva de quien la realice.
Las contribuciones son bienvenidas siempre que respeten la filosofía ética del proyecto. Puedes:
- Reportar errores o fuentes caídas.
- Sugerir mejoras en la detección de patrones (especialmente léxico criminal regional).
- Añadir nuevas fuentes de noticias públicas (respetando siempre los términos de uso).
- Traducir la documentación a portugués o inglés.
Para el futuro se contemplan:
- Integración con mapas (Leaflet) para visualización geográfica.
- Alertas en tiempo real cuando se detecte un patrón anómalo.
- Soporte para RSS de boletines oficiales (fiscalías, policías) de la región.
Este proyecto está bajo la GNU General Public License v3.0 (GPLv3).
Esto significa que:
- Puedes usar, estudiar, compartir y modificar el software libremente.
- Si distribuyes versiones modificadas, debes hacerlo bajo la misma licencia.
- No puedes convertir el software en propietario; cualquier obra derivada debe permanecer de código abierto.
- El software se proporciona “tal cual”, sin garantías (consulta el archivo
LICENSEpara más detalles).
Consulta el archivo LICENSE para el texto completo de la licencia.
⭐ Si DIABOLIC te resulta útil, considera dejar una estrella en el repositorio y compartir el proyecto. ¡Juntos hacemos el OSINT más ético y accesible!