Skip to main content

OSINT CLI for Mexican phone-number validation, IFT/PNN lookup, enrichment, and reports.

Project description

MeXiCOSINT Banner

PyPI Release Python Licencia OSINT México Estado Beta

MeXiCOSINT

Herramienta OSINT enfocada en análisis, validación, enriquecimiento y reportes de números telefónicos mexicanos.


Descripción

MeXiCOSINT es una herramienta de OSINT desarrollada en Python y enfocada en números telefónicos mexicanos.

La herramienta puede validar números, analizar formatos mexicanos, consultar fuentes opcionales mediante API, procesar metadatos disponibles y generar resultados útiles para investigación autorizada.

Este proyecto está en fase beta. Los resultados deben tratarse como indicadores OSINT, no como evidencia absoluta.


Características

  • Validación de números telefónicos mexicanos
  • Formato nacional e internacional
  • Análisis local de números mexicanos
  • Enriquecimiento opcional mediante APIs externas
  • Procesamiento relacionado con IFT/SNS
  • Soporte para módulo QuienHabla.mx
  • Base oficial IFT/PNN integrada: 177k+ bloques de numeración asignada, consulta offline
  • Operadora, modalidad y fecha de asignación directo del regulador
  • Localidad canónica IFT/LADA: bloque IFT exacto como fuente primaria y LADA como respaldo o apoyo
  • Series no geográficas 200/300/500/800/900 con alerta de números premium (900)
  • Gestión de API keys desde la CLI (--set-key, --list-keys, --config-path)
  • Configuración local de API keys
  • Soporte para reportes o salidas generadas según la versión
  • Modo telefónico únicamente: sin proveedores IP ni escaneo IP

Estructura del repositorio

MeXiCOSINT/
├── bin/
│   └── mexicosint
├── docs/
│   ├── INSTALL.md
│   ├── USAGE.md
│   └── CONFIG.md
├── src/
│   └── mexicosint/
│       ├── __init__.py
│       ├── __main__.py
│       ├── cli.py
│       ├── main.py
│       ├── data/
│       ├── modules/
│       │   ├── ift_blocks.py
│       │   ├── ift_sns.py
│       │   ├── local_parser.py
│       │   └── quienhabla.py
│       ├── services/
│       │   └── scanner.py
│       └── utils/
│           └── validation.py
├── tools/
│   └── update_ift_blocks.py
├── pyproject.toml
├── requirements.txt
├── .gitignore
├── LICENSE
└── README.md

Instalación

Opción 1: pipx (recomendada)

MeXiCOSINT está publicado en PyPI. La forma recomendada de instalarlo es con pipx, que instala el comando de forma global pero aislada, sin tocar el Python del sistema (importante en Kali Linux moderno, donde pip install global está bloqueado por PEP 668):

sudo apt install -y pipx
pipx install mexicosint

Después solo ejecuta:

mexicosint

Para actualizar a una nueva versión:

pipx upgrade mexicosint

Opción 2: pip directo

Si prefieres pip (fuera de Kali, o usando --break-system-packages en Kali):

pip install mexicosint

Opción 3: clonar el repositorio

Útil si quieres modificar el código o colaborar:

git clone https://github.com/KiMiGuel/MeXiCOSINT.git
cd MeXiCOSINT
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -e .

Actualizar la base IFT (opcional)

El paquete ya incluye la base. Para actualizarla con el plan vigente del IFT:

python3 tools/update_ift_blocks.py

Uso

Ejecuta MeXiCOSINT usando el comando:

mexicosint 5512345678
mexicosint -b 5512345678

Gestión de API keys desde la CLI:

mexicosint --set-key opencage TU_KEY
mexicosint --set-key geoapify TU_KEY
mexicosint --set-key google_places TU_KEY
mexicosint --set-key ipqualityscore TU_KEY
mexicosint --set-key abstract TU_KEY
mexicosint --set-key numverify TU_KEY
mexicosint --list-keys
mexicosint --config-path

Si clonaste el repositorio, también puedes usar el launcher sin instalar el comando global:

bash bin/mexicosint 5512345678

O ejecutar el módulo del paquete:

PYTHONPATH=src python3 -m mexicosint 5512345678

