
flowsint v1.2.12
Une plateforme moderne pour des enquêtes visuelles, flexibles et extensibles basées sur des graphiques. Pour les analystes et enquêteurs en cybersécurité.
Flowsint
Flowsint est un outil open-source d'exploration de graphes OSINT conçu pour l'investigation éthique, la transparence et la vérification.
Éthique : Veuillez lire ETHICS.md pour les directives d'utilisation responsable.
https://github.com/user-attachments/assets/eaabfa81-d7b3-414d-8cf7-f69b4e37bab6
https://github.com/user-attachments/assets/7457d94a-cf1d-4a97-949f-f9b1d8d92644
https://github.com/user-attachments/assets/65c3f26e-7132-4853-be45-21b8933688bd
Contribuer
Flowsint est encore en début de développement et a définitivement besoin de l'aide de la communauté ! N'hésitez pas à signaler des problèmes, proposer des fonctionnalités, etc.
Pour commencer
Pas envie de lire ? Compris. Voici vos instructions d'installation :
Linux / macOS
1. Installer les prérequis
- Docker
- Make
2. Exécuter la commande d'installation
git clone https://github.com/reconurge/flowsint.git
cd flowsint
make prod
Windows
Pas besoin de Make. Fonctionne dans Invite de commandes (cmd) et PowerShell.
1. Installer les prérequis
- Docker Desktop (assurez-vous qu'il est en cours d'exécution avant l'étape suivante)
- Git
2. Cloner et configurer les fichiers d'environnement
git clone https://github.com/reconurge/flowsint.git
cd flowsint
copy .env.example .env
copy .env.example flowsint-api\.env
copy .env.example flowsint-core\.env
copy .env.example flowsint-app\.env
3. Démarrer
docker compose -f docker-compose.prod.yml up -d
Cela récupère les images pré-construites depuis le GitHub Container Registry — aucune compilation locale nécessaire.
Première connexion
Ensuite, allez sur http://localhost:5173/register et créez un compte. Il n'y a aucun identifiant ou compte par défaut.
✅ Les investigations OSINT nécessitent un haut niveau de confidentialité. Tout est stocké sur votre machine.
Déploiement sur un réseau (équipe / serveur)
La même configuration fonctionne directement sur un serveur : le frontend sert l'interface et fait office de proxy pour tous les appels API en interne, donc aucune configuration supplémentaire n'est nécessaire pour les clients.
git clone https://github.com/reconurge/flowsint.git
cd flowsint
cp .env.example .env
# Modifiez .env — voir « Avant l'exposition sur un réseau » ci-dessous
docker compose -f docker-compose.prod.yml up -d
Toute personne sur le réseau peut alors accéder à Flowsint à l'adresse http://<ip-du-serveur>:5173.
Avant l'exposition sur un réseau, modifiez les secrets par défaut dans .env :
AUTH_SECRET— signe les jetons d'authentification. Générez-en un :openssl rand -hex 32MASTER_VAULT_KEY_V1— chiffre les clés API stockées. Générez-en une :python3 -c "import os, base64; print('base64:' + base64.b64encode(os.urandom(32)).decode())"NEO4J_PASSWORD— mot de passe de la base de données Neo4j.
Ajoutez également le nom d'hôte/IP de votre serveur à la liste blanche des en-têtes Host dans flowsint-app/nginx.conf (cherchez map $http_host $is_flowsint_host). La liste blanche par défaut n'accepte que localhost / 127.0.0.1 / [::1], ce qui protège les installations mono-utilisateur contre le DNS rebinding ; les déploiements LAN et publics doivent ajouter leur propre nom d'hôte. Deux lignes de modèle commentées dans le même bloc map montrent le format.
Seul le port 5173 est exposé au réseau. PostgreSQL, Redis, Neo4j et l'API sont liés à 127.0.0.1 sur le serveur et ne sont accessibles que via le proxy du frontend.
Pour épingler une version spécifique au lieu de latest, définissez FLOWSINT_VERSION dans .env (par ex. FLOWSINT_VERSION=1.2.10).
HTTPS (recommandé au-delà d'un LAN de confiance) : placez un reverse proxy devant le port 5173. Exemple avec Caddy :
flowsint.example.com {
reverse_proxy 127.0.0.1:5173
}
Lors de l'utilisation d'un reverse proxy, liez également le port de l'application à localhost dans docker-compose.prod.yml ("127.0.0.1:5173:8080") afin que les clients ne puissent passer que par HTTPS.
Qu'est-ce que c'est ?
Flowsint est un outil d'investigation basé sur des graphes, axé sur la reconnaissance et l'OSINT (Open Source Intelligence). Il vous permet d'explorer les relations entre entités via une interface graphique visuelle et des enrichisseurs automatisés.
Enrichisseurs disponibles
Enrichisseurs de domaines
- Résolution DNS inverse - Trouver les domaines pointant vers une IP
- Résolution DNS - Résoudre un domaine en adresses IP
- Découverte de sous-domaines - Énumérer les sous-domaines
- Recherche WHOIS - Obtenir les informations d'enregistrement du domaine
- Domaine vers site web - Convertir un domaine en entité site web
- Domaine vers domaine racine - Extraire le domaine racine
- Domaine vers ASN - Trouver l'ASN associé au domaine
- Historique du domaine - Récupérer les données historiques du domaine
Enrichisseurs d'IP
- Informations IP - Obtenir la géolocalisation et les détails réseau
- IP vers ASN - Trouver l'ASN pour une adresse IP
Enrichisseurs d'ASN
- ASN vers CIDRs - Obtenir les plages IP pour un ASN
Enrichisseurs de CIDR
- CIDR vers IPs - Énumérer les IP dans une plage
Enrichisseurs de réseaux sociaux
- Maigret - Recherche de nom d'utilisateur sur les plateformes sociales
Enrichisseurs d'organisations
- Organisation vers ASN - Trouver les ASN appartenant à une organisation
- Informations sur l'organisation - Obtenir les détails de l'entreprise
- Organisation vers domaines - Trouver les domaines appartenant à une organisation
Enrichisseurs de cryptomonnaies
- Portefeuille vers transactions - Obtenir l'historique des transactions
- Portefeuille vers NFT - Trouver les NFT détenus par le portefeuille
Enrichisseurs de sites web
- Crawler de site web - Explorer et cartographier la structure du site
- Site web vers liens - Extraire tous les liens
- Site web vers domaine - Extraire le domaine de l'URL
- Site web vers traceurs web - Identifier les scripts de suivi
- Site web vers texte - Extraire le contenu textuel
Enrichisseurs d'e-mails
- E-mail vers Gravatar - Trouver le profil Gravatar
- E-mail vers fuites - Vérifier les bases de données de fuites de données
- E-mail vers domaines - Trouver les domaines associés
Enrichisseurs de téléphones
- Téléphone vers fuites - Vérifier le numéro de téléphone dans les fuites
Enrichisseurs d'individus
- Individu vers organisation - Trouver les affiliations organisationnelles
- Individu vers domaines - Trouver les domaines associés à une personne
Enrichisseurs d'intégration
- Connecteur N8n - Se connecter aux workflows N8n
Structure du projet
Le projet est organisé en modules autonomes :
Modules principaux
- flowsint-core : Utilitaires de base, orchestrateur, coffre-fort, tâches celery et classes de base
- flowsint-types : Modèles Pydantic et définitions de types
- flowsint-enrichers : Modules d'enrichissement, logique de scan et outils
- flowsint-api : Serveur FastAPI, routes API et schémas uniquement
- flowsint-app : Application frontend
Dépendances entre modules
flowsint-app (frontend)
↓
flowsint-api (serveur API)
↓
flowsint-core (orchestrateur, tâches, coffre-fort)
↓
flowsint-enrichers (enrichisseurs & outils)
↓
flowsint-types (types)
Configuration de développement
Prérequis
- Docker
Exécution
Linux / macOS (nécessite Make) :
make dev
Windows (cmd ou PowerShell, sans Make — créez d'abord les fichiers .env, voir Pour commencer) :
docker compose -f docker-compose.dev.yml up -d --build
docker compose -f docker-compose.dev.yml logs -f
Développement
L'application est accessible à http://localhost:5173.
Détails des modules
flowsint-core
Utilitaires de base et classes de base utilisés par tous les autres modules :
- Connexions aux bases de données (PostgreSQL, Neo4j)
- Authentification et autorisation
- Journalisation et gestion des événements
- Gestion de la configuration
- Classes de base pour les enrichisseurs et les outils
- Fonctions utilitaires
flowsint-types
Modèles Pydantic pour tous les types de données :
- Domaine, IP, ASN, CIDR
- Individu, Organisation, E-mail, Téléphone
- Site web, profils sociaux, identifiants
- Portefeuilles crypto, transactions, NFT
- Et bien d'autres...
flowsint-enrichers
Modules d'enrichissement qui traitent les données :
- Enrichisseurs de domaines (sous-domaines, WHOIS, résolution)
- Enrichisseurs d'IP (géolocalisation, recherche ASN)
- Enrichisseurs de réseaux sociaux (Maigret, Sherlock)
- Enrichisseurs d'e-mails (fuites, Gravatar)
- Enrichisseurs crypto (transactions, NFT)
- Et bien d'autres...
flowsint-api
Serveur FastAPI fournissant :
- Points de terminaison API REST
- Authentification et gestion des utilisateurs
- Intégration de la base de données de graphes
- Diffusion d'événements en temps réel
flowsint-app
Application frontend.
- Interface moderne et conviviale
- Conçue pour la performance (aucun décalage même avec des milliers de nœuds)
Flux de travail de développement
- Ajout de nouveaux types : Ajouter au module
flowsint-types - Ajout de nouveaux enrichisseurs : Ajouter au module
flowsint-enrichers - Ajout de nouveaux points de terminaison API : Ajouter au module
flowsint-api - Ajout de nouvelles utilitaires : Ajouter au module
flowsint-core
Tests
Chaque module possède sa propre suite de tests (incomplète) :
# Tester le module core
cd flowsint-core
uv run pytest
# Tester le module types
cd ../flowsint-types
uv run pytest
# Tester le module enrichers
cd ../flowsint-enrichers
uv run pytest
# Tester le module API
cd ../flowsint-api
uv run pytest
Contribuer
- Suivre la structure modulaire
- Utiliser uv pour la gestion des dépendances
- Écrire des tests pour les nouvelles fonctionnalités
- Mettre à jour la documentation si nécessaire
- Voir CONTRIBUTING.md pour les vérifications à effectuer avant de committer
⚖️ Utilisation légale et éthique
Éthique : Veuillez lire ETHICS.md pour les directives d'utilisation responsable.
Flowsint est conçu strictement pour l'investigation et la recherche légales et éthiques.
Il a été créé pour aider :
- Les chercheurs et analystes en cybersécurité
- Les journalistes et enquêteurs OSINT
- Les équipes de forces de l'ordre ou d'enquête sur la fraude
- Les organisations menant des analyses internes de renseignement sur les menaces ou de risques numériques
Flowsint ne doit pas être utilisé pour :
- L'intrusion, la surveillance ou la collecte de données non autorisées
- Le harcèlement, le doxxing ou le ciblage d'individus
- La manipulation politique, la désinformation ou la violation des lois sur la vie privée
Toute utilisation abusive de ce logiciel est strictement interdite et va à l'encontre des principes éthiques définis dans ETHICS.md.