La mayoría de las herramientas OSINT envejecen rápido. La web cambia constantemente, los sitios mueven sus puntos de acceso, los captchas evolucionan y la herramienta muere en dos años. Maigret es la excepción. Ha estado funcionando durante años, soporta más de 3.000 sitios, incluye un paquete de Python, un bot de Telegram y una interfaz de usuario web, y la ingeniería detrás de ella es una pequeña clase magistral sobre cómo construir un escáner que no se rompe cada vez que un sitio cambia.
Esta guía es para ingenieros, no para búsquedas casuales. Recorre lo que hace Maigret, los casos de uso legítimos de investigación y seguridad que lo justifican, la arquitectura que le permite escalar a miles de sitios y cómo los mismos patrones de prueba que utiliza Maigret (bases de datos de firmas, detección de desviación, verificación recursiva) se traducen en el trabajo de prueba de API que realizas todos los días con Apidog.
Si aún no lo has leído, nuestra publicación Pruebas de API sin Postman en 2026 cubre ideas similares de coincidencia de patrones y detección de desviación en un ámbito más amigable.
En resumen
- Maigret recopila un expediente público sobre una persona solo por nombre de usuario, revisando más de 3.000 sitios en busca de cuentas y extrayendo información de perfil público.
- La ingeniería es impresionante: una base de datos de firmas de sitios versionada, búsqueda recursiva, detección automática de desviaciones, omisión de captchas y un modo de resumen opcional con IA.
- Los usos legítimos incluyen investigaciones OSINT por parte de periodistas, recuperación de cuentas, búsqueda de personas desaparecidas, auditorías de seguridad y monitoreo de abuso de marca corporativo.
- Los ejercicios autorizados de "red-team" (equipo rojo) se basan en herramientas como Maigret para mapear la superficie de ataque pública de una organización; usarla en personas sin su consentimiento se considera acoso y acecho.
- Las ideas arquitectónicas (detección basada en firmas, verificación recursiva, alertas automáticas de desviación) se transfieren directamente a las pruebas de API; mostramos cómo aplicarlas con Apidog.
- Descarga Apidog para diseñar y probar aserciones tipo firma en tus propias API de la misma manera que Maigret prueba los sitios.
Qué es y qué no es Maigret
Maigret es una herramienta de Python, con licencia MIT, mantenida por soxoj. La descripción en el README: "recopilar un expediente sobre una persona por nombre de usuario de más de 3.000 sitios." Ejecuta pip install maigret, dale un nombre de usuario, y consultará los sitios en su base de datos, extraerá cualquier información de perfil público que se encuentre detrás de cada cuenta encontrada y producirá un informe.

