
Grafos de entidades, minería de datos OSINT y plugins. Conecta datos no estructurados y públicos para obtener conocimientos transformadores 🌐 (Versión web)
Aún no tengo datos. Es un error mayúsculo teorizar antes de tener datos. Insensiblemente uno comienza a torcer los hechos para que se ajusten a las teorías, en lugar de teorías que se ajusten a los hechos.
🚧 ⚠️ Trabajo en progreso; Aún no listo para usar, todavía ⚠️ 🚧
Bienvenido al proyecto OSINTBuddy, donde puedes conectar, combinar y obtener información a partir de datos no estructurados y públicos como resultados que pueden ser explorados paso a paso. Un sistema de plugins fácil de usar permite a cualquier desarrollador integrar rápidamente nuevas fuentes de datos para que puedas centrarte en descubrir, interactuar y visualizar lo que es importante para ti.
No mucho, todavía.
Pero aquí está el concepto:
Una cantidad casi incomprensible de datos se crea cada día. Y cada año, las cifras crecen a un ritmo cada vez mayor. Estas fuentes de datos se pueden dividir en seis categorías diferentes de flujo de información:
OSINT es un método para trabajar, evaluar y clasificar información — Vivimos en la era de la información y el volumen de información que la investigación OSINT debe manejar (explosión de la información) y el problema de los datos de baja calidad deja a los investigadores ahogados. La mayoría de estos datos no están estructurados, lo que introduce muchos desafíos para analizarlos y producir inteligencia procesable, ya que la mayoría de las bases de datos de análisis de datos están diseñadas para datos estructurados. Estamos rodeados de información y casi ninguna es útil.
He decidido hacer algo al respecto. Los rápidos desarrollos en tecnologías como la IA y el análisis de big data han abierto nuevos horizontes para OSINT que antes no estaban disponibles. Queremos toda esa información a nuestro alcance. Queremos inteligencia procesable de forma rápida y directa, por eso estamos construyendo una herramienta OSINT de código abierto y software libre. Construida con tecnologías web simples que cualquiera puede aprender. Pero esto no es realmente el proyecto. Han pasado tres décadas desde su inicio e internet solo ha demostrado ser un espejo de nosotros, nuestra sociedad y política. Enfrentamos una serie de desafíos significativos que amenazan directamente los valores y procesos democráticos. La cuestión de quién posee, diseña y controla la tecnología nunca ha sido más urgente.
¿Cuáles son los marcos técnicos que aseguran que una tecnología sea abierta y equitativa? ¿Cómo "reconfiguramos" las infraestructuras digitales para servir a la transformación social positiva en lugar de a los intereses corporativos? Necesitamos tu ayuda para diseñarlo, programarlo y construirlo. Escuchemos tus sugerencias, tus ideas, y lo construiremos ante tus ojos. La noción de "una aguja en un pajar" se lleva al extremo en internet. Construyamos un imán.
[!CAUTION]
⚠️ Software experimental (pre-alfa) ⚠️
OSINTBuddy es actualmente un software experimental. ¡Aún no está del todo listo para usarse todavía! Si estás interesado en el desarrollo, necesitarás el servicio docker
pluginsclonado:git clone https://github.com/osintbuddy/plugins osintbuddy-pluginsen la raíz de este repositorio
Tal como está, este proyecto es más un entorno de juguete que ha sido útil mientras se prototipa esta idea y se obtiene información sobre el espacio del problema. Para que este proyecto sea verdaderamente exitoso, debemos poder usarlo para hacer un trabajo serio, original y creativo. Esa es la prueba básica de si nuestras herramientas están funcionando realmente o simplemente contando una buena historia. ¿Qué ideas poderosas y generalizables podemos aprender de este proyecto? ¿Cómo debería construir la próxima ola de sistemas sobre esto? El sistema debe configurarse de manera que te permita hacer las preguntas que quieras hacer.
Tengo la convicción de que hoy existe un conjunto de oportunidades. Creo que ahora es posible, si no hoy, pronto, que nos permitirá crear un nuevo medio inmersivo no solo para el trabajo tradicional de OSINT e investigación, sino un medio para descubrir, aprender, investigar y llegar a ideas procesables en cualquier cantidad de contextos que puedas imaginar. Un medio como Photoshop es diferente de cualquiera de las herramientas individuales que contiene. El abanico de posibilidades en dichos medios inmersivos es asombroso y estas posibilidades surgen de los objetos y acciones básicos en ese medio.
¿Quieres ayudar? Escribir y compartir tus ideas, tener discusiones y hacerme saber qué funciona y qué no, todo esto sirve como una forma de impulsar este proyecto. Es una manera de identificar puntos de apalancamiento que podrían ayudarnos a desarrollar nuevas herramientas para OSINT. Así que comencemos, aquí hay algunas de mis ideas:
.env.example a .env, ajusta las configuraciones según sea necesario.
cp .env.example .env
frontend/.env.example a frontend/.env, ajusta según sea necesario.
cp frontend/.env.example frontend/.env
Una vez que solucionemos algunos errores más y agreguemos algunas características más, planeamos configurar un flujo de trabajo de GitHub Actions para compilar y empaquetar el frontend y los servicios de Rust. Sigue el proyecto en discord para las últimas actualizaciones :)
Esta reescritura en Rust existe porque me cansé de Python y decidí reescribir todo para aprender Rust. Ahora es más rápido y se bloquea menos (con suerte).
Si quieres empezar a desarrollar para OSINTBuddy, crea o toma un issue y sigue estos pasos:
Clonar el repositorio
git clone https://github.com/osintbuddy/osintbuddy.git
cd osintbuddy
# ¿usando ssh?
# git clone [email protected]:osintbuddy/osintbuddy.git
Inicializar entidades por defecto (también conocidas como plugins) para OSIB:
git clone https://github.com/osintbuddy/plugins.git osintbuddy-plugins
python3 -m venv venv
source ./venv/bin/activate
pip install -e ./osintbuddy-plugins/
git clone https://github.com/osintbuddy/entities.git plugins
Iniciar el stack.
docker compose up db ui
Migrar base de datos.
cargo install sqlx-cli --no-default-features --features native-tls,postgres
cargo install cargo-watch
cd crates/ && sqlx migrate run && cd ..
Ejecutar OSIB
Ejecuta el backend api y worker en tu sistema anfitrión en terminales separadas:
Ctrl+C/matar los terminales del worker y api, luego docker compose down para limpiar.docker compose down --volumes.Estamos usando la GNU Affero General Public License v3.0 (AGPL) ya que queremos garantizar la libertad de uso, reutilización, copia, modificación y republicación de modificaciones. Porque la libertad no significa permisividad, significa reciprocidad. Si construyes sobre ello, devuelves. Así es como el commons se mantiene saludable. Esta es una decisión tecnopolítica codificada en el contrato social. Baste decir aquí que la licencia Affero GPLv3 vincula legalmente a los proveedores de servicios a dar acceso directo a cualquier usuario al código informático que se ejecuta en una instancia determinada.
Empoderando a investigadores y entusiastas de la ciberseguridad para descubrir verdades, luchar contra la injusticia y crear un mundo más seguro.
Comienza con una pista. Cierra casos 12 veces más rápido con OSINT.
LinkScope te permite realizar investigaciones en línea representando la información como piezas discretas de datos, llamadas Entidades.
la primera plataforma automáticamente acelerada por GPU, aprovecha todos tus datos sin preocuparte por la escala, y pivotea sobre la marcha para seguir a donde sea que tu investigación te lleve. Ideal para todo, desde investigaciones de seguridad, fraude y TI hasta vistas de 360° de clientes y cadenas de suministro, pasando por mapear mutaciones de cáncer. Graphistry convierte el potencial de tus datos en información y valor humano.
Abre un issue si necesitas ponerte en contacto conmigo o envía un correo electrónico a [email protected].
| Repositorio | Descripción | Lenguaje | Propósito | ETA |
|---|
osintbuddy | La aplicación central (este repo) | Rust, TypeScript/Preact | Interfaz web y servicios backend | 2-4 meses desde alfa |
plugins | El sistema de paquetes de plugins Python en PyPi | Python | Marco de recolección de datos extensible | 2-4 meses |
entities | Las definiciones de entidades OSIB por defecto | Python | Tipos y esquemas de entidades por defecto | 4-5 meses |
# NOTA: ¡Debes ejecutar todas las terminales con el entorno virtual de Python (3.12.9) activado!
# En una terminal ejecuta:
source ./venv/bin/activate
cargo watch -q -c -w crates/api -x "run -p api"
# En otra terminal ejecuta:
source ./venv/bin/activate
cargo watch -q -c -w crates/worker -x "run -p worker"
Acceder a OSIB a través de las URLs proporcionadas para el frontend, backend y documentación:
http://localhost:55173http://localhost:48997/apihttp://localhost:55173/docs/overview