contenido OSINT Etiqueta: editor de código 2017 |
|||
| Línea 14: | Línea 14: | ||
Phobos OSINT no es una herramienta OSINT puntual, sino un sistema que coordina muchas herramientas OSINT de forma controlada y consistente. | Phobos OSINT no es una herramienta OSINT puntual, sino un sistema que coordina muchas herramientas OSINT de forma controlada y consistente. | ||
¿Para qué sirve la herramienta? | === <big>¿Para qué sirve la herramienta?</big> === | ||
Phobos OSINT sirve para realizar investigaciones OSINT de forma estructurada, automatizable y controlada, evitando la ejecución manual y desordenada de herramientas aisladas. | Phobos OSINT sirve para realizar investigaciones OSINT de forma estructurada, automatizable y controlada, evitando la ejecución manual y desordenada de herramientas aisladas. | ||
La herramienta está pensada para: | La herramienta está pensada para: | ||
1. Ejecutar búsquedas OSINT sobre distintos tipos de objetivos (targets) | ==== 1. Ejecutar búsquedas OSINT sobre distintos tipos de objetivos (targets) ==== | ||
El concepto de Target está definido explícitamente como un valor de entrada que puede representar: | El concepto de Target está definido explícitamente como un valor de entrada que puede representar: | ||
| Línea 33: | Línea 31: | ||
Esto indica que la herramienta no se limita a un solo tipo de investigación, sino que soporta distintos tipos de inputs OSINT, cada uno asociado a diferentes herramientas | Esto indica que la herramienta no se limita a un solo tipo de investigación, sino que soporta distintos tipos de inputs OSINT, cada uno asociado a diferentes herramientas | ||
2. Agrupar herramientas según el tipo de investigación (Profiles) | ==== 2. Agrupar herramientas según el tipo de investigación (Profiles) ==== | ||
La documentación define el concepto de Profile como: “set de herramientas habilitadas por tipo de target” | La documentación define el concepto de Profile como: “set de herramientas habilitadas por tipo de target” | ||
| Línea 47: | Línea 44: | ||
Esto apunta a: Repetibilidad, menor error humano y estandarización de investigaciones | Esto apunta a: Repetibilidad, menor error humano y estandarización de investigaciones | ||
3. Normalizar resultados OSINT heterogéneos | ==== 3. Normalizar resultados OSINT heterogéneos ==== | ||
Cada herramienta OSINT: | Cada herramienta OSINT: | ||
Tiene formatos distintos | * Tiene formatos distintos | ||
* Devuelve errores distintos | |||
Devuelve errores distintos | * Puede fallar de formas distintas | ||
Puede fallar de formas distintas | |||
Para resolver esto, Phobos define el concepto de ToolResult, que representa: “resultado normalizado por herramienta (éxito/error + data)” | Para resolver esto, Phobos define el concepto de ToolResult, que representa: “resultado normalizado por herramienta (éxito/error + data)” | ||
| Línea 65: | Línea 59: | ||
Los errores se reportan por herramienta, sin romper la ejecución general | Los errores se reportan por herramienta, sin romper la ejecución general | ||
4. Ejecutar búsquedas de forma sincrónica o asincrónica | ==== 4. Ejecutar búsquedas de forma sincrónica o asincrónica ==== | ||
La herramienta soporta dos modos de ejecución: | La herramienta soporta dos modos de ejecución: | ||
Modo sincrónico: ejecución directa sin Redis | '''Modo sincrónico:''' ejecución directa sin Redis | ||
Modo asincrónico: con Jobs, polling y resultados parciales usando Redis | '''Modo asincrónico:''' con Jobs, polling y resultados parciales usando Redis | ||
Redis es opcional, y se utiliza para: | Redis es opcional, y se utiliza para: | ||
TTL | * TTL | ||
* Polling | |||
Polling | * Resultados parciales | ||
* Desacople de ejecución | |||
Resultados parciales | |||
Desacople de ejecución | |||
Esto implica que Phobos está pensado para: | Esto implica que Phobos está pensado para: | ||
| Línea 89: | Línea 79: | ||
Escenarios más pesados o largos (con jobs) | Escenarios más pesados o largos (con jobs) | ||
¿Cómo está pensada la arquitectura? | === ¿Cómo está pensada la arquitectura? Arquitectura general === | ||
Arquitectura general | La vista de alto nivel definida muestra el siguiente flujo: | ||
La vista de alto nivel definida | |||
CLI / Dashboard | CLI / Dashboard | ||
| Línea 118: | Línea 106: | ||
Jobs / Resultados parciales (Redis) | Jobs / Resultados parciales (Redis) | ||
==== Backend ==== | |||
El backend está implementado en Python, elegido explícitamente porque: | El backend está implementado en Python, elegido explícitamente porque: | ||
| Línea 126: | Línea 114: | ||
Facilita integración de: | Facilita integración de: | ||
CLIs | * CLIs | ||
* Parsers | |||
* Wrappers | |||
* Permite adaptaciones homogéneas con bajo overhead | |||
==== Frontend ==== | |||
* El frontend se describe como: | |||
* Un dashboard para iterar rápido | |||
* Con UI consistente y filtros | |||
* Construido con Node + Tailwind | |||
* Con backend desacoplado vía VITE_API_URL | |||
El frontend se describe como: | |||
Un dashboard para iterar rápido | |||
Con UI consistente y filtros | |||
Construido con Node + Tailwind | |||
Con backend desacoplado vía VITE_API_URL | |||
No se le atribuye lógica OSINT, lo cual refuerza que: | No se le atribuye lógica OSINT, lo cual refuerza que: | ||
| Línea 156: | Línea 137: | ||
Se define explícitamente qué tipo de herramientas son aceptables. | Se define explícitamente qué tipo de herramientas son aceptables. | ||
'''Las herramientas OSINT deben cumplir:''' | |||
Aportar señales útiles o pivotes reales. | * Valor inmediato | ||
* Aportar señales útiles o pivotes reales. | |||
Automatización posible | * Automatización posible | ||
* Deben exponer CLI o API estable, con output parseable. | |||
Deben exponer CLI o API estable, con output parseable. | * Riesgo controlable | ||
Riesgo controlable | |||
Consideraciones de: | Consideraciones de: | ||
Rate limits | * Rate limits | ||
* Bloqueos | |||
* Aspectos legales y éticos | |||
* Fallback controlado | |||
'''Si una herramienta falla:''' | |||
Si una herramienta falla: | |||
El sistema no se cae | El sistema no se cae | ||
| Línea 184: | Línea 160: | ||
El error se reporta por herramienta | El error se reporta por herramienta | ||
Componentes principales del sistema | ==== <big>Componentes principales del sistema Los componentes identificables son:</big> ==== | ||
Los componentes identificables son: | |||
Adapters: encapsulan cada herramienta OSINT. | * CLI: interfaz de ejecución directa. | ||
* Dashboard: interfaz gráfica de operación. | |||
* API ASGI: capa de exposición y control. | |||
* Orquestador: coordina ejecuciones. | |||
* Adapters: encapsulan cada herramienta OSINT. | |||
'''Configuración declarativa:''' | |||
Sistema de Jobs (opcional, con Redis) | * profiles.yaml | ||
* dorks.yaml | |||
* Sistema de Jobs (opcional, con Redis) | |||
Revisión actual - 03:01 3 feb 2026
¿Qué es Phobos OSINT?
Phobos OSINT es una plataforma de orquestación de herramientas OSINT diseñada para ejecutar, coordinar y normalizar resultados provenientes de múltiples herramientas externas (CLIs y APIs), exponiendo esos resultados a través de una API backend y un dashboard web.
Esta definición se desprende de varios elementos explícitos en la documentación:
Existe un orquestador central que ejecuta herramientas OSINT mediante adapters dedicados. Las herramientas OSINT no viven en el frontend, sino que se ejecutan desde el backend. Los resultados son normalizados por herramienta antes de ser expuestos. El sistema puede ser operado tanto por CLI como por dashboard web
En otras palabras:
Phobos OSINT no es una herramienta OSINT puntual, sino un sistema que coordina muchas herramientas OSINT de forma controlada y consistente.
¿Para qué sirve la herramienta?
Phobos OSINT sirve para realizar investigaciones OSINT de forma estructurada, automatizable y controlada, evitando la ejecución manual y desordenada de herramientas aisladas.
La herramienta está pensada para:
1. Ejecutar búsquedas OSINT sobre distintos tipos de objetivos (targets)
El concepto de Target está definido explícitamente como un valor de entrada que puede representar:
Dominio Email Usuario Teléfono Keyword Archivo
Esto indica que la herramienta no se limita a un solo tipo de investigación, sino que soporta distintos tipos de inputs OSINT, cada uno asociado a diferentes herramientas
2. Agrupar herramientas según el tipo de investigación (Profiles)
La documentación define el concepto de Profile como: “set de herramientas habilitadas por tipo de target”
Esto significa que:
No todas las herramientas se ejecutan siempre.
Las herramientas se seleccionan en función del tipo de objetivo.
La configuración de qué herramientas se usan está externalizada en archivos de configuración (profiles.yaml)
Esto apunta a: Repetibilidad, menor error humano y estandarización de investigaciones
3. Normalizar resultados OSINT heterogéneos
Cada herramienta OSINT:
- Tiene formatos distintos
- Devuelve errores distintos
- Puede fallar de formas distintas
Para resolver esto, Phobos define el concepto de ToolResult, que representa: “resultado normalizado por herramienta (éxito/error + data)”
Esto indica que:
Los resultados se presentan de forma homogénea
Los errores se reportan por herramienta, sin romper la ejecución general
4. Ejecutar búsquedas de forma sincrónica o asincrónica
La herramienta soporta dos modos de ejecución:
Modo sincrónico: ejecución directa sin Redis
Modo asincrónico: con Jobs, polling y resultados parciales usando Redis
Redis es opcional, y se utiliza para:
- TTL
- Polling
- Resultados parciales
- Desacople de ejecución
Esto implica que Phobos está pensado para:
Escenarios simples (sin infraestructura adicional)
Escenarios más pesados o largos (con jobs)
¿Cómo está pensada la arquitectura? Arquitectura general
La vista de alto nivel definida muestra el siguiente flujo:
CLI / Dashboard
↓
API ASGI
↓
Orquestador
↓
Adapters de Tools
↓
CLIs / APIs externas
Y, de forma opcional:
↓
Jobs / Resultados parciales (Redis)
Backend
El backend está implementado en Python, elegido explícitamente porque:
Es el ecosistema natural para OSINT
Facilita integración de:
- CLIs
- Parsers
- Wrappers
- Permite adaptaciones homogéneas con bajo overhead
Frontend
- El frontend se describe como:
- Un dashboard para iterar rápido
- Con UI consistente y filtros
- Construido con Node + Tailwind
- Con backend desacoplado vía VITE_API_URL
No se le atribuye lógica OSINT, lo cual refuerza que:
No ejecuta herramientas
No contiene lógica sensible
Criterios de selección de herramientas OSINT
Se define explícitamente qué tipo de herramientas son aceptables.
Las herramientas OSINT deben cumplir:
- Valor inmediato
- Aportar señales útiles o pivotes reales.
- Automatización posible
- Deben exponer CLI o API estable, con output parseable.
- Riesgo controlable
Consideraciones de:
- Rate limits
- Bloqueos
- Aspectos legales y éticos
- Fallback controlado
Si una herramienta falla:
El sistema no se cae
El error se reporta por herramienta
Componentes principales del sistema Los componentes identificables son:
- CLI: interfaz de ejecución directa.
- Dashboard: interfaz gráfica de operación.
- API ASGI: capa de exposición y control.
- Orquestador: coordina ejecuciones.
- Adapters: encapsulan cada herramienta OSINT.
Configuración declarativa:
- profiles.yaml
- dorks.yaml
- Sistema de Jobs (opcional, con Redis)