Tres cosas a aclarar.
Solo utiliza datos públicos. Sin inicio de sesión, sin abuso de credenciales, sin claves de API. Si un sitio expone un perfil a visitantes anónimos, Maigret lo lee; si no, devuelve "nombre de usuario no encontrado" o una página marcada.
Es ampliamente utilizada en contextos de investigación legítimos. Periodistas de importantes medios de investigación, voluntarios de búsqueda de personas desaparecidas, equipos de protección contra el fraude y la marca, y equipos rojos autorizados la utilizan a diario. El propio README de Maigret enumera referencias en los planes de estudio académicos de OSINT.
Puede ser mal utilizada. Como cualquier herramienta OSINT, usarla en un individuo privado sin su consentimiento cruza líneas éticas y, en muchas jurisdicciones, legales. Se aplican leyes de acecho en la UE, EE. UU. y la mayoría de las demás regiones. Lee tus normas locales antes de usarla contra cualquier persona.
El resto de este artículo se centra en la ingeniería y en patrones de prueba transferibles, no en el flujo de trabajo de selección de objetivos humanos.
La base de datos de firmas de sitios
La mejor idea de ingeniería en Maigret es la base de datos de firmas de sitios. Cada entrada describe un sitio con suficiente información para que el escáner pueda decidir:
- ¿Existe el nombre de usuario en este sitio?
- ¿Qué aspecto tiene una página "encontrada"?
- ¿Qué aspecto tiene una página "no encontrada"?
- ¿Qué información podemos extraer de una página encontrada?
- ¿Este sitio tiene limitación de velocidad o captcha?
La base de datos es JSON, versionada en el repositorio y se actualiza automáticamente desde GitHub una vez cada 24 horas cuando se ejecuta la herramienta. Si los mantenedores actualizan una firma para un sitio que cambió recientemente, cada instalación de Maigret la obtiene al día siguiente sin necesidad de reinstalar.
Este patrón es exactamente el mismo que deseas para un conjunto de pruebas de API. Tu proyecto tiene 50, 500 o 5.000 endpoints. Cada endpoint tiene una firma: códigos de estado esperados, formas de respuesta, sobres de error. Cuando un proveedor cambia la forma, quieres que el conjunto de pruebas falle rápidamente con una diferencia útil. Cubrimos la misma idea en el desarrollo de API contract-first y en el libro de jugadas de pruebas de servidor MCP.
Cómo Maigret detecta "nombre de usuario encontrado" vs. "no encontrado"
Un escáner ingenuo realiza un HTTP GET en https://example.com/user/<username> y verifica el código de estado. Eso funciona para quizás el 10 por ciento de los sitios reales. El otro 90 por ciento devuelve 200 con una página de "usuario no existe", o 200 con una página de inicio en caché, o 200 con un desafío de captcha.
La base de datos de Maigret describe cada sitio con un conjunto más rico de reglas de detección:
- Una plantilla
urlMainyurl - Una lista
presenseStrs(subcadenas que deben aparecer cuando el usuario existe) - Una lista
absenceStrs(subcadenas que confirman que el usuario no existe) - Una expresión regular para la extracción del nombre de usuario de la página
- Encabezados opcionales (algunos sitios necesitan un agente de usuario personalizado)
- Etiquetas para categoría y país
Un veredicto de "encontrado" requiere que todos los presenseStrs estén presentes en la respuesta y ninguno de los absenceStrs. Un veredicto de "no encontrado" es lo inverso. Cualquier otra cosa es un resultado "desconocido" que el usuario puede investigar manualmente.
Este es el mismo tipo de aserción multi-señal que deseas al probar APIs complejas. Un estado 200 no es suficiente; también necesitas asertar el contenido del cuerpo. Apidog soporta aserciones tanto de código de estado como de contenido del cuerpo en la misma solicitud, lo cual es el equivalente en pruebas de API de los presenseStrs más absenceStrs de Maigret.
Búsqueda recursiva y extracción de información
Una vez que Maigret encuentra una cuenta, hace dos cosas más.
Rastrea la página de perfil público en busca de identificadores adicionales: direcciones de correo electrónico vinculadas, números de teléfono, nombres reales, otros nombres de usuario. Las reglas de extracción también están basadas en firmas, definidas por sitio. Un perfil de LinkedIn arroja campos diferentes a un perfil de GitHub.
Luego recurre. Los nuevos identificadores se reintroducen en el bucle de búsqueda, expandiendo el dossier a través de cuentas vinculadas. Un nombre de usuario en un sitio podría conducir a un nombre real; ese nombre podría desbloquear una cuenta diferente en otro sitio; esa cuenta podría vincularse a un identificador de Instagram; y así sucesivamente.
Para OSINT, esta es la diferencia entre "encontré una cuenta de Twitter" y "rastreé a esta persona a través de 12 servicios". Para un conjunto de pruebas de API, el mismo patrón es valioso: cuando descubres un campo no documentado en la respuesta de un endpoint, síguelo. A menudo apunta a un endpoint relacionado, un sistema descendente o un caso de prueba faltante.
Manejo de Captcha y límite de tasa
Maigret omite parcialmente los captchas y detecta los límites de tasa leyendo la forma de la respuesta. Las estrategias de omisión incluyen:
- Rotación de agentes de usuario
- Respetar los encabezados de reintento por sitio
- Recurrir al dominio móvil o simplificado del sitio
- Enrutamiento a través de Tor o I2P cuando el sitio lo permite
El README es honesto en que esto es parcial. Si un sitio tiene una anti-automatización agresiva, Maigret registra "captcha detectado" y permite al usuario investigar manualmente. La herramienta no intenta derrotar defensas hostiles; funciona con sitios que permiten el acceso anónimo básico.
El patrón se transfiere: cuando construyes un cliente API o un ejecutor de pruebas, diséñalo para detectar respuestas de límite de velocidad y retroceder con gracia, no para forzar el paso. La misma postura defensiva que mantiene a Maigret del lado correcto de los términos del proveedor, evita que tus pruebas API hagan que la IP del equipo sea baneada.
El problema de la deriva de la firma
Una base de datos de 3.000 sitios solo es útil si se mantiene actualizada. Los sitios rediseñan las páginas de perfil, cambian los patrones de URL, añaden captchas o son adquiridos y renombrados. Una firma obsoleta devuelve falsos negativos (tu búsqueda no encuentra nada) o falsos positivos (encuentra cuentas que no existen).
Maigret aborda esto con tres capas:
- Actualización automática desde el repositorio central de GitHub cada 24 horas
- Solicitudes de extracción de la comunidad que mantienen las firmas de sitios individuales
- Una bandera
--updateque fuerza una nueva obtención - Un arnés de prueba incorporado que valida cada firma contra un nombre de usuario conocido y existente antes de su envío
El tercer elemento es el que la mayoría de los equipos de ingeniería pasan por alto. Maigret mantiene un nombre de usuario conocido y existente para cada sitio (típicamente un desarrollador o mantenedor que dio su consentimiento). El arnés consulta ese nombre de usuario y confirma que la firma sigue funcionando. Deriva detectada, firma marcada, contribuidores notificados.
Este es exactamente el tipo de suite de regresión que deseas para tus propios contratos de API. Apidog soporta el mismo patrón: guarda una respuesta conocida buena por endpoint, la reproduce contra el endpoint en vivo en un horario, compara el resultado y alerta sobre la desviación. Nuestra guía de la API DeepSeek V4 cubre el lado manual de esto para un proveedor específico.
El modo de resumen opcional con IA
El indicador --ai convierte los hallazgos brutos de Maigret en un breve resumen de investigación utilizando un endpoint LLM compatible con OpenAI. Tú proporcionas la clave de API; Maigret estructura el prompt y la llamada.
Este es un buen ejemplo de LLM como postprocesador bien hecho. El modelo nunca decide si un nombre de usuario coincide; eso se basa en reglas y es determinista. El modelo solo resume, en lo que es bueno, y opera sobre una entrada restringida. Las alucinaciones están acotadas.
La misma arquitectura funciona bien para el monitoreo de API: aserciones deterministas basadas en reglas en Apidog, con un postprocesador LLM que convierte el informe de ejecución en un resumen amigable para Slack al final. Nuestra publicación uso de computadoras vs APIs estructuradas explica por qué la capa estructurada siempre debe ir primero.
Casos de uso legítimos que vale la pena conocer
Cinco contextos en los que ejecutar Maigret es inequívocamente apropiado.
- Recuperación de cuentas para ti mismo. Encuentra todas las cuentas antiguas vinculadas a un nombre de usuario que utilizaste en 2014. Útil antes de auditorías de privacidad o al cerrar una huella digital.
- Monitoreo de abuso de marca. Las empresas ejecutan Maigret en sus nombres de marca o productos para detectar cuentas de suplantación. La mayoría de las jurisdicciones fomentan este tipo de monitoreo; algunas lo exigen.
- Trabajo voluntario de búsqueda de personas desaparecidas. Las organizaciones de búsqueda y rescate y de personas desaparecidas utilizan Maigret con el consentimiento de la familia para rastrear huellas digitales. Siempre coordina con las fuerzas del orden; el trabajo independiente aquí a menudo dificulta las investigaciones.
- Compromisos autorizados de "red-team". Los equipos de pentesting bajo un contrato firmado utilizan Maigret para mapear la superficie de ataque pública de una organización. El contrato define el alcance; la herramienta es solo la implementación.
- Periodismo de investigación. Los reporteros que investigan fraudes, malas conductas de figuras públicas o el crimen organizado utilizan herramientas OSINT bajo revisión editorial y legal.
Lo que no está en esta lista: buscar a un extraño por curiosidad, vigilar a una expareja o construir un conjunto de datos sobre personas que no dieron su consentimiento. Esos usos cruzan líneas legales en la mayoría de las jurisdicciones y éticas en todas partes.
Patrones de Maigret que puedes aplicar a las pruebas de API
Cinco ideas de ingeniería que se traducen directamente.
- Bases de datos de firmas sobre comprobaciones codificadas a mano. Define el comportamiento esperado de cada endpoint como datos, no como código. Se añaden nuevos proveedores sin recompilar.
- Aserciones multi-señal. Código de estado más contenido del cuerpo más verificación de encabezado, todo requerido. Reduce los falsos positivos de respuestas en caché o páginas de error genéricas.
- Firmas de auto-actualización. Descarga las últimas aserciones de un repositorio central según un horario. Los proyectos de Apidog soportan la sincronización en la nube; úsala. Cubrimos el flujo de trabajo en Pruebas de API sin Postman.

