Qué hace este prompt
Le pega un bloque de texto largo (una noticia, un chat exportado, un dump de posts de un foro, transcripción de un vídeo) y el LLM te devuelve un JSON con todas las entidades OSINT relevantes: personas, empresas, IPs, emails, dominios, teléfonos, ubicaciones y fechas.
Ideal como primer paso de cualquier investigación: en 30 segundos tienes catalogado todo lo que aparece en un texto de 5000 palabras.
Cuándo usarlo
- Analizar una noticia periodística larga y extraer todos los actores mencionados
- Procesar un chat de WhatsApp exportado con miles de mensajes
- Extraer indicadores técnicos (IOCs) de un informe de seguridad
- Preprocesar transcripciones de podcasts o entrevistas
- Auditar un documento filtrado antes de decidir qué investigar más
El prompt
Eres un analista OSINT. Extrae del siguiente texto todas las entidades relevantes para investigación y devuélvelas en JSON estructurado.
Categorías a extraer:
- personas: nombres propios de individuos (incluye apellidos si aparecen)
- organizaciones: empresas, ONGs, instituciones, grupos
- ubicaciones: ciudades, países, direcciones, coordenadas GPS, lugares específicos
- fechas: cualquier fecha o rango temporal (normaliza a ISO YYYY-MM-DD cuando sea posible)
- emails: direcciones de correo (nombre@dominio.tld)
- telefonos: números con prefijo internacional o nacional identificable
- dominios: nombres de dominio DNS
- ips: direcciones IPv4 e IPv6
- urls: enlaces completos http:// o https://
- usernames: alias en redes sociales (@nombre, /u/nombre, etc.)
- hashes: MD5, SHA-1, SHA-256 o similares
- importes: cantidades monetarias con divisa
- otros: cualquier indicador OSINT relevante no clasificado arriba
Reglas:
1. Devuelve SOLO el JSON, sin texto introductorio ni conclusiones
2. Si una categoría no tiene entidades, omite la clave
3. Deduplica: cada entidad única aparece una sola vez
4. En cada entidad, incluye "valor" y "contexto" (frase breve donde aparece)
5. No inventes nada: si dudas, no lo incluyas
6. Preserva el idioma original del texto en el campo "contexto"
Formato de salida:
{
"personas": [{"valor": "Juan Pérez", "contexto": "..."}, ...],
"dominios": [{"valor": "ejemplo.com", "contexto": "..."}, ...],
...
}
TEXTO A ANALIZAR:
<<<
[PEGA_AQUI_TU_TEXTO]
>>> Ejemplo real
Si le pegas este texto:
María González, directora financiera de Tecnorojo SL con sede en Madrid, envió un email desde m.gonzalez@tecnorojo.es al proveedor NorthWave (contacto: hello@northwave.io) el pasado 15 de marzo de 2024. Adjuntaba un archivo con hash SHA-256 3a8d... y solicitaba una transferencia de 45 000 EUR a la cuenta del proveedor. El servidor de correo saliente fue 88.99.12.4 y el dominio del enlace de pago era pago-northwave.com.
La salida esperada es:
{
"personas": [
{"valor": "María González", "contexto": "directora financiera de Tecnorojo SL"}
],
"organizaciones": [
{"valor": "Tecnorojo SL", "contexto": "empresa con sede en Madrid"},
{"valor": "NorthWave", "contexto": "proveedor"}
],
"ubicaciones": [
{"valor": "Madrid", "contexto": "sede de Tecnorojo SL"}
],
"fechas": [
{"valor": "2024-03-15", "contexto": "envío del email"}
],
"emails": [
{"valor": "m.gonzalez@tecnorojo.es", "contexto": "remitente"},
{"valor": "hello@northwave.io", "contexto": "destinatario"}
],
"dominios": [
{"valor": "tecnorojo.es", "contexto": "dominio corporativo"},
{"valor": "northwave.io", "contexto": "dominio del proveedor"},
{"valor": "pago-northwave.com", "contexto": "dominio del enlace de pago"}
],
"ips": [
{"valor": "88.99.12.4", "contexto": "servidor de correo saliente"}
],
"importes": [
{"valor": "45000 EUR", "contexto": "transferencia solicitada"}
],
"hashes": [
{"valor": "SHA-256 3a8d...", "contexto": "archivo adjunto"}
]
} Variantes útiles
- Solo IOCs de seguridad: cambia la lista de categorías por "ips, dominios, urls, hashes, emails" y elimina el resto. Ideal para informes de threat intelligence.
- Con puntuación de importancia: añade "prioridad": "alta|media|baja" a cada entidad para que el LLM ordene por relevancia.
- Idioma de salida específico: añade "responde SIEMPRE en español" al final si te devuelve mezclado.
Cuándo NO usarlo
- Textos de más de 30-40 páginas: la calidad baja con contextos muy largos. Divide antes en chunks manejables.
- Extracción precisa de números críticos: si un dígito mal te compromete (por ejemplo, un IBAN, una CVE, una fecha legal exacta), revisa manualmente. Los LLM a veces confunden dígitos similares.
- Como fuente de verdad: es un preprocesador, no una prueba. Antes de citar cualquier entidad en un informe formal, verifica que aparece literal en el texto original.
Después de este prompt
Con el JSON de entidades ya puedes:
- Pasar cada dominio por /dominio para consulta completa
- Pasar cada IP por /ip-lookup y /ip-reputacion
- Comprobar cada email en HIBP para brechas
- Pasar cada username por /username para búsqueda cruzada