Files
fn_registry/python/functions/cybersecurity/guess_email_formats.md
T
egutierrez eb8dbf66a1 feat(infra): auto-commit con 88 cambios
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-11 00:16:46 +02:00

2.8 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
guess_email_formats function py cybersecurity 1.0.0 pure def guess_email_formats(nombre: str, apellidos: str, dominio: str) -> list Genera candidatos de email comunes (nombre.apellido, n.apellido, apellido.nombre, inicial+apellido, variantes con dos apellidos, etc.) a partir de nombre, apellidos y dominio. Normaliza acentos y ñ a ASCII en minusculas y deduplica preservando el orden. OSINT pasivo puro, sin red.
osint-passive
email
enumeration
recon
identity
cybersecurity
python
false
unicodedata
name desc
nombre Nombre de pila. Si tiene varios tokens se usa el primero como nombre principal.
name desc
apellidos Uno o dos apellidos separados por espacio. Con dos apellidos se generan variantes que los unen.
name desc
dominio Dominio de correo sin arroba (ej. 'empresa.com'). Si viene con '@' delante se limpia.
Lista de strings '<local>@<dominio>' con los candidatos de email en orden de generacion, sin duplicados. true
test_nombre_simple_un_apellido
test_acentos_y_enie_normalizados
test_dos_apellidos_genera_variantes_unidas
test_dedup_preserva_orden
test_dominio_con_arroba_se_limpia
python/functions/cybersecurity/guess_email_formats_test.py python/functions/cybersecurity/guess_email_formats.py

Ejemplo

guess_email_formats("José", "García López", "empresa.com")
# ['jose@empresa.com',
#  'jose.garcia@empresa.com',
#  'josegarcia@empresa.com',
#  'j.garcia@empresa.com',
#  'jgarcia@empresa.com',
#  'jose_garcia@empresa.com',
#  'garcia.jose@empresa.com',
#  'joseg@empresa.com',
#  'jose.garcialopez@empresa.com',
#  'josegarcialopez@empresa.com',
#  'jose.lopez@empresa.com',
#  'jgarcialopez@empresa.com']

Cuando usarla

Usala al arrancar una investigacion de identidad cuando conoces nombre + apellidos + dominio de una organizacion y quieres una lista de direcciones probables para verificar despues (MX, catch-all, validacion SMTP, breach lookup). Es el primer paso antes de cualquier comprobacion activa.

Gotchas

  • Funcion pura: NO valida que el email exista ni hace ninguna comprobacion de red. Solo genera candidatos sintacticos.
  • La lista de patrones es heuristica (los formatos mas comunes), no exhaustiva: organizaciones con esquemas propios (ej. id numerico) no quedaran cubiertas.
  • La normalizacion translitera acentos y ñ a ASCII y elimina cualquier caracter no alfanumerico del local part; nombres con guiones o apostrofes pierden esos separadores.
  • Solo usa el primer token del nombre como nombre principal; nombres compuestos (ej. "Maria Jose") no generan variantes con el segundo nombre.