
Entity graphs, OSINT data mining, and plugins. Connect unstructured and public data for transformative insights 🌐 (Web version)
Je n'ai pas encore de données. C'est une erreur capitale de théoriser avant d'avoir des données. Insensiblement, on commence à tordre les faits pour les adapter aux théories, au lieu d'adapter les théories aux faits.
🚧 ⚠️ Travail en cours ; Pas encore prêt pour une utilisation, mais ça vient ⚠️ 🚧
Bienvenue dans le projet OSINTBuddy, où vous pouvez connecter, combiner, et obtenir des informations à partir de données non structurées et publiques sous forme de résultats qui peuvent être explorés étape par étape. Un système de plugins facile à utiliser permet à tout développeur d'intégrer rapidement de nouvelles sources de données afin que vous puissiez vous concentrer sur la découverte, l'interaction et la visualisation de ce qui est important pour vous.
Pas grand-chose, pour l'instant.
Mais voici le concept :
Une quantité presque inconcevable de données est créée chaque jour. Et chaque année, les chiffres croissent à un rythme toujours plus élevé. Ces sources de données peuvent être divisées en six catégories différentes de flux d'information :
L'OSINT est une méthode de travail, d'évaluation et de classement de l'information. Nous vivons à l'ère de l'information et le volume d'informations que la recherche OSINT doit traiter (explosion de l'information) ainsi que le problème de la faible qualité des données laissent les chercheurs submergés. La majorité de ces données sont non structurées, ce qui pose de nombreux défis pour les analyser et produire des renseignements exploitables, car la plupart des bases de données d'analyse sont conçues pour des données structurées. Nous sommes entourés d'informations et presque aucune n'est utile.
J'ai décidé d'y remédier. Les développements rapides dans des technologies telles que l'IA et l'analyse de mégadonnées ont ouvert de nouveaux horizons pour l'OSINT qui n'étaient pas disponibles auparavant. Nous voulons toutes ces informations à portée de main. Nous voulons des renseignements exploitables rapidement et concis, c'est pourquoi nous construisons un outil OSINT open source qui est un logiciel libre. Construit avec de simples technologies web que tout le monde peut apprendre. Mais ce n'est pas vraiment le projet. Cela fait trois décennies que l'internet a vu le jour et il n'a fait que refléter notre société et notre politique. Nous sommes confrontés à une série de défis importants qui menacent directement les valeurs et les processus démocratiques. La question de savoir qui possède, conçoit et contrôle la technologie n'a jamais été aussi urgente.
Quels sont les cadres techniques qui garantissent qu'une technologie est ouverte et équitable ; comment « reconfigurer » les infrastructures numériques pour servir une transformation sociale positive plutôt que des intérêts corporatifs ? Nous avons besoin de votre aide pour la concevoir, la programmer et la construire. Faites-nous part de vos suggestions, de vos idées, et nous construirons sous vos yeux. La notion d'« aiguille dans une botte de foin » est poussée à l'extrême sur internet. Construisons un aimant.
[!CAUTION]
⚠️ Logiciel expérimental (pré-alpha) ⚠️
OSINTBuddy est actuellement un logiciel expérimental. Il n'est pas tout à fait prêt pour une utilisation pour l'instant ! Si vous êtes intéressé par le développement, vous aurez besoin du service docker
pluginscloné :git clone https://github.com/osintbuddy/plugins osintbuddy-pluginsà la racine de ce dépôt.
En l'état, ce projet est plus un environnement jouet qui a été utile pour prototyper cette idée et comprendre l'espace problématique. Pour que ce projet soit vraiment réussi, nous devons finalement pouvoir l'utiliser pour faire un travail sérieux, original et créatif. C'est le test de base qui permet de savoir si nos outils fonctionnent vraiment ou s'ils ne racontent qu'une belle histoire. Quelles idées puissantes et généralisables pouvons-nous tirer de ce projet ? Comment la prochaine vague de systèmes devrait-elle s'appuyer sur cela ? Le système doit être façonné de manière à vous permettre de poser les questions que vous voulez poser.
J'ai la conviction qu'un ensemble d'opportunités est disponible aujourd'hui. Je crois qu'il est maintenant possible, sinon aujourd'hui du moins bientôt, de créer un nouveau média immersif non seulement pour le travail traditionnel d'OSINT et de recherche, mais aussi un média pour découvrir, apprendre, rechercher et parvenir à des informations exploitables dans n'importe quel contexte que vous pouvez imaginer. Un média tel que Photoshop est différent de chacun des outils individuels qu'il contient. L'éventail des possibilités dans de tels médias immersifs est stupéfiant et ces possibilités émergent des objets et actions de base de ce média.
Vous voulez aider ? Écrire et partager vos idées, avoir des discussions, et me faire savoir ce qui fonctionne et ce qui ne fonctionne pas, tout cela contribue à démarrer ce projet. C'est une façon d'identifier des points de levier qui pourraient nous aider à développer de nouveaux outils pour l'OSINT. Alors commençons, voici quelques-unes de mes idées :
.env.example en .env, ajustez les paramètres selon vos besoins.
cp .env.example .env
frontend/.env.example en frontend/.env, ajustez selon vos besoins.
cp frontend/.env.example frontend/.env
Une fois que nous aurons résolu quelques bugs supplémentaires et ajouté quelques fonctionnalités supplémentaires, nous prévoyons de mettre en place un workflow GitHub Actions pour compiler et empaqueter le frontend et les services Rust. Suivez le projet sur discord pour les dernières mises à jour :)
Cette réécriture en Rust existe parce que je me suis lassé de Python et j'ai décidé de tout réécrire pour apprendre Rust. Maintenant c'est plus rapide et ça plante moins (espérons-le).
Si vous souhaitez commencer à développer pour OSINTBuddy, créez ou prenez un problème et suivez ces étapes :
Clonez le dépôt
git clone https://github.com/osintbuddy/osintbuddy.git
cd osintbuddy
# using ssh?
# git clone [email protected]:osintbuddy/osintbuddy.git
Initialisez les entités par défaut (aka plugins) pour 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
Démarrez la stack.
docker compose up db ui
Migrez la base de données.
cargo install sqlx-cli --no-default-features --features native-tls,postgres
cargo install cargo-watch
cd crates/ && sqlx migrate run && cd ..
Exécutez OSIB
Exécutez le backend api et le worker sur votre système hôte dans des terminaux séparés :
Ctrl+C/tuez les terminaux worker et api, puis docker compose down pour nettoyer.docker compose down --volumes.Nous utilisons la GNU Affero General Public License v3.0 (AGPL) car nous voulons garantir la liberté d'utilisation, de réutilisation, de copie, de modification et de republication des modifications. Parce que la liberté ne signifie pas permissivité, elle signifie réciprocité. Si vous construisez dessus, vous redonnez. C'est ainsi que les communs restent sains. Il s'agit d'une décision technopolitique encodée dans le contrat social. Il suffit de dire ici que la licence Affero GPLv3 oblige légalement les fournisseurs de services à donner un accès direct à tout utilisateur au code informatique qui s'exécute dans une instance donnée.
Donner aux enquêteurs et aux passionnés de cybersécurité les moyens de découvrir la vérité, de lutter contre l'injustice et de créer un monde plus sûr.
Commencez par une seule piste. Clôturez des affaires 12 fois plus vite avec l'OSINT.
LinkScope vous permet de mener des enquêtes en ligne en représentant l'information sous forme de pièces discrètes de données, appelées Entités.
la première plateforme accélérée automatiquement par GPU, exploitez toutes vos données sans vous soucier de l'échelle, et pivotez à la volée pour suivre où que votre enquête vous mène. Idéal pour tout, de la sécurité, de la fraude et des enquêtes informatiques aux vues à 360° des clients et des chaînes d'approvisionnement, en passant par la cartographie des mutations du cancer, Graphistry transforme le potentiel de vos données en valeur et en compréhension humaine.
Ouvrez un problème si vous avez besoin de me contacter ou envoyez un email à [email protected].
| Dépôt | Description | Langage | Objectif | Date prévue |
|---|
osintbuddy | L'application principale (ce dépôt) | Rust, TypeScript/Preact | Interface web et services backend | 2-4 mois à partir de l'alpha |
plugins | Le système de plugins Python sur PyPi | Python | Cadre de collecte de données extensible | 2-4 mois |
entities | Les définitions d'entités OSIB par défaut | Python | Types d'entités et schémas par défaut | 4-5 mois |
# NOTE : Tous les terminaux doivent être exécutés avec l'environnement virtuel Python (3.12.9) activé !
# Dans un terminal, exécutez :
source ./venv/bin/activate
cargo watch -q -c -w crates/api -x "run -p api"
# Dans un autre terminal, exécutez :
source ./venv/bin/activate
cargo watch -q -c -w crates/worker -x "run -p worker"
Accédez à OSIB via les URL fournies pour le frontend, le backend et la documentation :
http://localhost:55173http://localhost:48997/apihttp://localhost:55173/docs/overview