- Detección de desviaciones. Programa una repetición periódica contra un estado conocido bueno y compara el resultado. Alerta sobre cambios de forma antes de que rompan la producción.
- LLM como postprocesador, no como juez. Deja que las reglas deterministas decidan el aprobado/suspenso. Usa el LLM solo para convertir el informe en algo legible.
Aplica estas ideas y tu suite de pruebas de API ganará la misma longevidad que tiene Maigret. La mayoría de las suites de pruebas mueren porque fueron escritas una vez, codificadas a mano y nunca actualizadas. La arquitectura de Maigret es un modelo para una que sobrevive.
Errores comunes al ejecutar Maigret
Para ingenieros que experimentan con la herramienta en sí.
- Ejecutar sin
-ay asumir que está completo. El predeterminado escanea los 500 sitios principales por tráfico. Si tu investigación necesita la cola larga, pasa-apara los más de 3.000. Ten en cuenta que la ejecución lleva más tiempo. - Ignorar las etiquetas. La bandera
--tagsrestringe por categoría o país. Un usuario en Rusia o Japón sería omitido por un valor predeterminado centrado en EE. UU.; el filtrado por etiquetas los detecta. - Omitir la actualización automática. Las bases de datos de firmas antiguas producen falsos positivos y falsos negativos. Deja que la actualización automática se ejecute, o usa
--updatemanualmente antes de investigaciones serias. - Ejecutarlo en Tor sin permiso del sitio objetivo. Algunos sitios bloquean los nodos de salida de Tor; Maigret lo detecta. No interpretes un bloqueo de Tor como una señal sobre el usuario.
- Creer los campos extraídos sin verificar. La herramienta extrae lo que la página expone. Las páginas pueden ser fabricadas. Trata los hallazgos como pistas, no como pruebas.
Casos de uso en el mundo real
Una consultora de seguridad utiliza Maigret como primer paso en cada compromiso de definición de alcance de un "red-team". El resultado se incluye en el informe inicial para que el cliente vea su superficie de ataque pública antes de que comience el compromiso.
Un investigador de fraudes autónomo utiliza Maigret con la bandera --ai para resumir un escaneo de 3.000 sitios en un informe de 200 palabras para clientes no técnicos. La búsqueda determinista es el dato; el LLM es la capa legible.
Un equipo de ingeniería utiliza las mismas ideas arquitectónicas (base de datos de firmas, detección de desviaciones, reproducción periódica) para mantener actualizada su suite de pruebas de API interna en 200 microservicios. La construyeron en Apidog; los principios son los de Maigret.
Conclusión
Maigret es un ejemplo funcional de cómo construir una herramienta que escala a miles de reglas de detección sin romperse cada vez que cambian las superficies subyacentes. La ingeniería merece ser estudiada incluso si nunca realizas una investigación OSINT: las bases de datos de firmas, las aserciones multisignales, los datos de auto-actualización, la detección de desviaciones y el postprocesamiento con LLM son todos transferibles al trabajo de pruebas de API que realizas a diario.
Cinco conclusiones clave:
- Maigret revisa más de 3.000 sitios en busca de un nombre de usuario utilizando una base de datos de firmas versionada y de auto-actualización.
- La detección multi-señal (cadenas de presencia más cadenas de ausencia) supera en fiabilidad a las simples comprobaciones de código de estado.
- La desviación es el enemigo de cualquier suite de pruebas de larga duración; la reproducción periódica contra accesorios conocidos la detecta temprano.
- LLM como postprocesador (la bandera
--ai) es la arquitectura correcta: reglas deterministas, salida resumida. - Los mismos patrones funcionan para las pruebas de API en Apidog; los hemos aplicado en las suites de contratos de nuestros clientes.
Siguiente paso: lee el formato de la base de datos de sitios de Maigret, luego abre Apidog y diseña un endpoint en tu proyecto de la misma manera: basado en firmas, multi-señal, con un fixture guardado para la detección de desviaciones. La disciplina vale la pena la primera vez que un proveedor renombra un campo a las 2 a.m. y tu suite lo detecta antes que los usuarios.
Preguntas frecuentes
¿Es legal usar Maigret?
Depende de la jurisdicción y del objetivo. Usarlo en ti mismo, en cuentas que posees, en una empresa para la que tienes autorización escrita para probar, o como parte de periodismo autorizado, generalmente está bien. Usarlo en un individuo desprevenido puede cruzar las leyes de acecho y acoso en la UE, EE. UU., Reino Unido y la mayoría de las otras regiones. Lee tus reglas locales antes de cualquier uso que tenga como objetivo a un tercero.
¿Funciona Maigret sin Python?
El paquete oficial es Python 3.10+. El autor mantiene un bot de Telegram para búsquedas casuales y una configuración de Cloud Shell para usuarios que no desean una instalación local.
¿Qué tan precisa es la afirmación de los 3.000 sitios?
La base de datos de sitios en el repositorio lista más de 3.000 entradas; no todas están activas en un momento dado. La actualización automática mantiene un subconjunto de trabajo actualizado. El filtrado por etiquetas te ayuda a enfocarte en los sitios que probablemente sean importantes para tu alcance.
¿Qué añade el modo IA?
La bandera --ai utiliza un LLM compatible con OpenAI para resumir los hallazgos deterministas en un informe legible. No cambia la búsqueda en sí; solo postprocesa. Debes proporcionar tu propia clave API.
¿Puedo usar Maigret en CI?
Para investigaciones OSINT, no; eso es un trabajo interactivo. Los patrones arquitectónicos que utiliza Maigret (bases de datos de firmas, detección de desviaciones, reproducción programada) son exactamente lo que pertenece a tu pipeline de CI para pruebas de API. Apidog los implementa de forma nativa.
¿En qué se diferencia esto de Sherlock?
Sherlock es el ancestro más antiguo y simple. Maigret lo extiende con extracción de información, búsqueda recursiva, manejo de captchas, el modo de resumen con IA y una base de datos de sitios más rica. Ambos tienen licencia MIT y vale la pena conocerlos.
¿Dónde reporto una firma obsoleta?
El README señala los problemas de GitHub y las solicitudes de extracción en el repositorio de Maigret. Las contribuciones de la comunidad mantienen la base de datos actualizada; una solicitud de extracción por sitio obsoleto es la norma.