Usa -b, --compact-banner o el alias heredado --small-banner para forzar el banner ASCII compacto.


Documentación

Guía Descripción
Guía de instalación Instrucciones de instalación para Kali, Debian, Ubuntu y sistemas similares
Guía de uso Uso completo: opciones, ejemplos, base IFT, API keys
Guía de configuración Configuración local y manejo de API keys
Documentación en inglés Documentación completa en inglés

APIs opcionales

Algunas funciones pueden depender de API keys externas.

Servicio Función
AbstractAPI Validación y enriquecimiento telefónico como evidencia de apoyo
NumVerify Validación secundaria como evidencia de apoyo
OpenCage Geocodificación primaria opcional de localidad IFT/LADA
Geoapify Geocodificación fallback opcional de localidad IFT/LADA
Google Places Posibles fichas públicas de negocio por número E.164, sin atribución de suscriptor
IPQualityScore Validación, reputación y abuso telefónico como evidencia de apoyo

Formatos aceptados: +526634647308, 526634647308, 6634647308, +52 663 464 7308, 52-663-464-7308, (663) 464-7308.

La localidad se arma desde IFT/LADA como <ciudad o municipio>, <estado>, Mexico. Los valores vagos de APIs externas, como país, región o etiquetas genéricas, no se geocodifican ni reemplazan una localidad concreta del IFT/LADA.

Los proveedores se usan automáticamente cuando su key existe; si falta una key, esa fuente se omite sin detener el análisis. --dummy-test usa fixtures y no realiza llamadas reales a APIs.

Las API keys deben mantenerse en tu entorno local. No las subas a GitHub.


Seguridad

No subas archivos como:

.env
*.env
config.json
secrets.json
keys.json
.mx_osint_config.json

Ruta local recomendada para configuración:

~/.mx_osint_config.json

Permisos recomendados:

chmod 600 ~/.mx_osint_config.json

Advertencia

MeXiCOSINT está diseñado para investigación autorizada, autoauditoría y flujos educativos de OSINT.

No uses esta herramienta para acoso, doxxing, fraude, amenazas o actividades no autorizadas.

La herramienta no garantiza identidad, ubicación exacta, propiedad ni atribución definitiva de un número telefónico.


Estado del proyecto

Este proyecto está en desarrollo activo.

Funciones planeadas:

  • Publicación de releases en GitHub
  • Paquete .deb para instalación local con apt
  • Mejoras en documentación
  • Más pruebas y validaciones internas

Licencia

Este proyecto se publica bajo la licencia incluida en este repositorio.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mexicosint-2.5.1.tar.gz (7.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mexicosint-2.5.1-py3-none-any.whl (7.4 MB view details)

Uploaded Python 3

File details

Details for the file mexicosint-2.5.1.tar.gz.

File metadata

  • Download URL: mexicosint-2.5.1.tar.gz
  • Upload date:
  • Size: 7.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for mexicosint-2.5.1.tar.gz
Algorithm Hash digest
SHA256 ee0a8ddffc4e1d21d789d281673ec2a10da4a04c7b1c96b77817c7278193f760
MD5 0a8bc38a4fa64fbb4f240ece0d680e10
BLAKE2b-256 663a2f7aff5624905c4da868ae11eeaa67353a0c05dd1b577c3d4bb36c0c5e98

See more details on using hashes here.

Provenance

The following attestation bundles were made for mexicosint-2.5.1.tar.gz:

Publisher: python-publish.yml on KiMiGuel/MeXiCOSINT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mexicosint-2.5.1-py3-none-any.whl.

File metadata

  • Download URL: mexicosint-2.5.1-py3-none-any.whl
  • Upload date:
  • Size: 7.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for mexicosint-2.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 17f3ea2fc7f4367e4cdff481ef2b781c13987a7f8c6b7c79a3e0987599507dab
MD5 8bf9bab417a1a98c616805fa8ebd6878
BLAKE2b-256 69442dffed660384db20645c3a6286aa0810821cc4dd95911ebac5b148ec60f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mexicosint-2.5.1-py3-none-any.whl:

Publisher: python-publish.yml on KiMiGuel/MeXiCOSINT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page