--- name: build_search_dorks kind: function lang: py domain: cybersecurity version: "1.0.0" purity: pure signature: "def build_search_dorks(target: str, tipo: str = 'persona', extra_domains: list | None = None) -> list" description: "Genera consultas (dorks) de motor de busqueda para investigar un target segun su tipo (persona|email|dominio|usuario): frase exacta, site:linkedin, filetype:pdf, intext con cv/curriculum, site: filetype:xlsx, dorks de leaks/pastebin para email, redes sociales para usuario, etc. extra_domains acota via site:. OSINT pasivo puro, sin red." tags: [osint-passive, dork, search, recon, google-dork, cybersecurity, python] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "" imports: [] params: - name: target desc: "Cadena objetivo: nombre de persona, email, dominio o username segun el tipo." - name: tipo desc: "Uno de 'persona', 'email', 'dominio', 'usuario'. Cualquier otro valor devuelve solo la frase exacta. Default 'persona'." - name: extra_domains desc: "Lista opcional de dominios para aƱadir dorks 'site: \"\"' independientemente del tipo." output: "Lista de strings de dork listos para pegar en un buscador, en orden de generacion." tested: true tests: - "test_persona_genera_dorks_esperados" - "test_email_genera_dorks_esperados" - "test_dominio_genera_site_dorks" - "test_usuario_genera_redes_sociales" - "test_extra_domains_acota_con_site" - "test_tipo_desconocido_solo_frase_exacta" test_file_path: "python/functions/cybersecurity/build_search_dorks_test.py" file_path: "python/functions/cybersecurity/build_search_dorks.py" --- ## Ejemplo ```python build_search_dorks("Juan Perez", tipo="persona", extra_domains=["acme.com"]) # ['"Juan Perez"', # '"Juan Perez" filetype:pdf', # 'site:linkedin.com/in "Juan Perez"', # 'site:twitter.com "Juan Perez"', # 'intext:"Juan Perez" (curriculum OR cv OR resume)', # '"Juan Perez" (email OR correo OR contacto)', # '"Juan Perez" filetype:doc OR "Juan Perez" filetype:docx', # 'site:acme.com "Juan Perez"'] build_search_dorks("empresa.com", tipo="dominio") # ['"empresa.com"', 'site:empresa.com', 'site:empresa.com filetype:pdf', # 'site:empresa.com filetype:xlsx', 'site:empresa.com (login OR admin OR dashboard)', ...] ``` ## Cuando usarla Usala cuando ya tengas un target identificado (persona, email, dominio o alias) y quieras una bateria de consultas de buscador listas para pegar manualmente y mapear documentos, perfiles y posibles filtraciones. Encaja despues de `guess_email_formats` (dorks de email) o `enumerate_username_sites` (dorks de usuario/persona) en una investigacion autorizada. ## Gotchas - Funcion pura: solo genera strings de consulta, NO ejecuta busquedas ni toca la red. Los dorks se pegan a mano en el buscador. - La sintaxis usa operadores de Google (site:, filetype:, intext:, inurl:); otros buscadores soportan un subconjunto distinto y algunos dorks no funcionaran igual. - Para tipos no reconocidos devuelve unicamente la frase exacta entre comillas (mas los `extra_domains` si se pasan), no falla. - Uso solo para investigacion OSINT autorizada; los dorks de leaks/breaches/pastebin pueden devolver datos sensibles cuyo tratamiento esta sujeto a ley.